Previous Up Next

1.48.3  Παραγοντοποίηση LU : lu

lu παίρνει ως όρισμα έναν τετραγωνικό πίνακα A μεγέθους n (αριθμητικό ή συμβολικό).
lu επιστρέφει μια μετάθεση (διάταξη) p των στοιχείων 0..n−1, έναν κάτω τριγωνικό πίνακα L, με 1 στη διαγώνιο, και έναν άνω τριγωνικό πίνακα U, έτσι ώστε :

Ο πίνακας μεταθέσεων P ορίζεται από την p ως :

P[ip(i)]=1,    P[ij]=0  εάν  j  ≠ p(i

Με άλλα λόγια, είναι ο ταυτοτικός πίνακας όπου οι γραμμές μετατίθενται σύμφωνα με την μετάθεση p. Η συνάρτηση permu2mat χρησιμοποιείται για τον υπολογισμό του P ( permu2mat(p) επιστρέφει τον πίνακα P).
Είσοδος :

[p,L,U]:=lu([[3.,5.],[4.,5.]])

Έξοδος :

[1,0],[[1,0],[0.75,1]],[[4.0,5.0],[0,1.25]]

Εδώ n=2, και επομένως :

P[0,p(0)]=P[0,1]=1,     P[1,p(1)]=P[1,0]=1,    P=[[0,1],[1,0]] 

Επαλήθευση :
Είσοδος (όπου A:=[[3.,5.],[4.,5.]]) :

permu2mat(p)*A; L*U

Έξοδος:

[[4.0,5.0],[3.0,5.0]],[[4.0,5.0],[3.0,5.0]]

Να σημειωθεί ότι η μετάθεση είναι διαφορετική για ακριβή είσοδο (ως οδηγός επιλέγεται ο απλούστερος αντί για τον μεγαλύτερο σε απόλυτη τιμή).
Είσοδος :

lu([[1,2],[3,4]])

Έξοδος :

[1,0],[[1,0],[3,1]],[[1,2],[0,-2]]

Είσοδος :

lu([[1.0,2],[3,4]])

Έξοδος :

[1,0],[[1,0],[0.333333333333,1]],[[3,4], [0,0.666666666667]]

Previous Up Next