Παραγοντοποίηση Cholesky : cholesky

### 1.48.1 Παραγοντοποίηση `Cholesky` : `cholesky`

`cholesky` παίρνει ως όρισμα έναν τετραγωνικό, συμμετρικό, και θετικά ορισμένο πίνακα `A` μεγέθους n.
`cholesky` επιστρέφει έναν συμβολικό ή αριθμητικό πίνακα `P`. Ο `P` είναι ένας κάτω τριγωνικός πίνακας τέτοιος ώστε :

`P*tran(P)=A`

Είσοδος :

`cholesky([[1,1],[1,5]])`

Έξοδος :

`[[1,0],[1,2]]`

Είσοδος :

`cholesky([[3,1],[1,4]])`

Έξοδος :

`[[sqrt(3),0],[(sqrt(3))/3,(sqrt(33))/3]]`

Είσοδος :

`cholesky([[1,1],[1,4]])`

Έξοδος :

`[[1,0],[1,sqrt(3)]]`

Προσοχή Εάν το όρισμα, δηλαδή ο πίνακας A, δεν είναι ένας συμμετρικός πίνακας, `cholesky` δεν επιστρέφει λάθος, αντ’ αυτού `cholesky` θα χρησιμοποιήσει τον συμμετρικό πίνακα B της τετραγωνικής μορφής q που αντιστοιχεί στη (μη συμμετρική) διγραμμική μορφή του πίνακα A.
Είσοδος :

`cholesky([[1,-1],[-1,4]])`

ή :

`cholesky([[1,-3],[1,4]])`

Έξοδος :

`[[1,0],[-1,sqrt(3)]]`