Ανάπτυγμα Λαπλάς

Από testwiki
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση

Στη γραμμική άλγεβρα, το ανάπτυγμα Λαπλάς[1][2][3], το οποίο πήρε το όνομά του από τον Πιερ-Σιμόν ντε Λαπλάς, και ονομάζεται επίσης ανάπτυγμα συμπαράγοντα, είναι μια έκφραση της ορίζουσας ενός Πρότυπο:Math-πίνακα Πρότυπο:Mvar ως σταθμισμένο άθροισμα ελάσσονων, που είναι οι ορίζουσες κάποιων Πρότυπο:Math-υποπινάκων του Πρότυπο:Mvar. Συγκεκριμένα, για κάθε Πρότυπο:Mvar, το ανάπτυγμα Λαπλάς κατά μήκος της Πρότυπο:Mvar-th γραμμής είναι η ισότητα

det(B)=j=1n(1)i+jbi,jmi,j,

όπου bi,j είναι η καταχώρηση της Πρότυπο:Mvar-th γραμμής και της Πρότυπο:Mvar-th στήλης του Πρότυπο:Mvar, και mi,j είναι η ορίζουσα του υποπίνακα που προκύπτει με την αφαίρεση της Πρότυπο:Mvar-th γραμμής και της Πρότυπο:Mvar-th στήλης του Πρότυπο:Mvar. Ομοίως, το ανάπτυγμα Λαπλάς κατά μήκος της Πρότυπο:Mvar-th στήλης είναι η ισότητα

det(B)=i=1n(1)i+jbi,jmi,j.

(Κάθε ταυτότητα συνεπάγεται την άλλη, αφού οι ορίζουσες ενός πίνακα και του Ανάστροφού του είναι οι ίδιες.)

Ο συντελεστής (1)i+jmi,j του bi,j στο παραπάνω άθροισμα ονομάζεται συμπαράγοντας του bi,j στο Πρότυπο:Mvar.

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

Παραδείγματα

Ας εξετάσουμε τον πίνακα[4][5]

B=[123456789].

Η ορίζουσα αυτού του πίνακα μπορεί να υπολογιστεί χρησιμοποιώντας το ανάπτυγμα Λαπλάς κατά μήκος οποιασδήποτε από τις γραμμές ή τις στήλες του. Παραδείγματος χάριν, ένα ανάπτυγμα κατά μήκος της πρώτης γραμμής δίνει:

|B|=1|5689|2|4679|+3|4578|=1(3)2(6)+3(3)=0.

Το ανάπτυγμα Λσπλάς κατά μήκος της δεύτερης στήλης δίνει το ίδιο αποτέλεσμα:

|B|=2|4679|+5|1379|8|1346|=2(6)+5(12)8(6)=0.

Είναι εύκολο να επαληθευτεί ότι το αποτέλεσμα είναι σωστό: ο πίνακας είναι αντιστρέψιμος πίνακας επειδή το άθροισμα της πρώτης και της τρίτης στήλης του είναι διπλάσιο της δεύτερης στήλης, και επομένως ο προσδιοριστής του είναι μηδέν.

Απόδειξη

Έστω ότι ο B είναι ένας n × n πίνακας και i,j{1,2,,n}. Για λόγους σαφήνειας ονομάζουμε επίσης τις καταχωρήσεις του B που συνθέτουν τον i,j ελάσσονα πίνακα Mij ως εξής[6]

(ast) for 1s,tn1.

Ας εξετάσουμε τους όρους στο ανάπτυγμα του |B| που έχουν ως παράγοντα το bij. Καθένας από αυτούς έχει τη μορφή

sgnτb1,τ(1)bi,jbn,τ(n)=sgnτbija1,σ(1)an1,σ(n1)

για κάποια μετάθεση Πρότυπο:Math, και μια μοναδική και προφανώς σχετική μετάθεση σSn1 η οποία επιλέγει τις ίδιες δευτερεύουσες καταχωρήσεις με την Πρότυπο:Mvar Ομοίως κάθε επιλογή του σ καθορίζει ένα αντίστοιχο Πρότυπο:Mvar, δηλαδή η αντιστοιχία στ είναι μια αμφίρριψη μεταξύ Sn1 και {τSn:τ(i)=j}. Χρησιμοποιώντας τον συμβολισμό δύο γραμμών του Κωσύ, η ρητή σχέση μεταξύ τ και σ μπορεί να γραφεί ως εξής

σ=(12in1()j(τ(1))()j(τ(2))()j(τ(i+1))()j(τ(n)))

όπου ()j είναι μια προσωρινή συντομογραφία για έναν κύκλο (n,n1,,j+1,j). Αυτή η πράξη μειώνει όλους τους δείκτες μεγαλύτερους από j έτσι ώστε κάθε δείκτης να χωράει στο σύνολο {1,2,...,n-1}

Η μετάθεση Πρότυπο:Mvar μπορεί να προκύψει από την Πρότυπο:Mvar ως εξής. Ορίζουμε το σSn με σ(k)=σ(k) για 1kn1 και σ(n)=n. Τότε το σ εκφράζεται ως εξής

σ=(12in1n()j(τ(1))()j(τ(2))()j(τ(i+1))()j(τ(n))n)

Τώρα, η πράξη που εφαρμόζει πρώτα το ()i και μετά το σ είναι (Σημειώστε ότι η εφαρμογή του Α πριν από το Β είναι ισοδύναμη με την εφαρμογή του αντίστροφου του Α στην πάνω σειρά του Β σε συμβολισμό δύο γραμμών)

σ()i=(12i+1ni()j(τ(1))()j(τ(2))()j(τ(i+1))()j(τ(n))n)

όπου ()i είναι προσωρινή συντομογραφία για (n,n1,,i+1,i).

η πράξη που εφαρμόζει πρώτα το τ και στη συνέχεια το ()j είναι

()jτ=(12in1n()j(τ(1))()j(τ(2))n()j(τ(n1))()j(τ(n)))

τα δύο παραπάνω είναι ίσα, άρα,

()jτ=σ()i
τ=()jσ()i

όπου ()j είναι το αντίστροφο του ()j που είναι (j,j+1,,n).

Συνεπώς

τ=(j,j+1,,n)σ(n,n1,,i)

Δεδομένου ότι οι δύο κύκλοι μπορούν να καταγραφούν αντίστοιχα ως μεταθέσεις ni και nj,

sgnτ=(1)2n(i+j)sgnσ=(1)i+jsgnσ.

Και αφού η απεικόνιση στ είναι αμφιρριπτική,

i=1nτSn:τ(i)=jsgnτb1,τ(1)bn,τ(n)=i=1nσSn1(1)i+jsgnσbija1,σ(1)an1,σ(n1)=i=1nbij(1)i+jσSn1sgnσa1,σ(1)an1,σ(n1)=i=1nbij(1)i+jMij

από το οποίο προκύπτει το αποτέλεσμα. Ομοίως, το αποτέλεσμα ισχύει αν ο δείκτης του εξωτερικού αθροίσματος αντικατασταθεί με j. [7]

Ανάπτυγμα Λαπλάς μιας ορίζουσας με συμπληρωματικά ελάσσονες

Το ανάπτυγμα του Λαπλάς με συμπαράγοντες μπορεί να γενικευτεί ως εξής.

Παράδειγμα

Ας θεωρήσουμε τον πίνακα

A=[12345678910111213141516].

Η ορίζουσα αυτού του πίνακα μπορεί να υπολογιστεί χρησιμοποιώντας το ανάπτυγμα του συντελεστή Λαπλάς κατά μήκος των δύο πρώτων γραμμών ως εξής. Αρχικά ας σημειωθεί ότι υπάρχουν 6 σύνολα δύο διαφορετικών αριθμών στο Πρότυπο:Math, δηλαδή έστω S={{1,2},{1,3},{1,4},{2,3},{2,4},{3,4}} το προαναφερθέν σύνολο.

Με τον ορισμό των συμπληρωματικών συμπαράγοντων να είναι

b{j,k}=|a1ja1ka2ja2k|,
c{p,q}=|a3pa3qa4pa4q|,

και το πρόσημο της αντιμετάθεσής τους να είναι

ε{j,k},{p,q}=sgn[1234jkpq], where pj,qk.

Η ορίζουσα του A μπορεί να γραφτεί ως εξής

|A|=HSεH,HbHcH,

όπου H είναι το συμπληρωματικό σύνολο του H.

Στο ρητό παράδειγμά μας, αυτό δίνει

|A|=b{1,2}c{3,4}b{1,3}c{2,4}+b{1,4}c{2,3}+b{2,3}c{1,4}b{2,4}c{1,3}+b{3,4}c{1,2}=|1256||11121516||1357||10121416|+|1458||10111415|+|2367||9121316||2468||9111315|+|3478||9101314|=4(4)(8)(8)+(12)(4)+(4)(12)(8)(8)+(4)(4)=1664+48+4864+16=0.

Όπως και παραπάνω, είναι εύκολο να επαληθεύσετε ότι το αποτέλεσμα είναι σωστό: ο πίνακας είναι αντιστρέψιμος επειδή το άθροισμα της πρώτης και της τρίτης στήλης του είναι διπλάσιο της δεύτερης στήλης, και επομένως η ορίζουσα του είναι μηδέν.

Γενική δήλωση

Έστω B=[bij] ένας Πρότυπο:Math πίνακας και S το σύνολο των Πρότυπο:Math-στοιχείων υποσυνόλων του Πρότυπο:Math, H ένα στοιχείο του. Τότε η ορίζουσα του B μπορεί να αναπτυχθεί κατά μήκος του Πρότυπο:Math σειρές που προσδιορίζονται από το H ως εξής:

|B|=LSεH,LbH,LcH,L

όπου εH,L είναι το πρόσημο της αντιμετάθεσης που καθορίζεται από H και L, ίσο με (1)(hHh)+(L), bH,L το ελάσσονα τετράγωνο του B που λαμβάνεται διαγράφοντας από το B γραμμές και στήλες με δείκτες στο H και L αντίστοιχα, και cH,L (που ονομάζεται συμπλήρωμα του bH,L) που ορίζονται ως bH,L , H και L είναι το συμπλήρωμα των H και L αντίστοιχα.

Αυτό συμπίπτει με το παραπάνω θεώρημα όταν k=1. Το ίδιο πράγμα ισχύει για οποιεσδήποτε σταθερές Πρότυπο:Math στήλες.

Υπολογιστική δαπάνη

Το ανάπτυγμα Λαπλάς είναι υπολογιστικά αναποτελεσματικό για πίνακες μεγάλης διάστασης, με χρονική πολυπλοκότητα σε συμβολισμό μεγάλου O της τάξης τουΠρότυπο:Math. Εναλλακτικά, η χρήση μιας ανάλυσης σε τριγωνικούς πίνακες, όπως στην LU παραγοντοποίηση[8], μπορεί να δώσει ορίζουσες με χρονοπλοκότητα Πρότυπο:Math.[9] Ο ακόλουθος κώδικας Python υλοποιεί το ανάπτυγμα Λαπλάς:

def determinant(M):
    # Base case of recursive function: 1x1 matrix
    if len(M) == 1: 
        return M[0][0]

    total = 0
    for column, element in enumerate(M[0]):
        # Exclude first row and current column.
        K = [x[:column] + x[column + 1 :] for x in M[1:]]
        s = 1 if column % 2 == 0 else -1 
        total += s * element * determinant(K)
    return total

Δημοσιεύσεις

Δείτε επίσης

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

Παραπομπές

Πρότυπο:Reflist

Πρότυπο:Authority control Πρότυπο:Portal bar