Showing posts with label mathematics. Show all posts
Showing posts with label mathematics. Show all posts

Wednesday, 1 September 2010

Adjoint

Τον τελευταίο καιρό ασχολούμαι συνέχεια με adjoint equations (εξισώσεις) και adjoint variables (μεταβλητές) αλλά μου λείπει η ελληνική μετάφραση. Υποψιάζομαι τη λέξη "συζηγής" αλλά δεν είμαι σίγουρος.

Αλλά ας πάρω τα πράγματα από την αρχή. Για πρώτη συνάντησα τους adjoint πίνακες στο πρώτο έτος στο πανεπιστήμιο (ή μήπως ήταν στη Γ' λυκείου;) Τώρα μιλάμε και για adjoint τελεστές. Στα προβλήματα αυτόματου ελέγχου (είτε κανονικών ή μερικών διαφορικών εξισώσεων) υπάρχει η αντικειμενική συνάρτηση και η εξίσωση ως περιορισμός. Αν πολλαπλασιαστεί ο περιορισμός με μία νέα (άγνωστη προς το παρόν) μεταβλητη και το γινόμενο προστεθεί στην αντικειμενική συνάρτηση τότε παίρνουμε την Lagrange-ιανή του συστήματος. Η μερική παράγωγος της Lagrang-ιανής ως πρός τη μεταβλητή κατάστασης (state variable) δίνει την adjoint εξίσωση, ενώ η μερική παράγωγος της Lagrang-ιανής ως πρός την adjoint μεταβλητη δίνει την αρχική εξίσωση.

Αναρωτιέμαι αν υπάρχει κανένα βιβλίο στα ελληνικά που να εξηγεί αυτά τα μαθηματικά. Και αν υπήρχε, θα έβρισκε αναγνωστικό κοινό; Θα άξιζε τον κόπο μια τέτοια προσπάθεια; Όπως και να έχει είναι κι αυτό ένα από τα μελλοντικά μου πλάνα.

Ενα βιβλίο (στα γερμανικά) που θα πρότεινα για βέλτιστο έλεγχο μερικών διαφορικών εξισώσεων είναι το Optimale Steuerung partieller Differentialgleichungen του Fredi Tröltzsch, εκδόσεις Vieweg.

Friday, 26 June 2009

Maxima

To Maxima είναι ένα σύστημα υπολογιστικής άλγεβρας (computer algebra system) για την επεξεργασία συμβολικών και αριθμητικών εκφράσεων. Συμπεριλαμβάνει παραγώγιση, ολοκλήρωση, σειρές Taylor, μετασχηματισμοί Laplace, κανονικές διαφορικές εξισώσεις, συστήματα γραμμικών εξισώσεων, πολυώνυμα καθώς και σύνολα, διανύσματα, πίνακες και τανυστές.Το Maxima προσφέρει υψηλής ακρίβειας αριθμητικά αποτελέσματα χρησιμοποιώντας ακριβή κλάσματα, μεταβλητής ακρίβειας ακεραίους και μεταβλητής ακρίβειας πραγματικούς αριθμούς. Έχει τη δυνατότητα σχεδιασμού συναρτήσεων και δεδομένων σε δύο και τρεις διαστάσεις.

Το πρόγραμμα Maxima είναι τώρα πλέον ελεύθερο λογισμικό υπό την άδεια GNU GPL ενώ κατάγεται από το Macsyma, το θρυλικό σύστημα υπολογιστικής άλγεβρας που αναπτύχθηκε στα τέλη του 1960 στο πανεπιστήμιο της Μassachussetts.

Οι δυνατότητες του Maxima είναι απεριόριστες και εδώ θα περιοριστούμε στην παρουσίαση μερικών μόνο. Η γραμμή εντολών του χωρίζεται σε inputs και outputs, οπότε γράφοντας 9+7; θα πάρουμε ως αποτέλεσμα 16 (τo ; στο τέλος είναι απαραίτητο κατάλοιπο από τη C). Τίποτε το συνταρακτικό. Αν όμως δώσουμε 2/6; θα μας επιστρέψει 1/3, θα απλοποιήσει δηλαδή το κλάσμα χωρίς να υπολογίσει την προσέγγισή του. Αν θέλουμε ένα ρητό αριθμό ως προσέγγιση τότε θα πρέπει να γράψουμε float(1/3); για να πάρουμε το αποτέλεσμα 0.333333333333. Αλλά ας περάσουμε σε κάτι πιο θεαματικό. Ας υποθέσουμε ότι χρειαζόμαστε να αναπτύξουμε τον αριθμό 30! (30 παραγοντικό είναι 1*2*3*...*28*29*30) σε γινόμενο πρώτων παραγόντων, τότε γράφοντας factor(30!); παίρνουμε ως αποτέλεσμα 2^26*3^14*5^7*7^4*11^2*13^2*17*19*23*29. Φυσικά με τον ίδιο τρόπο μπορούμε να παραγοντοποιήσουμε πολυώνυμα factor(x^2 + x -6); για να δούμε (x-2)(x+3).

H επίλυση εξισώσεων γίνεται το ίδιο εύκολα solve(x^2-4,x); Το δεύτερο όρισμα, x, δηλώνει ως προς ποια μεταβλητή θα πρέπει να λυθεί η εξίσωση. Η παραγώγιση πραγματοποιείται με τη συνάρτηση diff(sin(x), x); Πάλι το δεύτερο όρισμα δηλώνει ως προς ποιά μεταβλητή πρέπει να παραγωγηθεί η δεδομένη συνάρτηση. Παρόμοια λειτουργεί και η αόριστη ολοκλήρωση integrate(1/x,x); και η ορισμένη ολοκλήρωση integrate(x+2/(x-3), x, 0, 1); H ανάπτυξη μιας συνάρτησης σε σειρά Taylor γίνεται με δύο τρόπους: niceindices(powerseries(%e^x, x, 0)); ή taylor(%e^x, x, 0, 5); Το όρισμα 0 δηλώνει σε ποιο σημείο να υπολογισθεί η σειρά ενώ στο δεύτερο τρόπο το όρισμα 5 δηλώνει πόσους όρους να δείξει στο αποτέλεσμα.

Φυσικά ένα τέτοιο πρόγραμμα θα ήταν ελλειπές αν δεν είχε δυνατότητες σχεδιασμού. Χρησιμοποιεί το πρόγραμμα gnuplot για το σχεδιασμό. Οι συναρτήσεις plot2d και plot3d δίνουν αυτή τη δυνατότητα. Tα αποτελέσματα των εντολών plot2d([x^2, x^3, x^4-x+1], [x,-10,10]);


και f(x,y):= sin(x) + cos(y); plot3d(f(x,y), [x,-5,5], [y,-5,5]); δίνουν τα αντίστοιχα διδιάστατα και τριδιάστατα γραφήματα. Στη δεύτερη περίπτωση ορίσαμε προηγουμένως μια νέα συνάρτηση χρησιμοποιώντας τον τελεστή := για να αποφύγουμε μια μακροσκελή εντολή.



To πρόγραμμα είναι γραμμένο σε Common Lisp και περιλαμβάνει μια πλήρη γλώσσα προγραμματισμού και σύνταξη παρόμοια με την ALGOL. Mπορεί να προσπελαστεί προγραμματιστικά και να επεκταθεί καθώς η υποκείμενη Lisp μπορεί να κληθεί μέσα από το Maxima. Μία άλλη πολύ ενδιαφέρουσα δυνατότητα του Maxima είναι η δημιουργία κώδικα για compiled γλώσσες προγραμματισμού όπως η FORTRAN.

Εγκαθίσταται πολύ απλά από τη γραμμή εντολών με sudo apt-get install maxima ή από το μενού Εφαρμογές > Προσθαφαίρεση Προγραμμάτων. Πρόσθετα πακέτα που μπορούν να φανούν χρήσιμα είναι τα maxima-doc, maxima-emacs, kayali (ένα GUI γραμμένο σε Qt), xmaxima (ένα GUI γραμμένο σε tcl/tk). Περισσότερες λεπτομέρειες μπορούν να βρεθούν στην ιστοσελίδα http://maxima.sourceforge.net/

Tuesday, 28 April 2009

Αυτόματος έλεγχος

Στον αυτόματο έλεγχο (control) έχουμε ένα δυναμικό σύστημα (κανονική διαφορική εξίσωση) και προσπαθούμε να ελέγξουμε τις παραμέτρους του συστήματος ώστε να μας δώσει το επιθυμητό αποτέλεσμα. Με την ίδια λογική μπορούμε να επεκτείνουμε την έννοια του ελέγχου και σε μερικές διαφορικές εξισώσεις, αν και σε αυτή την περίπτωση μιλάμε για βελτιστοποίηση (optimization) πλέον και όχι για έλεγχο. Oι εφαρμογές της βελτιστοποίησης μερικών διαφορικών εξισώσεων ποικίλουν από τη ρευστομηχανική και τις κατασκευές μέχρι τον ηλεκτρομαγνητισμό και γενικότερα όλα τα φαινόμενα που μπορούν να περιγραφούν με μερικές διαφορικές εξισώσεις.

Τόσο η θεωρία του αυτόματου ελέγχου όσο και η βελτιστοποίηση μερικών διαφορικών εξισώσεων μπορεί να εφαρμοστεί σε plc για τον έλεγχο και βελτιστοποίηση σε πραγματικό χρόνο παραγωγικών διεργασίων.

Thursday, 22 January 2009

Η θεωρία της σημειωτικής

Σύμφωνα με τη θεωρία της σημειωτικής (από τον Peirce μέχρι και τον Eco) σε ένα κείμενο μπορεί να υπάρχουν περισσότερες από μία ερμηνείες. Αλλά τι συμβαίνει με ένα μαθηματικό κείμενο; Mπορεί για ένα μαθηματικό κείμενο να υπάρχουν περισσότερες από μία ερμηνείες. Τι σημαίνει αυτό και πώς είναι δυνατό; Συνήθως οι μαθηματικοί τύποι είναι δύσκολο να παρερμηνευθούν αλλά υπάρχουν παραδείγματα που δείχνουν ακριβώς αυτό. Για παράδειγμα όταν ο Shannon ζήτηση τη συμβουλή του Neumann για το πως να ονομάσει ένα μέγεθος (αυτό που τώρα ονομάζουμε εντροπία Shannon) ο Neumann του πρότεινε την έννοια της εντροπίας, πιστεύοντας ότι είναι η ίδια με αυτή που ήξερε αυτός από την κβαντομηχανική. Παρ'όλαυτα οι δύο έννοιες δεν είναι ταυτόσημες και ανάλογα σε ποιο πλαίσιο τη συναντάμε οφείλουμε να την ερμηνεύουμε διαφορετικά.

Friday, 9 January 2009

Αξιωματική θεμελίωση της φυσικής

Το έκτο πρόβλημα του Hilbert είναι η αξιωματική θεμελίωση όλης της φυσικής. Ο Ευκλείδης ήταν ο πρώτος ίσως που ξεκίνησε ένα τέτοιο έργο με την αξιωματική θεμελίωση της γεωμετρίας, γνωστής τώρα ώς ευκλείδειος γεωμετρίας. Αρχικά θέτονται τα αξιώματα του συστήματος το οποίο πρόκειται να αναλυθεί και έπειτα με λογικά επιχειρήματα παράγονται όλα τα υπόλοιπα θεωρήματα. Το ίδιο έκανε και η ομάδα των γάλλων μαθηματικών Bourbaki με τα Στοιχεία των Μαθηματικών για όλα τα πεδία των θεωρητικών μαθηματικών, τα οποία περιλαμβάνουν:
1. Θεωρία συνόλων
2. Άλγεβρα
3. Τοπολογία
4. Συναρτήσεις μίας πραγματικής μεταβλητής
5. Τοπολογικοί διανυσματικοί χώροι
6. Ολοκλήρωση
7. Αντιμεταθετική άλγεβρα
8. Ομάδες Lie
9. Φασματική θεωρία

Στο πεδίο της φυσικής υπάρχει τo έργο των Landau και Lifschitz που καλύπτει τα εξής θέματα:
1. Μηχανική
2. Κλασσική θεωρία πεδίων
3. Κβαντομηχανική: Μη σχετικιστική θεωρία
4. Κβαντική ηλεκτροδυναμική
5. Στατιστική φυσική Ι
6. Ρευστομηχανική
7. Θεωρία της ελαστικότητας
8. Ηλεκτροδυναμική των συνεχών μέσων
9. Στατιστική φυσική ΙΙ
10. Φυσική κινητική

Στο παρόν θα καλύψουμε μόνο τα θέματα της μηχανικής και θεωρίας της ελαστικότητας, ρευστομηχανικής, στατιστικής μηχανικής και φυσικής κινητικής. Η θεωρία πεδίων, η κβαντομηχανική και η ηλεκτροδυναμική δε θα περιληφθούν.

Η μεγαλύτερη δυσκολία σε μία τέτοια προσπάθεια προέρχεται από τη δυσκολία απόδειξης για την ύπαρξη ή μη λύσεως στις εξισώσεις Navier-Stokes.

Ο τρόπος με τον οποίο θα ακολουθήσει η ανάλυση είναι να τεθούν αξιώματα, τα οποία πηγάζουν από τη μέχρι τώρα εμπειρία και γνώση του φυσικού κόσμου, και μετά με βάση τα μαθηματικά και τη λογική να εξαχθούν όλοι οι υπόλοιποι φυσικοί νόμοι. Η ερώτηση που τίθεται είναι πως θα επιλεγούν τα αξιώματα, πόσα θα είναι και τι θα περιλαμβάνουν.

Thursday, 11 December 2008

Aλγόριθμος RSA

Ένας αλγοριθμος κρυπτογράφησης που χρησιμοποιείται στο ssh είναι ο rsa. Γι'αυτό θα προσπαθήσω να εξηγήσω πως λειτουργεί αυτός ο αλγόριθμος. Καταρχήν ας δούμε πως λειτουργεί η δημιουργία κλειδιού (η εντολή είναι ssh-keygen)

Αρχικά χρειαζόμαστε δύο μεγάλους πρώτους αριθμούς. Πρώτοι δηλαδή να διαιρούνται μόνο με τον εαυτό τους και τη μονάδα. Μεγάλοι για να είναι πιο δύσκολη η αποκρυπτογράφηση. Στο παράδειγμα όμως θα περιοριστούμε με μικρούς για να διευκολύνουμε τις πράξεις. Ας υποθέσουμε ότι έχουμε τους αριθμούς p = 19 και q = 7. Και οι δύο διαιρούνται μόνο με τον εαυτό τους και το 1.

Έπειτα υπολογίζουμε το γινόμενό τους n = p q = 19 * 7 = 133, o οποίος φυσικά δεν είναι πρώτος γιατί είναι το γινόμενο δύο άλλων αριθμών.

Το τρίτο βήμα είναι να υπολογίσουμε το γινόμενο φ(n) = (p-1)(q-1) = (19-1)*(7-1) = 18 * 6 = 108.

Μετά πρέπει να επιλέξουμε έναν αριθμό e, τέτοιο ώστε να είναι μεγαλύτερος του 1 και μικρότερος του φ(n) =108. Δηλαδή 1 < e < φ(n). Επιπλέον δεν πρέπει να έχει κοινά πολλαπλάσια με τον φ(n), δηλαδή με το 108. Γι'αυτό πρέπει να αναλύσουμε τον 108 στα πολλαπλάσιά του, 108 = 2 * 2 *3 * 3* 3. Άρα ο e δε μπορεί να είναι 2, 3, 4, 6, 12, 18, 27, 36, 54, 108 (ελπίζω να βρήκα όλους τους συνδυασμούς, αν κάνω λάθος διορθώστε με). Ας διαλέξουμε το 5 για να είμαστε σίγουροι. Το ε = 5 είναι το δημόσιο κλειδί (public key) που αποθηκεύεται ώς ~/.ssh/id_rsa.pub.

Tέλος, ψάχνουμε για έναν αριθμό d, τέτοιος ώστε αν πολλαπλασιάσουμε το d με το e και μετά διαιρέσουμε με το φ(n) το υπόλοιπο της διαίρεσης να είναι 1. Ένας τέτοιος αριθμός είναι το 65, γιατί 65*5=325 = 1 + 3*108 που αφήνει υπόλοιπο 1. Ο αριθμός d = 65 είναι το ιδιωτικό κλειδί (private key) που αποθηκεύεται ως ~/.ssh/id_rsa.

Tuesday, 4 November 2008

Διαφορές αθροισμάτων

Να βρεθούν δύο διαδοχικοί αριθμοί των οποίων το άθροισμα των ψηφίων τους να έχουν διαφορά 17.

Wednesday, 13 August 2008

Απλή ρίζα

Ο αριθμός 11.111.112.222.222 - 3.333.333 είναι τέλειο τετράγωνο. Βρείτε την τετραγωνική του ρίζα. Χωρίς υπολογιστή τσέπης ή γενικότερα υπολογιστή.

Διόφαντος, βιβλίο 1, πρόβλημα 1

Πρόβλημα: Δοθείς αριθμός να μεριστεί σε δύο αριθμούς με δοθείσα διαφορά.

Λύση: Έστω πως ο δοθείς αριθμός είναι εκατό και η δοθείσα διαφορά σαράντα μονάδες. Να βρεθούν οι δύοι αριθμοί.
Έστω πως ο μικρότερος είναι ο αριθμός, τότε ο μεγαλύτερος θα είναι ένας αριθμός συν σαράντα μονάδες, το άθροισμά τους είναι ίσο προς εκατό μονάδες, άρα εκατό μονάδες είναι ίσες προς δύο αριθμούς συν σαράντα μονάδες. Από όμοια μπορώ να αφαιρέσω όμοια, οπότε αφαιρώ και από τα δύο μέλη σαράντα μονάδες. Απομένουν δύο αριθμοί ίσοι προς εξήντα μονάδες, άρα ο αριθμός είναι τριάντα. Επομένως ο μικρότερος θα είναι τριάντα μονάδες και ο μεγαλύτερος εβδομήντα, η απόδειξη είναι φανερή.