Μετάβαση στο περιεχόμενο

Θεώρημα του Βίνσεντ: Διαφορά μεταξύ των αναθεωρήσεων

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Mikoumis (συζήτηση | συνεισφορές)
Νέα σελίδα: Στα μαθηματικά, το '''θεώρημα του Βίνσεντ''' — το οποίο πήρε το όνομά του από τον Alexandre Joseph Hidulphe Vince...
(Καμία διαφορά)

Έκδοση από την 06:33, 18 Δεκεμβρίου 2014

Στα μαθηματικά, το θεώρημα του Βίνσεντ — το οποίο πήρε το όνομά του από τον Alexandre Joseph Hidulphe Vincent — είναι ένα θεώρημα το οποίο απομονώνει τις πραγματικές ρίζες πολυωνύμων με λογικούς συντελεστές.

Παρ’ όλο που το θεώρημα αυτό αποτελεί τη βάση για την ταχύτερη μέθοδο απομόνωσης πραγματικών ριζών πολυωνύμων, ξεχάστηκε σχεδόν τελείως, επισκιαζόμενο από το θεώρημα του Στουρμ (Sturm), με αποτέλεσμα να μην εμφανίζεται σε κανένα από τα σχετιζόμενα με τη θεωρία εξισώσεων κλασσικά βιβλία του 20ου αιώνα, εκτός από το βιβλίο του Ουσπένσκι (Uspensky). Συγκεκριμένα, παρουσιάζονται δύο παραλλαγές του θεωρήματος αυτού (συνεχών κλασμάτων και διχοτόμησης), μαζί με διάφορες μεθόδους απομόνωσης πραγματικών ριζών που προέρχονται από τις παραλλαγές αυτές.

Εναλλαγή προσήμου

Έστω ότι c0, c1, c2, ... είναι μια πεπερασμένη ή μη πεπερασμένη ακολουθία πραγματικών αριθμών. Υποθέστε ότι l < r και ότι ισχύουν οι ακόλουθες συνθήκες:
  1. Αν r = l+1, τότε οι αριθμοί cl και cr έχουν αντίθετα πρόσημα.
  2. Αν rl+2, τότε οι αριθμοί cl+1, ..., cr−1 είναι όλοι μηδέν και οι αριθμοί cl και cr έχουν αντίθετα πρόσημα.
Έτσι ορίζεται η εναλλαγή προσήμου μεταξύ των αριθμών cl και cr.
Ο αριθμός των εναλλαγών προσήμου ενός πολυωνύμου p(x) μιας μεταβλητής ορίζεται ως ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του.

Στη συνέχεια παρουσιάζονται δύο εκδοχές του θεωρήματος αυτού: των συνεχών κλασμάτων του Βίνσεντ[1][2] και της διχοτόμησης των Αλεσίνα (Alesina) και Γκαλούτσι (Galuzzi).[3][4]

Η εκδοχή των συνεχών κλασμάτων μπορεί να βρεθεί επίσης στο άρθρο της Βικιπαίδεια Θεώρημα του Μπουντάν.

Θεώρημα (συνεχών κλασμάτων) του Βίνσεντ (1834 και 1836)

Εάν σε μια πολυωνυμική εξίσωση με λογικούς συντελεστές και χωρίς πολλαπλές ρίζες επιτευχθούν διαδοχικοί μετασχηματισμοί της μορφής

όπου είναι οποιοδήποτε θετικοί αριθμοί μεγαλύτεροι ή ίσοι της μονάδας, τότε μετά από έναν αριθμό τέτοιων μετασχηματισμών, η προκύπτουσα μετασχηματισμένη εξίσωση έχει είτε μηδενικές εναλλαγές προσήμου είτε μία και μοναδική. Στην πρώτη περίπτωση δεν υπάρχει ρίζα ενώ στη δεύτερη περίπτωση υπάρχει μία πραγματική θετική ρίζα. Επιπλέον, η αντίστοιχη ρίζα της προτεινόμενης εξίσωσης προσεγγίζεται από το πεπερασμένο συνεχές κλάσμα:[1][2][5]

Επίσης, εάν μπορούν να βρεθούν άπειρα πολλοί αριθμοί που ικανοποιούν αυτή την ιδιότητα, τότε η ρίζα αναπαριστάται από το αντίστοιχο (άπειρο) συνεχές κλάσμα.

Η παραπάνω δήλωση αποτελεί μια πιστή μετάφραση του θεωρήματος που βρέθηκε στα πρωτότυπα έγγραφα του Βίνσεντ.[1][2][5] Ωστόσο, οι παρακάτω παρατηρήσεις είναι απαραίτητες για την πλήρη κατανόηση του θεωρήματος:

  • Αν η δηλώνει το πολυώνυμο που λαμβάνεται μετά από n αντικαταστάσεις (και αφού αφαιρεθεί ο παρονομαστής), τότε υπάρχει N τέτοιο ώστε για κάθε είτε η να μην εμφανίζει εναλλαγή προσήμου είτε να εμφανίζει μία ακριβώς. Στη δεύτερη περίπτωση, η έχει μία πραγματική θετική ρίζα για κάθε .
  • Το συνεχές κλάσμα αναπαριστά μια θετική ρίζα της αρχικής εξίσωσης, αν και η αρχική εξίσωση μπορεί να έχει παραπάνω από μία ρίζες. Επιπλέον, υποθέτοντας ότι , μπορούμε να λάβουμε μόνο μία ρίζα από την αρχική εξίσωση που να είναι μεγαλύτερη του ένα. Για να λάβουμε μία τυχαία θετική ρίζα πρέπει να θεωρήσουμε ότι .
  • Αρνητικές ρίζες λαμβάνονται αντικαθιστώντας το x με το −x, στην οποία περίπτωση οι αρνητικές ρίζες γίνονται θετικές.

Θεώρημα του Βίνσεντ: η παραλλαγή (διχοτόμησης) των Αλεσίνα και Γκαλούτσι (2000)

Έστω ότι p(x) ένα πραγματικό πολυώνυμο βαθμού deg(p) το οποίο έχει μόνο απλές ρίζες. Είναι δυνατό να καθορίσουμε μια θετική ποσότητα δ, τέτοια ώστε για κάθε ζεύγος θετικών πραγματικών αριθμών a, b με , κάθε μετασχηματισμένο πολυώνυμο της μορφής

 

 

 

 

(1)

να έχει ακριβώς 0 ή 1 εναλλαγές προσήμου. Η δεύτερη περίπτωση είναι δυνατή αν το πολυώνυμο p(x) έχει μία μοναδική ρίζα στο διάστημα (a, b).

Η "a_b εξέταση ριζών" των Αλεσίνα και Γκαλούτσι

Από την εξίσωση (1) λαμβάνουμε το ακόλουθο κριτήριο για να καθορίσουμε εάν ένα πολυώνυμο έχει ρίζες στο διάστημα (a, b):

Εφάρμοσε στο πολυώνυμο p(x) την αντικατάσταση

και υπολόγισε τον αριθμό των εναλλαγών προσήμου στην ακολουθία των συντελεστών του μετασχηματισμένου πολυωνύμου. Αυτός ο αριθμός δίνει ένα άνω όριο στον αριθμό των πραγματικών ριζών που έχει το πολυώνυμο p(x) μέσα στο ανοιχτό διάστημα (a, b). Πιο συγκεκριμένα, ο αριθμός ρab(p) των πραγματικών ριζών στο ανοιχτό διάστημα (a, b) — λαμβάνοντας υπ’ όψιν και τις πολλαπλότητες — του πολυωνύμου p(x) στο R[x], βαθμού deg(p), οριοθετείται από τον αριθμό των εναλλαγών προσήμου varab(p), όπου

Όπως και στην περίπτωση του κανόνα προσήμων του Ντεκάρτ αν varab(p) = 0 τότε ρab(p) = 0 και αν varab(p) = 1 τότε ρab(p) = 1.

Μια ειδική περίπτωση της "a_b εξέταση ριζών" των Αλεσίνα (Alesina) και Γκαλούτσι (Galuzzi) είναι η "0_1 εξέταση ριζών" του Μπουντάν (Budan).

Το σκίτσο μιας απόδειξης

Μια λεπτομερής περιγραφή του θεωρήματος του Βίνσεντ, των επεκτάσεών του, της γεωμετρικής ερμηνείας των μετασχηματισμών που περιλαμβάνει και τρεις διαφορετικές αποδείξεις του μπορούν να βρεθούν στο έργο των Αλεσίνα (Alesina) και Γκαλούτσι (Galuzzi).[3][4] Μια τέταρτη απόδειξη οφείλεται στον Οστρόφσκι (Ostrowski),[6] ο οποίος το 1950 (ξανά) ανακάλυψε μια ειδική περίπτωση ενός θεωρήματος που είχε εμφανιστεί πρώτη φορά το 1920-1923 από τον Ομπρέσκοφ (Obreschkoff)[7] (σελ. 81).

Για να αποδείξουν και τις δύο παραλλαγές του θεωρήματος του Βίνσεντ οι Αλεσίνα (Alesina) και Γκαλούτσι (Galuzzi) έδειξαν ότι μετά από μια σειρά μετασχηματισμών, οι οποίοι αναφέρονται στο θεώρημα, ένα πολυώνυμο με μια θετική ρίζα έχει τελικά μία εναλλαγή προσήμου. Για να το δείξουν αυτό, χρησιμοποιούν το ακόλουθο πόρισμα του θεωρήματος που αναφέρθηκε προηγουμένως (Ομπρέσκοφ, 1920-1923). Το ακόλουθο πόρισμα, δηλαδή, δίνει τις απαραίτητες προϋποθέσεις κάτω από τις οποίες ένα πολυώνυμο με μια θετική ρίζα έχει ακριβώς μία εναλλαγή προσήμου στην ακολουθία των συντελεστών του. Δείτε επίσης την αντίστοιχη εικόνα.

Πόρισμα. (το θεώρημα του κώνου ή τομέα του Ομπρέσκοφ, 1920-1923[7] σελ. 81): Αν ένα πραγματικό πολυώνυμο έχει μία απλή ρίζα x0 και όλες οι άλλες (πιθανόν πολλαπλές) ρίζες βρίσκονται στον τομέα
τότε η ακολουθία των συντελεστών του έχει ακριβώς μία εναλλαγή προσήμου.
Ο τομέας του Ομπρέσκοφ (Obreschkoff) και το γνωστό του οχτώ μορφών σχήμα (των κύκλων).

Θεωρείστε τώρα το Μέμπιους (Möbius) μετασχηματισμό

και τους τρεις κύκλους της παραπάνω εικόνας. Θεωρείστε ότι a/c < b/d.

  • Ο (κίτρινος) κύκλος
που η διάμετρός του βρίσκεται στον πραγματικό άξονα, με τελικά σημεία τα a/c και b/d, σχεδιάζεται από τον αντίστροφο του Μέμπιους (Möbius) μετασχηματισμό
πάνω στο φανταστικό άξονα. Για παράδειγμα το σημείο
σχεδιάζεται πάνω στο σημείο id/c. Τα εξωτερικά σημεία σχεδιάζονται επάνω στο ημιεπίπεδο, όπου Re(x) < 0.
  • Οι δύο κύκλοι (φαίνονται μόνο τα μπλε μισοφέγγαρά τους) με κέντρο
και ακτίνα
σχεδιάζονται από τον αντίστροφο του Μέμπιους (Möbius) μετασχηματισμό
επάνω στις γραμμές Im(x) = ±3 Re(x). Για παράδειγμα το σημείο
σχεδιάζεται στο σημείο
Τα εξωτερικά σημεία (αυτά που είναι έξω από το οχτώ μορφών σχήμα) σχεδιάζονται πάνω στον τομέα.

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

Ιστορική ανασκόπηση

Πρώιμες εφαρμογές του θεωρήματος του Βίνσεντ

Και στα δύο έγγραφά του[1][2], ο Βίνσεντ παρουσιάζει παραδείγματα που δείχνουν επακριβώς τη χρήση του θεωρήματός του με σκοπό την απομόνωση των πραγματικών ριζών πολυωνύμων με συνεχή κλάσματα. Ωστόσο, η μέθοδος αυτή απαιτεί εκθετικό υπολογιστικό χρόνο, γεγονός το οποίο είχαν αντιληφθεί οι μαθηματικοί της εποχής εκείνης, όπως το αντελήφθην επίσης και ο Ουσπένσκι (Uspensky)[8] (σελ. 136) έναν αιώνα αργότερα.

Η αναζήτηση μιας ρίζας με τη μέθοδο του Βίνσεντ (εφαρμόζοντας το θεώρημα του Μπουντάν).

Η εκθετική φύση του αλγορίθμου του Βίνσεντ οφείλεται στον τρόπο με τον οποίο υπολογίζονται (στο θεώρημα του Βίνσεντ) τα επιμέρους πηλίκα ai. Αυτό συμβαίνει διότι, για να υπολογιστεί το κάθε επιμέρους πηλίκο ai, άρα να εντοπιστεί που εμφανίζονται οι ρίζες στον άξονα των x, ο Βίνσεντ χρησιμοποιεί το θεώρημα του Μπουντάν (Budan) ως μία "εξέταση μη ύπαρξης ριζών". Με άλλα λόγια, με σκοπό να βρει το ακέραιο μέρος μιας ρίζας, ο Βίνσεντ εφαρμόζει διαδοχικές αντικαταστάσεις της μορφής xx+1 και σταματά μόνο όταν τα πολυώνυμα p(x) και p(x+1) διαφέρουν ως προς τον αριθμό των εναλλαγών προσήμου στην ακολουθία των συντελεστών τους (δηλαδή όταν μειώνεται ο αριθμός των εναλλαγών προσήμου του p(x+1)).[1][2]

Δείτε το αντίστοιχο διάγραμμα όπου η ρίζα βρίσκεται στο διάστημα (5, 6). Είναι εύκολο να διαπιστωθεί ότι, με τον τρόπο αυτό, εάν η ρίζα βρίσκεται μακριά από το αρχικό σημείο μηδέν, απαιτείται όλο και περισσότερος χρόνος για να βρεθεί το ακέραιο τμήμα. Οπότε, είναι εύκολο να διαπιστωθεί επίσης και η εκθετική φύση του αλγορίθμου του Βίνσεντ. Παρακάτω εξηγείται ο τρόπος με τον οποίο λύνεται το μειονέκτημα αυτό.

Εξαφάνιση του θεωρήματος του Βίνσεντ

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

Ο λόγος ήταν η εμφάνιση το 1827 του θεωρήματος του Στουρμ (Sturm), το οποίο έλυσε το πρόβλημα της απομόνωσης των πραγματικών ριζών σε πολυωνυμικό χρόνο, καθορίζοντας τον ακριβή αριθμό των πραγματικών ριζών ενός πολυωνύμου σε ένα πραγματικό ανοιχτό διάστημα (a, b). Η μέθοδος του Στουρμ ήταν η μόνη διαδεδομένη μέθοδος για τον υπολογισμό των πραγματικών ριζών πολυωνύμων μέχρι περίπου το 1980, όταν και αντικαταστάθηκε (σχεδόν σε όλα τα συστήματα υπολογιστικής άλγεβρας) από μεθόδους που προέρχονται από το θεώρημα του Βίνσεντ, με τη μεγαλύτερη ταχύτητα να επιτυγχάνεται από τη μέθοδο VAS (Vincent–Akritas–Strzeboński).[9]

Ο Σέρετ (Serret) συμπεριέλαβε το 1877 στην άλγεβρά του,[10] σελ. 363–368, το θεώρημα του Βίνσεντ μαζί με την απόδειξή του. Επίσης, κατεύθυνε όλους τους ενδιαφερόμενους αναγνώστες στα έγγραφά του Βίνσεντ για παραδείγματα χρήσης του θεωρήματός του. Ο Σέρετ ήταν ο τελευταίος συγγραφέας που ανέφερε το θεώρημα του Βίνσεντ τον 19ο αιώνα.

Επανεμφάνιση του θεωρήματος του Βίνσεντ

Τον 20ο αιώνα το θεώρημα του Βίνσεντ δεν εμφανίζεται σε κανένα βιβλίο θεωρίας εξισώσεων, με εξαίρεση τα βιβλία των Ουσπένσκι (Uspensky)[8] και Ομπρέσκοφ (Obreschkoff),[7] όπου στο βιβλίο του δεύτερου δίνεται απλά ο ορισμός του θεωρήματος.

Ήταν το βιβλίο του Ουσπένσκι[8] αυτό στο οποίο βρήκε ο Α. Ακρίτας το θεώρημα του Βίνσεντ, το οποίο αποτέλεσε το κύριο θέμα του διδακτορικού του με τίτλο "Η αλγεβρική χρήση του θεωρήματος του Βίνσεντ" ("Vincent's Theorem in Algebraic Manipulation"), Πανεπιστήμιο της Βόρειας Καρολίνας των ΗΠΑ (North Carolina State University, USA), το 1978. Μία από τις μεγαλύτερες επιτυχίες ήταν η εύρεση και κατοχή του πρωτότυπου εγγράφου του Βίνσεντ του 1836, κάτι που διέφυγε από τον Ουσπένσκι — γεγονός που οδήγησε σε μια μεγάλη παρεξήγηση . Το πρωτότυπο έγγραφο έγινε διαθέσιμο στον Α. Ακρίτα χάρη στις αξιόλογες προσπάθειες ενός βιβλιοθηκάριου της Βιβλιοθήκης του Πανεπιστημίου του Ουισκόνσιν-Μάντισον, ΗΠΑ (University of Wisconsin–Madison, USA).

Μέθοδοι απομόνωσης πραγματικών ριζών που προέρχονται από το θεώρημα του Βίνσεντ

Η απομόνωση των πραγματικών ριζών ενός πολυωνύμου είναι η διαδικασία της εύρεσης ανοιχτών ασυνεχών διαστημάτων τέτοιων ώστε κάθε ένα να περιέχει ακριβώς μία πραγματική ρίζα και κάθε πραγματική ρίζα να περιέχεται σε κάποιο διάστημα. Σύμφωνα με τη γαλλική σχολή μαθηματικών του 19ου αιώνα, αυτό είναι το πρώτο βήμα για την εύρεση των πραγματικών ριζών, ενώ το δεύτερο βήμα αποτελεί η προσέγγιση σε οποιοδήποτε βαθμό ακρίβειας. Επίσης, το σημείο εστίασης βρίσκεται στις θετικές ρίζες, καθώς η απομόνωση των αρνητικών ριζών ενός πολυωνύμου p(x) πραγματοποιείται με την αντικατάσταση του x με −x (x ← −x) και την επανάληψη της διαδικασίας.

Η προσέγγιση των συνεχών κλασμάτων του θεωρήματος του Βίνσεντ μπορεί να χρησιμοποιηθεί για την απομόνωση των πραγματικών ριζών ενός πολυωνύμου p(x) βαθμού deg(p). Για το λόγο αυτό, αναπαραστήστε χρησιμοποιώντας το Μέμπιους (Möbius) μετασχηματισμό

το συνεχές κλάσμα που οδηγεί στο μετασχηματισμένο πολυώνυμο

 

 

 

 

(2)

με μία εναλλαγή προσήμου στην ακολουθία των συντελεστών του. Τότε, η μοναδική θετική ρίζα της f(x) (στο διάστημα (0, ∞)) αντιστοιχεί σε εκείνη τη θετική ρίζα του p(x) που βρίσκεται στο ανοιχτό διάστημα με τελικά σημεία και . Τα τελικά αυτά σημεία δεν είναι ταξινομημένα και αντιστοιχούν στο M(0) και M(∞) αντίστοιχα.

Επομένως, για την απομόνωση των θετικών ριζών ενός πολυωνύμου, αυτό που πρέπει να γίνει είναι ο υπολογισμός, για κάθε ρίζα, των μεταβλητών a, b, c, d του αντίστοιχου Μέμπιους (Möbius) μετασχηματισμού

που οδηγεί σε ένα μετασχηματισμένο πολυώνυμο όπως αυτό της εξίσωσης (2), με μία μόνο εναλλαγή προσήμου στην ακολουθία των συντελεστών του.

Σημαντική παρατήρηση: Οι μεταβλητές a, b, c, d του Μέμπιους (Möbius) μετασχηματισμού

(στο θεώρημα του Βίνσεντ) που οδηγούν σε ένα μετασχηματισμένο πολυώνυμο όπως αυτό της εξίσωσης (2) με μία εναλλαγή προσήμου στην ακολουθία των συντελεστών του μπορούν να υπολογιστούν:

Η περίπτωση της διχοτόμησης της σημαντικής αυτής παρατήρησης εμφανίζεται ως ειδικό θεώρημα στα έγγραφα των Αλεσίνα (Alesina) και Γκαλούτσι (Galuzzi).[3][4]

Όλες οι μέθοδοι που περιγράφονται παρακάτω (δείτε το άρθρο Θεώρημα του Μπουντάν για μια ιστορική αναδρομή), απαιτούν αρχικά τον υπολογισμό ενός άνω ορίου ub (ub = upper bound) στις τιμές των θετικών ριζών του πολυωνύμου όπου εφαρμόζονται. Εξαίρεση αποτελεί η μέθοδος VAS, καθώς απαιτεί επίσης τον υπολογισμό κάτω ορίων lb (lb = upper bounds) σχεδόν σε κάθε κύκλο του κύριου βρόγχου. Για τον υπολογισμό του κάτω ορίου lb ενός πολυωνύμου p(x) υπολογίζεται το άνω όριο ub του πολυωνύμου και στη συνέχεια τίθεται .

Αρκετά ποιοτικά (άνω και κάτω) όρια στις τιμές των θετικών ριζών των πολυωνύμων έχουν αναπτυχθεί από τους Ακρίτα, Σεμπόνσκι (Strzeboński) και Βίγκλα βασιζόμενοι σε προηγούμενες εργασίες του Ντόρου Στεφανέσκου (Doru Stefanescu). Περιγράφονται στο διδακτορικό του Π. Βίγκλα[12] και αλλού.[13] Αυτά τα όρια έχουν ήδη ενσωματωθεί σε διάφορα συστήματα υπολογιστικής άλγεβρας όπως το Mathematica, Sage, SymPy, Xcas κ.α.

Και οι τρεις μέθοδοι που περιγράφονται παρακάτω ακολουθούν την εξαιρετική παρουσίαση του Φρανσουά Μπολιέρ (François Boulier),[14] σελ. 24.

Μέθοδος συνεχών κλασμάτων

Μόνο μία μέθοδος συνεχών κλασμάτων προέρχεται από το θεώρημα του Βίνσεντ. Όπως αναφέρθηκε παραπάνω, η ιστορία αυτής τη μεθόδου ξεκίνησε τη δεκαετία του 1830, όταν ο Βίνσεντ παρουσίασε και στα δύο έγγραφά του[1][2] πολλά παραδείγματα που δείχνουν επακριβώς πως χρησιμοποιείται το θεώρημά του για την απομόνωση των πραγματικών ριζών πολυωνύμων με συνεχή κλάσματα. Ωστόσο, η προκύπτουσα μέθοδος είχε εκθετικό χρόνο εκτέλεσης. Παρακάτω ακολουθεί μια ανάλυση για το πώς εξελίχθηκε η μέθοδος αυτή.

Vincent-Akritas-Strzeboński (VAS, 2005)

Πρόκειται για τη δεύτερη κατά σειρά μέθοδο (μετά τη μέθοδο VCA) που αναπτύχθηκε με σκοπό να αντιμετωπίσει την εκθετική συμπεριφορά της μεθόδου του Βίνσεντ.

Η μέθοδος συνεχών κλασμάτων VAS αποτελεί μία απ’ ευθείας υλοποίηση του θεωρήματος του Βίνσεντ. Το θεώρημα αυτό παρουσιάστηκε αρχικά από τον ίδιο τον Βίνσεντ στα έγγραφά του το 1834[1] και 1836[2] στην εκθετική του μορφή. Συγκεκριμένα, ο Βίνσεντ υπολόγισε κάθε επιμέρους πηλίκο ai με μια σειρά από αυξήσεις aiai + 1, οι οποίες είναι ισοδύναμες με αντικαταστάσεις της μορφής xx + 1.

Η μέθοδος του Βίνσεντ μετατράπηκε σε πολυωνυμικής πολυπλοκότητας μέθοδο από τον Α. Ακρίτα το 1978, ο οποίος υπολόγισε κάθε επιμέρους πηλίκο ai ως ένα κάτω όριο, lb, στις τιμές των θετικών ριζών του πολυωνύμου. Αυτό ονομάστηκε ως ιδανικό θετικό κάτω όριο που υπολογίζει το ακέραιο μέρος της μικρότερης θετικής ρίζας (βλέπε την αντίστοιχη εικόνα). Εάν τεθεί, δηλαδή, ailb ή, ισοδύναμα, εφαρμοστεί η αντικατάσταση xx + lb, απαιτείται περίπου ο ίδιος χρόνος με την αντικατάσταση xx + 1.

Η αναζήτηση μιας ρίζας με τη μέθοδο VAS. Το ιδανικό κάτω όριο είναι 5, οπότε xx + 5.

Τέλος, επειδή το ιδανικό θετικό κάτω όριο μιας ρίζας δεν υπάρχει, ο Σεμπόνσκι (Strzeboński)[15] εισήγαγε το 2005 την αντικατάσταση , οποτεδήποτε . Γενικότερα, ισχύει ότι . Η τιμή 16 καθορίστηκε μέσω πειραματικών αποτελεσμάτων. Επιπλέον, έχει αποδειχτεί[15] ότι η μέθοδος (συνεχών κλασμάτων) VAS είναι ταχύτερη ακόμα και από την πιο γρήγορη εκτέλεση της μεθόδου διχοτόμησης VCA.[16][17] Συγκεκριμένα, για τα πολυώνυμα Mignotte υψηλού βαθμού η εκτέλεση της μεθόδου VAS είναι περίπου 50,000 φορές ταχύτερη από την ταχύτερη εκτέλεση της μεθόδου VCA.

Το 2007 ο Σάρμα (Sharma)[18] απέδειξε ότι ακόμα και αν αφαιρεθεί η υπόθεση του ιδανικού κάτω ορίου η μέθοδος VAS παραμένει χρονικά πολυωνυμική.

Ο αλγόριθμος VAS αποτελεί τον προεπιλεγμένο αλγόριθμο απομόνωσης ριζών στο Mathematica, Sage, SymPy, Xcas.

Για μια σύγκριση της μεθόδου του Στουρμ (Sturm) και της μεθόδου VAS χρησιμοποιείστε τις συναρτήσεις realroot(poly) και time(realroot(poly)) του Xcas. Προεπιλεγμένα, για την απομόνωση των πραγματικών ριζών ενός πολυωνύμου poly η realroot χρησιμοποιεί τη μέθοδο VAS. Για να χρησιμοποιήσετε τη μέθοδο του Στουρμ (Sturm) γράψτε realroot(sturm, poly). Δείτε επίσης τους εξωτερικούς συνδέσμους για μια εφαρμογή του Α. Μπερκάκη για συσκευές Android που κάνουν το ίδιο πράγμα.

Παρακάτω παρουσιάζεται ο αλγόριθμος VAS(p, M), όπου για λόγους απλότητας δεν περιλαμβάνεται η συνεισφορά του Σεμπόνσκι (Strzeboński):

  • Έστω ότι p(x) ένα πολυώνυμο βαθμού deg(p) τέτοιο ώστε p(0) ≠ 0. Με στόχο την απομόνωση των θετικών ριζών του, αντιστοίχισε το πολυώνυμο p(x) με το Μέμπιους (Möbius) μετασχηματισμό M(x) = x και επανέλαβε τα ακόλουθα βήματα όσο υπάρχουν ζεύγη {p(x), M(x)} προς επεξεργασία.
  • Χρησιμοποίησε τον κανόνα προσήμων του Ντεκάρτ στο πολυώνυμο p(x) για τον υπολογισμό, εάν είναι δυνατόν, του αριθμού των ριζών του πολυωνύμου μέσα στο διάστημα (0, ∞), χρησιμοποιώντας τον αριθμό (var) των εναλλαγών προσήμου στην ακολουθία των συντελεστών του. Αν δεν υπάρχουν ρίζες επέστρεψε το κενό σύνολο, ∅ ενώ αν υπάρχει μία ρίζα επέστρεψε το διάστημα (a, b), όπου a = min(M(0), M(∞)) και b = max(M(0), M(∞)). Αν b = ∞ τότε θέσε b = ub, όπου ub ένα άνω όριο στις τιμές των θετικών ριζών του p(x).[12][13]
  • Αν υπάρχουν δύο ή περισσότερες εναλλαγές προσήμου ο κανόνας προσήμων του Ντεκάρτ υποδεικνύει ότι ίσως υπάρχουν μηδέν, δύο ή ζυγός αριθμός πραγματικών ριζών μέσα στο διάστημα (0, ∞). Στην περίπτωση αυτή εξέτασε ξεχωριστά τις ρίζες του πολυωνύμου p(x) που υπάρχουν μέσα στο διάστημα (0, 1) από αυτές που υπάρχουν μέσα στο διάστημα (1, ∞). Μια ειδική εξέταση πρέπει να γίνει για τον αριθμό 1.
    • Για να διαπιστωθεί ότι υπάρχουν ρίζες στο διάστημα (0, 1), χρησιμοποίησε το ιδανικό κάτω όριο lb. Ουσιαστικά αυτό είναι το ακέραιο μέρος της μικρότερης θετικής ρίζας και υπολογίζεται με τη βοήθεια του κάτω ορίου,[12][13] , για τις τιμές των θετικών ριζών του πολυωνύμου p(x). Αν , τότε στο p(x) και M(x) εκτελείται η αντικατάσταση , ενώ αν για την εύρεση του ακέραιου μέρους των ριζών γίνεται η αντικατάσταση xx+1.
    • Για τον υπολογισμό των ριζών μέσα στο διάστημα (0, 1), εκτέλεσε στο p(x) και M(x) την αντικατάσταση και επεξεργάσου το ζευγάρι
ενώ για τον υπολογισμό των ριζών στο διάστημα (1, ∞) εκτέλεσε στο p(x) και M(x) την αντικατάσταση xx + 1 και επεξεργάσου το ζευγάρι {p(1 + x), M(1 + x)}. Ίσως διαπιστωθεί ότι ο αριθμός 1 είναι μια ρίζα του πολυωνύμου p(x), στην οποία περίπτωση, η ρίζα του αρχικού πολυωνύμου είναι η M(1) και το απομονωμένο διάστημα περιορίζεται σε ένα σημείο.

Παρακάτω πραγματοποιείται μια αναδρομική παρουσίαση του αλγορίθμου VAS(p, M).

VAS(p, M):

Είσοδος: Ένα square-free πολυώνυμο μιας μεταβλητής και βαθμού deg(p) και ο Μέμπιους (Möbius) μετασχηματισμός

Έξοδος: Μια λίστα με τα απομονωμένα διαστήματα των θετικών ριζών του p(x).

1 var ← ο αριθμός των εναλλαγών προσήμου του p(x) // κανόνας προσήμων του Ντεκάρτ;
2 if var = 0 then RETURN ∅;
3 if var = 1 then RETURN {(a, b)} // a = min(M(0), M(∞)), b = max(M(0), M(∞)), αλλά αν b = ∞ τότε θέσε b = ub, όπου ub ένα άνω όριο στις τιμές των θετικών ριζών του p(x);
4 lb ← το ιδανικό κάτω όριο των θετικών ριζών του p(x);
5 if lb ≥ 1 then pp(x + lb), MM(x + lb);
6 p01 ← (x + 1)deg(p) p(1/x + 1), M01M(1/x + 1) // Ψάξε για πραγματικές ρίζες στο διάστημα (0, 1);
7 mM(1) // Είναι ρίζα ο αριθμός 1?;
8 p1∞p(x + 1), M1∞M(x + 1) // Ψάξε για πραγματικές ρίζες στο διάστημα (1, ∞);
9 if p(1) ≠ 0 then
10 RETURN VAS(p01, M01) ∪ VAS(p1∞, M1∞)
11 else
12 RETURN VAS(p01, M01) ∪ {[m, m]} ∪ VAS(p1∞, M1∞)
13 end

Παρατηρήσεις

  • Η συνεισφορά του Σεμπόνσκι (Strzeboński) δεν περιλαμβάνεται για λόγους απλότητας.
  • Στον παραπάνω αλγόριθμο κάθε πολυώνυμο σχετίζεται με ένα Μέμπιους (Möbius) μετασχηματισμό M(x).
  • Στη γραμμή 1 εφαρμόζεται ο κανόνας προσήμων του Ντεκάρτ.
  • Αν διαγραφούν οι γραμμές 4 και 5 από τον VAS(p, M) τότε καταλήγουμε στον αρχικό εκθετικό αλγόριθμο του Βίνσεντ.
  • Κάθε αντικατάσταση που εφαρμόζεται στο πολυώνυμο p(x) εφαρμόζεται επίσης στον αντίστοιχο Μέμπιους (Möbius) μετασχηματισμό M(x) (γραμμές 5, 6 και 8).
  • Τα απομονωμένα διαστήματα υπολογίζονται από το Μέμπιους (Möbius) μετασχηματισμό στη γραμμή 3, με εξαίρεση τις ακέραιες ρίζες οι οποίες υπολογίζονται στη γραμμή 7 (και 12).

Παράδειγμα της VAS(p, M)

Εφαρμογή της μεθόδου VAS στο πολυώνυμο p(x) = x3 − 7x + 7 (σημειώστε ότι M(x) = x).

1η επανάληψη

VAS(x3 − 7x + 7, x)
1 var ← 2 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του πολυωνύμου p(x) = x3 − 7x + 7
4 lb ← 1 // το ιδανικό κάτω όριο — βρίσκεται χρησιμοποιώντας lbcomputed και αντικαταστάσεις xx + 1
5 px3 + 3x2 − 4x + 1, Mx + 1
6 p01x3x2 − 2x + 1, M01x + 2/x + 1
7 m ← 1
8 p1∞x3 + 6x2 + 5x + 1, M1∞x + 2
10 RETURN VAS(x3x2 − 2x + 1, x + 2/x + 1) ∪ VAS(x3 + 6x2 + 5x + 1, x + 2)

Λίστα απομονωμένων διαστημάτων: { }.

Λίστα ζευγαριών {p, M} προς επεξεργασία:

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

2η επανάληψη

VAS(x3x2 − 2x + 1, x + 2/x + 1)
1 var ← 2 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του πολυωνύμου p(x) = x3x2 − 2x + 1
4 lb ← 0 // το ιδανικό κάτω όριο — βρίσκεται χρησιμοποιώντας lbcomputed και αντικαταστάσεις xx + 1
6 p01x3 + x2 − 2x − 1, M012x + 3/x + 1
7 m3/2
8 p1∞x3 + 2x2x − 1, M1∞x + 3/x + 2
10 RETURN VAS(x3 + x2 − 2x − 1, 2x + 3/x + 2) ∪ VAS(x3 + 2x2x − 1, x + 3/x + 2)

Λίστα απομονωμένων διαστημάτων: { }.

Λίστα ζευγαριών {p, M} προς επεξεργασία:

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

3η επανάληψη

VAS(x3 + x2 − 2x − 1, 2x + 3/x + 2)
1 var ← 1 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του πολυωνύμου p(x) = x3 + x2 − 2x − 1
3 RETURN {(3/2, 2)}

Λίστα απομονωμένων διαστημάτων: {(3/2, 2)}.

Λίστα ζευγαριών {p, M} προς επεξεργασία:

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

4η επανάληψη

VAS(x3 + 2x2x − 1, x + 3/x + 2)
1 var ← 1 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του πολυωνύμου p(x) = x3 + 2x2x − 1
3 RETURN {(1, 3/2)}

Λίστα απομονωμένων διαστημάτων: {(1, 3/2), (3/2, 2)}.

Λίστα ζευγαριών {p, M} προς επεξεργασία:

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

5η επανάληψη

VAS(x3 + 6x2 + 5x + 1, x + 2)
1 var ← 0 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του πολυωνύμου p(x) = x3 + 6x2 + 5x + 1
2 RETURN

Λίστα απομονωμένων διαστημάτων: {(1, 3/2), (3/2, 2)}.

Λίστα ζευγαριών {p, M} προς επεξεργασία: .

Τέλος.

Συμπέρασμα

Επομένως, οι δύο θετικές ρίζες του πολυωνύμου p(x) = x3 − 7x + 7 βρίσκονται μέσα στα διαστήματα απομόνωσης (1, 3/2) και (3/2, 2). Κάθε ρίζα μπορεί να προσεγγιστεί (για παράδειγμα) διχοτομώντας το αντίστοιχο διάστημα απομόνωσης έως ότου η διαφορά των τελικών σημείων να είναι μικρότερη του 10−6. Με αυτή την προσέγγιση οι ρίζες του πολυωνύμου είναι οι ρ1 = 1.3569 και ρ2 = 1.69202.

Μέθοδοι διχοτόμησης

Υπάρχουν διάφορες μέθοδοι διχοτόμησης που προέρχονται από το θεώρημα του Βίνσεντ.[19] Εδώ παρουσιάζονται οι δύο πιο σημαντικοί από αυτούς, η μέθοδος Vincent-Collins-Akritas (VCA) και η μέθοδος Vincent-Alesina-Galuzzi (VAG).

Η μέθοδος Vincent-Alesina-Galuzzi (VAG) είναι η απλούστερη από όλες τις μεθόδους που προέρχονται από το θεώρημα του Βίνσεντ αλλά περιλαμβάνει την πιο απαιτητική χρονικά εξέταση (γραμμή 1) για να καθορίσει εάν ένα πολυώνυμο έχει ρίζες στα ενδιαφερόμενα διαστήματα. Το γεγονός αυτό καθιστά τη μέθοδο αυτή την πιο αργή από όλες τις μεθόδους που περιγράφονται στο παρόν άρθρο.

Αντίθετα, η μέθοδος Vincent-Collins-Akritas (VCA) είναι περισσότερο περίπλοκη αλλά χρησιμοποιεί μια πιο απλή εξέταση (γραμμή 1) από ότι η μέθοδος VAG. Το γεγονός αυτό σε συνδυασμό με ορισμένες βελτιώσεις καθιστά τη μέθοδο VCA την ταχύτερη μέθοδο διχοτόμησης.

Vincent-Collins-Akritas (VCA, 1976)

Πρόκειται για την πρώτη μέθοδο που αναπτύχθηκε με σκοπό να ξεπεράσει την εκθετική φύση της αρχικής προσέγγισης του Βίνσεντ και παρουσιάζει μια αρκετά ενδιαφέρουσα ιστορία όσον αφορά το όνομά της. Η μέθοδος αυτή, η οποία απομονώνει τις πραγματικές ρίζες χρησιμοποιώντας τον κανόνα προσήμων του Ντεκάρτ και το θεώρημα του Βίνσεντ, αρχικά ονομάστηκε ως τροποποιημένος αλγόριθμος του Ουσπένσκι (Uspensky) από τους δημιουργούς του Κόλινς (Collins) και Ακρίτα.[11] Έπειτα πέρασε από πολλά ονόματα όπως "μέθοδος Collins-Akritas" και "Μέθοδος του Ντεκάρτ" (κάτι που δημιούργησε σύγχυση δεδομένου του άρθρου του Φουριέ[20]), έως ότου λάβει τελικά το σημερινό του όνομα από τον Φρανσουά Μπολιέρ (François Boulier),[14] (σελ. 24), του Πανεπιστημίου της Λιλ (Lille), ο οποίος βασίστηκε στο γεγονός ότι δεν υπάρχει ούτε "μέθοδος του Ουσπένσκι (Uspensky)"[21] ούτε "μέθοδος του Ντεκάρτ".[22] Η καλύτερη εκτέλεση της μεθόδου αυτής πραγματοποιήθηκε από τους Ρουλιέρ (Roullier) και Ζίμερμαν (Zimmerman)[16] και μέχρι σήμερα αποτελεί την ταχύτερη μέθοδο διχοτόμησης. Στη χειρότερη περίπτωση έχει την ίδια πολυπλοκότητα με τον αλγόριθμο του Στουρμ (Sturm), αλλά συνήθως είναι αρκετά πιο γρήγορος. Τέλος, έχει συμπεριληφθεί στον πακέτο RootFinding του συστήματος υπολογιστικής άλγεβρας Maple.

Παρακάτω παρουσιάζεται ο αλγόριθμος VCA(p, (a, b)):

  • Δεδομένου ενός πολυωνύμου porig(x) βαθμού deg(p), τέτοιο ώστε porig(0) ≠ 0, του οποίου οι θετικές ρίζες πρέπει να απομονωθούν, αρχικά υπολόγισε ένα άνω όριο,[12][13] ub στις τιμές αυτών των θετικών ριζών και θέσε p(x) = porig(ub * x) και (a, b) = (0, ub). Οι θετικές ρίζες του p(x) βρίσκονται στο διάστημα (0, 1). Επίσης, υπάρχει μία αμφιμονοσήμαντη αντιστοιχία μεταξύ αυτών και των ριζών της porig(x), οι οποίες βρίσκονται στο διάστημα (a, b) = (0, ub) (βλέπε την αντίστοιχη εικόνα). Αυτή η αμφιμονοσήμαντη αντιστοιχία εκφράζεται με την εξίσωση α(a,b) = a +α(0,1)(ba). Παρομοίως, υπάρχει μία αμφιμονοσήμαντη αντιστοιχία μεταξύ των διαστημάτων (0, 1) και (0, ub).
Αμφιμονοσήμαντη αντιστοιχία μεταξύ των ριζών του porig(x) και p(x).
  • Επανέλαβε τα επόμενα βήματα όσο υπάρχουν ζεύγη {p(x), (a, b)} προς επεξεργασία.
  • Χρησιμοποίησε την "0_1 εξέταση ριζών" του Μπουντάν (Budan) στο p(x) ώστε να υπολογιστεί, χρησιμοποιώντας τον αριθμό (var) των εναλλαγών προσήμου στην ακολουθία των συντελεστών του, ο αριθμός των ριζών του πολυωνύμου στο διάστημα (0, 1). Αν δεν υπάρχουν ρίζες επέστρεψε το κενό σύνολο, ∅ ενώ εάν υπάρχει μία ρίζα επέστρεψε το διάστημα (a, b).
  • Αν υπάρχουν δύο ή περισσότερες εναλλαγές προσήμου, η "0_1 εξέταση ριζών" του Μπουντάν (Budan) υποδεικνύει ότι ίσως υπάρχουν δύο ή περισσότερες πραγματικές ρίζες μέσα στο διάστημα (0, 1). Στην περίπτωση αυτή κόψε το διάστημα στη μέση και θεώρησε ξεχωριστά τις ρίζες του p(x) μέσα στο διάστημα (0, 1/2), το οποίο αντιστοιχεί στις ρίζες του porig(x) μέσα στο διάστημα (a, 1/2(a + b)), από αυτές μέσα στο διάστημα (1/2, 1), το οποίο αντιστοιχεί στις ρίζες του porig(x) μέσα στο διάστημα (1/2(a + b), b). Επεξεργάσου αντίστοιχα, δηλαδή, τα ζεύγη
(βλέπε την αντίστοιχη εικόνα). Ίσως διαπιστωθεί ότι ο αριθμός 1/2 είναι μια ρίζα του πολυωνύμου p(x), στην οποία περίπτωση η 1/2(a + b) είναι μια ρίζα του porig(x) και το απομονωμένο διάστημα περιορίζεται σε ένα σημείο.
Αμφιμονοσήμαντη αντιστοιχία μεταξύ των ριζών του p(x) και αυτών του p(x/2) και p(x + 1/2).

Παρακάτω πραγματοποιείται μια αναδρομική παρουσίαση του αλγορίθμου VCA(p, (a, b)).

VCA(p, (a, b))

Είσοδος: Ένα square-free πολυώνυμο μιας μεταβλητής p(ub * x) ∈ Z[x], p(0) ≠ 0 και βαθμού deg(p) και το ανοιχτό διάστημα (a, b) = (0, ub), όπου ub είναι ένα άνω όριο στις τιμές των θετικών ριζών του p(x). (Οι θετικές ρίζες του p(ub * x) είναι όλες μέσα στο ανοιχτό διάστημα (0, 1)).
Έξοδος: Μια λίστα με τα απομονωμένα διαστήματα των θετικών ριζών του p(x)

1 var ← ο αριθμός των εναλλαγών προσήμου του (x + 1)deg(p)p(1/x + 1) // "0_1 εξέταση ριζών" του Μπουντάν;
2 if var = 0 then RETURN ∅;
3 if var = 1 then RETURN {(a, b)};
4 p01/2 ← 2deg(p)p(x/2) // Ψάξε για πραγματικές ρίζες στο διάστημα (0, 1/2);
5 m1/2(a + b) // Είναι ρίζα ο αριθμός 1/2?
6 p1/21 ← 2deg(p)p(x + 1/2) // Ψάξε για πραγματικές ρίζες στο διάστημα (1/2, 1);
7 if p(1/2) ≠ 0 then
8 RETURN VCA (p01/2, (a, m)) ∪ VCA (p1/21, (m, b))
9 else
10 RETURN VCA (p01/2, (a, m)) ∪ {[m, m]} ∪ VCA (p1/21, (m, b))
11 end

Παρατηρήσεις

  • Στον παραπάνω αλγόριθμο κάθε πολυώνυμο σχετίζεται με ένα διάστημα (a, b). Επίσης, όπως έχει αποδειχθεί,[22] (σελ. 11), κάθε πολυώνυμο μπορεί να αντιστοιχιστεί με ένα Μέμπιους (Möbius) μετασχηματισμό, στην οποία περίπτωση η μέθοδος VCA μοιάζει περισσότερο με τη μέθοδο VAS.
  • Στη γραμμή 1 εφαρμόζεται η "0_1 εξέταση ριζών" του Μπουντάν (Budan).

Example of VCA(p, (a,b))

Δεδομένου ενός πολυωνύμου porig(x) = x3 − 7x + 7 και θεωρώντας ub = 4 ως ένα άνω όριο[12][13] στις τιμές των θετικών ριζών, τα ορίσματα της VCA μεθόδου είναι: p(x) = 64x3 − 28x + 7 και (a, b) = (0, 4).

1η επανάληψη

1 var ← 2 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(1/x + 1) = 7x3 − 7x2 − 35x + 43
4 p01/2 ← 64x3 − 112x + 56
5 m ← 2
6 p1/21 ← 64x3 + 192x2 + 80x + 8
7 p(1/2) = 1
8 RETURN VCA(64x3 − 112x + 56, (0, 2)) ∪ VCA(64x3 + 192x2 + 80x + 8, (2, 4))

Λίστα απομονωμένων διαστημάτων: { }.

Λίστα ζευγαριών {p, I} προς επεξεργασία:

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

2η επανάληψη

VCA(64x3 − 112x + 56, (0, 2))
1 var ← 2 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(1/x + 1) = 56x3 + 56x2 − 56x + 8
4 p01/2 ← 64x3 − 448x + 448
5 m ← 1
6 p1/21 ← 64x3 + 192x2 − 256x + 64
7 p(1/2) = 8
8 RETURN VCA(64x3 − 448x + 448, (0, 1)) ∪ VCA(64x3 + 192x2 − 256x + 64, (1, 2))

Λίστα απομονωμένων διαστημάτων: { }.

Λίστα ζευγαριών {p, I} προς επεξεργασία:

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

3η επανάληψη

VCA(64x3 − 448x + 448, (0, 1))
1 var ← 0 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(1/x + 1) = 448x3 + 896x2 + 448x + 64
2 RETURN

Λίστα απομονωμένων διαστημάτων: { }.

Λίστα ζευγαριών {p, I} προς επεξεργασία:

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

4η επανάληψη

VCA(64x3 + 192x2 − 256x + 64, (1, 2))
1 var ← 2 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(1/x + 1) = 64x3 − 64x2 − 128x + 64
4 p01/2 ← 64x3 + 384x2 − 1024x + 512
5 m3/2
6 p1/21 ← 64x3 + 576x2 − 64x + 64
7 p(1/2) = −8
8 RETURN VCA(64x3 + 384x2 − 1024x + 512, (1, 3/2)) ∪ VCA(64x3 + 576x2 − 64x − 64, (3/2, 2))

Λίστα απομονωμένων διαστημάτων: { }.

Λίστα ζευγαριών {p, I} προς επεξεργασία:

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

5η επανάληψη

VCA(64x3 + 384x2 − 1024x + 512, (1, 3/2))
1 var ← 1 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(1/x + 1) = 512x3 + 512x2 − 128x − 64
3 RETURN {(1, 3/2)}

Λίστα απομονωμένων διαστημάτων: {(1, 3/2)}.

Λίστα ζευγαριών {p, I} προς επεξεργασία:

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

6η επανάληψη

VCA(64x3 + 576x2 − 64x − 64, (3/2, 2))
1 var ← 1 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(1/x + 1) = −64x3 − 256x2 + 256x + 512
3 RETURN {(3/2, 2)}

Λίστα απομονωμένων διαστημάτων: {(1, 3/2), (3/2, 2)}.

Λίστα ζευγαριών {p, I} προς επεξεργασία:

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

7η επανάληψη

VCA(64x3 + 192x2 + 80x + 8, (2, 4))
1 var ← 0 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(1/x + 1) = 8x3 + 104x2 + 376x + 344
2 RETURN

Λίστα απομονωμένων διαστημάτων: {(1, 3/2), (3/2, 2)}.

Λίστα ζευγαριών {p, I} προς επεξεργασία: .

Τέλος.

Συμπέρασμα

Επομένως, οι δύο θετικές ρίζες του πολυωνύμου p(x) = x3 − 7x + 7 βρίσκονται μέσα στα διαστήματα απομόνωσης (1, 3/2) και (3/2, 2). Κάθε ρίζα μπορεί να προσεγγιστεί (για παράδειγμα) διχοτομώντας το αντίστοιχο διάστημα απομόνωσης έως ότου η διαφορά των τελικών σημείων να είναι μικρότερη του 10−6. Με αυτή την προσέγγιση οι ρίζες του πολυωνύμου είναι οι ρ1 = 1.3569 και ρ2 = 1.69202.

Vincent-Alesina-Galuzzi (VAG, 2000)

Πρόκειται για την πιο πρόσφατη και απλότερη μέθοδο απομόνωσης πραγματικών ριζών που προέκυψε από το θεώρημα του Βίνσεντ.

Παρακάτω παρουσιάζεται ο αλγόριθμος VAG(p, (a, b)):

  • Δεδομένου ενός πολυωνύμου p(x) βαθμού deg(p), τέτοιο ώστε p(0) ≠ 0, του οποίου οι θετικές ρίζες πρέπει να απομονωθούν, αρχικά υπολόγισε ένα άνω όριο,[12][13] ub στις τιμές αυτών των θετικών ριζών και θέσε (a, b) = (0, ub). Οι θετικές ρίζες του p(x) βρίσκονται στο διάστημα (a, b).
  • Επανέλαβε τα ακόλουθα βήματα όσο υπάρχουν διαστήματα (a, b) προς επεξεργασία. Στην περίπτωση αυτή το πολυώνυμο p(x) παραμένει ίδιο.
  • Χρησιμοποίησε την "a_b εξέταση ριζών" των Αλεσίνα (Alesina) και Γκαλούτσι (Galuzzi) στο p(x) ώστε να υπολογιστεί, χρησιμοποιώντας τον αριθμό (var) των εναλλαγών προσήμου στην ακολουθία των συντελεστών του, ο αριθμός των ριζών του πολυωνύμου στο διάστημα (a, b). Αν δεν υπάρχουν ρίζες επέστρεψε το κενό σύνολο, ∅ ενώ αν υπάρχει μία ρίζα επέστρεψε το διάστημα (a, b).
  • Αν υπάρχουν δύο ή περισσότερες εναλλαγές προσήμου, η "a_b εξέταση ριζών" των Αλεσίνα (Alesina) και Γκαλούτσι (Galuzzi) υποδεικνύει ότι ίσως υπάρχουν δύο ή περισσότερες πραγματικές ρίζες μέσα στο διάστημα (a, b). Στην περίπτωση αυτή κόψε το διάστημα στη μέση και θεώρησε ξεχωριστά τις ρίζες του p(x) μέσα στο διάστημα (a, 1/2(a + b)) από αυτές μέσα στο διάστημα (1/2(a + b), b). Επεξεργάσου αντίστοιχα, δηλαδή, τα διαστήματα (a, 1/2(a + b)) και (1/2(a + b), b). Ίσως διαπιστωθεί ότι ο αριθμός 1/2(a + b) είναι μια ρίζα του p(x), στην οποία περίπτωση το απομονωμένο διάστημα περιορίζεται σε ένα σημείο.

Παρακάτω πραγματοποιείται μια αναδρομική παρουσίαση του αλγορίθμου VAG(p, (a, b)).

VAG(p, (a, b))

Είσοδος: Ένα square-free πολυώνυμο μιας μεταβλητής p(x) ∈ Z[x], p(0) ≠ 0 και βαθμού deg(p) και το ανοιχτό διάστημα (a, b) = (0, ub), όπου ub είναι ένα άνω όριο στις τιμές των θετικών ριζών του p(x).
Έξοδος: Μια λίστα με τα απομονωμένα διαστήματα των θετικών ριζών του p(x).

1 var ← ο αριθμός των εναλλαγών προσήμου του (x + 1)deg(p) p(a + bx/1 + x) // η "a_b εξέταση ριζών" των Αλεσίνα και Γκαλούτσι;
2 if var = 0 then RETURN ∅;
3 if var = 1 then RETURN {(a, b)};
4 m1/2(a + b) // Διαίρεσε το διάστημα (a, b) σε δύο ίσα μέρη;
5 if p(m) ≠ 0 then
6 RETURN VAG(p, (a, m)) ∪ VAG(p, (m, b))
7 else
8 RETURN VAG(p, (a, m)) ∪ {[m, m]} ∪ VAG(p, (m, b))
9 end

Παρατηρήσεις

  • Σε σύγκριση με τη μέθοδο VCA ο παραπάνω αλγόριθμος είναι εξαιρετικά απλός. Αντίθετα, η μέθοδος VAG χρησιμοποιεί τη χρονικά απαιτητική "a_b εξέταση ριζών". Το γεγονός αυτό την κάνει πολύ πιο αργή από τη μέθοδο VCA.[19]
  • Όπως υπέδειξαν οι Αλεσίνα (Alesina) και Γκαλούτσι (Galuzzi),[4] (σελ. 189), υπάρχει μια διαφορά σε αυτόν τον αλγόριθμο σε σχέση με τον αλγόριθμο του Ντονάτο Σαέλι (Donato Saeli). Ο Σαέλι πρότεινε να χρησιμοποιηθεί ο ενδιάμεσος (median) των τελικών σημείων σε σύγκριση με το μέσο σημείο 1/2(a + b) των Αλεσίνα (Alesina) και Γκαλούτσι (Galuzzi). Ωστόσο, έχει αποδειχτεί[19] ότι χρησιμοποιώντας τον ενδιάμεσο των τελικών σημείων η διαδικασία γίνεται γενικότερα πολύ πιο αργή σε σχέση με την εκδοχή του "μέσου σημείου".

Παράδειγμα της VAG(p, (a, b))

Δεδομένου ενός πολυωνύμου p(x) = x3 − 7x + 7 και θεωρώντας ub = 4 ως ένα άνω όριο[12][13] στις τιμές των θετικών ριζών, τα ορίσματα της VAG μεθόδου είναι: p(x) = x3 − 7x + 7 και (a, b) = (0, 4).

1η επανάληψη

1 var ← 2 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(4x/x + 1) = 43x3 − 35x2 − 7x + 7
4 m1/2(0 + 4) = 2
5 p(m) = 1
8 RETURN VAG(x3 − 7x + 7, (0, 2)) ∪ VAG(x3 − 7x + 7, (2, 4)

Λίστα απομονωμένων διαστημάτων: {}.

Λίστα διαστημάτων προς επεξεργασία: {(0, 2), (2, 4)}.

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

2η επανάληψη

VAG(x3 − 7x + 7, (0, 2))
1 var ← 2 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(2x/x + 1) = x3 − 7x2 + 7x + 7
4 m1/2(0 + 2) = 1
5 p(m) = 1
8 RETURN VAG(x3 − 7x + 7, (0, 1)) ∪ VAG(x3 − 7x + 7, (1, 2)

Λίστα απομονωμένων διαστημάτων: {}.

Λίστα διαστημάτων προς επεξεργασία: {(0, 1), (1, 2), (2, 4)}.

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

3η επανάληψη

VAG(x3 − 7x + 7, (0, 1))
1 var ← 0 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(x/x + 1) = x3 + 7x2 + 14x + 7
2 RETURN

Λίστα απομονωμένων διαστημάτων: {}.

Λίστα διαστημάτων προς επεξεργασία: {(1, 2), (2, 4)}.

Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

4η επανάληψη

VAG(x3 − 7x + 7, (1, 2))
1 var ← 2 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(2x + 1/x + 1) = x3 − 2x2x + 1
4 m1/2(1 + 2) = 3/2
5 p(m) = −1/8
8 RETURN VAG(x3 − 7x + 7, (1, 3/2)) ∪ VAG(x3 − 7x + 7, (3/2, 2))

Λίστα απομονωμένων διαστημάτων: {}. Λίστα διαστημάτων προς επεξεργασία: {(1, 3/2), (3/2, 2), (2, 4)}. Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

5η επανάληψη

VAG(x3 − 7x + 7, (1, 3/2))
1 var ← 1 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του 23(x + 1)3p(3/2x + 1/x + 1) = x3 + 2x2 − 8x − 8
3 RETURN (1, 3/2)

Λίστα απομονωμένων διαστημάτων: {(1, 3/2)}. Λίστα διαστημάτων προς επεξεργασία: {(3/2, 2), (2, 4)}. Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

6η επανάληψη

VAG(x3 − 7x + 7, (3/2, 2))
1 var ← 1 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του 23(x + 1)3p(2x + 3/2/x + 1) = 8x3 + 4x2 − 4x − 1
3 RETURN (3/2, 2)

Λίστα απομονωμένων διαστημάτων: {(1, 3/2), (3/2, 2)}. Λίστα διαστημάτων προς επεξεργασία: {(2, 4)}. Αφαίρεσε το πρώτο ζευγάρι και προχώρα στην επεξεργασία του.

7η επανάληψη

VAG(x3 − 7x + 7, (2, 4))
1 var ← 0 // ο αριθμός των εναλλαγών προσήμου στην ακολουθία των συντελεστών του (x + 1)3p(4x + 2/x + 1) = 344x3 + 376x2 + 104x + 8
2 RETURN

Λίστα απομονωμένων διαστημάτων: {(1, 3/2), (3/2, 2)}. Λίστα διαστημάτων προς επεξεργασία: ∅. Τέλος.

Συμπέρασμα

Επομένως, οι δύο θετικές ρίζες του πολυωνύμου p(x) = x3 − 7x + 7 βρίσκονται μέσα στα διαστήματα απομόνωσης (1, 3/2) και (3/2, 2). Κάθε ρίζα μπορεί να προσεγγιστεί (για παράδειγμα) διχοτομώντας το αντίστοιχο διάστημα απομόνωσης έως ότου η διαφορά των τελικών σημείων να είναι μικρότερη του 10−6. Με αυτή την προσέγγιση οι ρίζες του πολυωνύμου είναι οι ρ1 = 1.3569 και ρ2 = 1.69202.

Δείτε επίσης

Παραπομπές

  1. 1,0 1,1 1,2 1,3 1,4 1,5 1,6 Vincent, Alexandre Joseph Hidulphe (1834). «Mémoire sur la résolution des équations numériques». Mémoires de la Société Royale des Sciences, de l' Agriculture et des Arts, de Lille: 1–34. http://gallica.bnf.fr/ark:/12148/bpt6k57787134/f4.image.r=Agence%20Rol.langEN. 
  2. 2,0 2,1 2,2 2,3 2,4 2,5 2,6 Vincent, Alexandre Joseph Hidulphe (1836). «Sur la résolution des équations numériques». Journal de Mathématiques Pures et Appliquées 1: 341–372. http://www-mathdoc.ujf-grenoble.fr/JMPA/PDF/JMPA_1836_1_1_A28_0.pdf. 
  3. 3,0 3,1 3,2 Alesina, Alberto; Massimo Galuzzi (1998). «A new proof of Vincent's theorem». L'Enseignement Mathématique 44 (3-4): 219–256. http://retro.seals.ch/cntmng?type=pdf&rid=ensmat-001:1998:44::149&subp=hires. 
  4. 4,0 4,1 4,2 4,3 Alesina, Alberto; Massimo Galuzzi (2000). «Vincent's Theorem from a Modern Point of View». Categorical Studies in Italy 2000, Rendiconti del Circolo Matematico di Palermo, Serie II, n. 64: 179–191. http://inf-server.inf.uth.gr/~akritas/Alessina_Galuzzi_b.pdf. 
  5. 5,0 5,1 Vincent, Alexandre Joseph Hidulphe (1838). «Addition à une précédente note relative à la résolution des équations numériques». Journal de Mathématiques Pures et Appliquées 3: 235–243. http://math-doc.ujf-grenoble.fr/JMPA/PDF/JMPA_1838_1_3_A19_0.pdf. 
  6. Ostrowski, A. M. (1950). «Note on Vincent's theorem». Annals of Mathematics. Second Series 52 (3): 702–707. doi:10.2307/1969443. http://www.jstor.org/stable/10.2307/1969443. 
  7. 7,0 7,1 7,2 Obreschkoff, Nikola (1963). Verteilung und Berechnung der Nullstellen reeller Polynome. Berlin: VEB Deutscher Verlag der Wissenschaften. 
  8. 8,0 8,1 8,2 Uspensky, James Victor (1948). Theory of Equations. New York: McGraw–Hill Book Company. 
  9. 9,0 9,1 Akritas, Alkiviadis G.; A.W. Strzeboński, P.S. Vigklas (2008). «Improving the performance of the continued fractions method using new bounds of positive roots». Nonlinear Analysis: Modelling and Control 13: 265–279. http://www.lana.lt/journal/30/Akritas.pdf. 
  10. Serret, Joseph A. (1877). Cours d'algèbre supérieure. Tome I. Gauthier-Villars. 
  11. 11,0 11,1 Collins, George E.· Alkiviadis G. Akritas (1976). Polynomial Real Root Isolation Using Descartes' Rule of Signs. SYMSAC '76, Proceedings of the third ACM symposium on Symbolic and algebraic computation. Yorktown Heights, NY, USA: ACM. σελίδες 272–275. 
  12. 12,0 12,1 12,2 12,3 12,4 12,5 12,6 Vigklas, Panagiotis, S. (2010). Upper bounds on the values of the positive roots of polynomials (PDF). Ph. D. Thesis, University of Thessaly, Greece. 
  13. 13,0 13,1 13,2 13,3 13,4 13,5 13,6 Akritas, Alkiviadis, G. (2009). «Linear and Quadratic Complexity Bounds on the Values of the Positive Roots of Polynomials». Journal of Universal Computer Science 15 (3): 523–537. http://www.jucs.org/jucs_15_3/linear_and_quadratic_complexity. 
  14. 14,0 14,1 Boulier, François (2010). Systèmes polynomiaux : que signifie " résoudre " ? (PDF). Université Lille 1. 
  15. 15,0 15,1 Akritas, Alkiviadis G.; Adam W. Strzeboński (2005). «A Comparative Study of Two Real Root Isolation Methods». Nonlinear Analysis: Modelling and Control 10 (4): 297–304. http://www.lana.lt/journal/19/Akritas.pdf. 
  16. 16,0 16,1 Rouillier, F.; P. Zimmerman (2004). «Efficient isolation of polynomial's real roots». Journal of Computational and Applied Mathematics 162: 33–50. doi:10.1016/j.cam.2003.08.015. http://dl.acm.org/citation.cfm?id=972166. 
  17. Tsigaridas, P.E.; I.Z. Emiris, (2006). «Univariate polynomial real root isolation: Continued fractions revisited». LNCS 4168: 817–828. doi:10.1007/11841036_72. http://www.springerlink.com/content/c70468755x403481/. 
  18. Sharma, Vikram (2007). Complexity Analysis of Algorithms in Algebraic Computation (PDF). Ph.D. Thesis, Courant Institute of Mathematical Sciences, New York University,USA. 
  19. 19,0 19,1 19,2 Akritas, Alkiviadis G.; Adam W. Strzeboński; Panagiotis S. Vigklas (2008). «On the Various Bisection Methods Derived from Vincent's Theorem». Serdica Journal of Computing 2 (1): 89–104. http://sci-gems.math.bas.bg:8080/jspui/handle/10525/376. 
  20. Fourier, Jean Baptiste Joseph (1820). «Sur l'usage du théorème de Descartes dans la recherche des limites des racines». Bulletin des Sciences, par la Société Philomatique de Paris: 156–165. http://ia600309.us.archive.org/22/items/bulletindesscien20soci/bulletindesscien20soci.pdf. 
  21. Akritas, Alkiviadis G. (1986). There's no "Uspensky's Method". In: Proceedings of the fifth ACM Symposium on Symbolic and Algebraic Computation (SYMSAC '86, Waterloo, Ontario, Canada), pp. 88–90. 
  22. 22,0 22,1 Akritas, Alkiviadis G. (2008). There is no "Descartes' method". In: M.J.Wester and M. Beaudin (Eds), Computer Algebra in Education, AullonaPress, USA, pp. 19-35. 

Εξωτερικοί σύνδεσμοι

CC-BY-SA
Μετάφραση
Στο λήμμα αυτό έχει ενσωματωθεί κείμενο από το λήμμα Vincent's theorem της Αγγλικής Βικιπαίδειας, η οποία διανέμεται υπό την GNU FDL και την CC-BY-SA 4.0. (ιστορικό/συντάκτες).