Decomposizione LU (m=n)
Questa pagina consente di eseguire la decomposizione LU di una matrice quadrata [A] di n righe e n colonne.
Ovvero, per una assegnata matrice [A], si determina una matrice triangolare bassa [L] e una matrice triangolare alta [U] tale che risulta :
[A]=[L]·[U]
Le incognite del problema di decomposizione sono i coefficienti delle matrici [L] e [U], in numero di n2+n.
Le equazioni disponibili sono pero' n2. Pertanto si conviene di assumere con valore unitario tutti i termini diagonali della matrice [L] o della matrice [U]
Ne derivano 2 metodi di calcolo alternativi:
- metodo di Doolittle, assumendo unitari i coefficienti diagonali della matrice [L]
- metodo di Crout, assumendo unitari i coefficienti diagonali della matrice [U]
Qui verra' utilizzato il metodo di Doolittle che corrisponde alle seguenti 2 equazioni:
di cui la prima vale per per i≤j e la seconda per i>j
per il metodo di Crout le relazioni da impiegare sono, invece, le seguenti:
Dalle relazioni di Doolittle si nota che quando si vanno a calcolare i termini li,j si deve aver gia' calcolato il termine uj,j.
Pertanto e' necessario aver prima calcolato ui,j la qual cosa comporta procedere per colonne, ovvero utilizzare un loop esterno per righe e un loop interno per colonne.
Se si usano le relazioni di Crout e' necessario invece calcolare prima i coefficienti li,j e pertanto procedere per righe.
Sempre dalle relazioni di Doolittle si nota anche che quando si vanno a calcolare ui,j e li,j si utilizzano coefficienti li,k relativi a colonne precedenti sulla stessa riga e coefficienti ui,k relativi a righe precedenti sulla stessa colonna.
Inoltre il termine matriciale ai,j non serve piu' dopo aver calcolato ui,j e li,j
Pertanto si possono memorizzare i coefficienti delle matrici [L] e [U] al posto dei coefficienti della matrice [A] tralasciando i termini diagonali unitari, che sono quelli della matrice [L] nel caso di Doolittle o della matrice [U] nel caso di Crout.
Per un esempio di decomposizione immettere la matrice da decomporre, dopo averne fissate le dimensioni, e attivare il calcolo agendo sul pulsante Eval.
Una operazione illecita sarebbe la divisione per un coefficiente uj,j o li,i nullo.
Nel caso della decomposizione LU applicata alla risoluzione di un sistema lineare, in un caso del genere, il programma proverebbe ad eseguire operazioni di scambio righe o di colonne (pivoting) essendo lo scopo del problema la risoluzione del sistema di equazioni lineari.
In questo caso si suppone che l'utente voglia decomporre la matrice fornita in input, pertanto non vengono eseguite operazioni di scambio righe o scambio colonne e se l'operazione di calcolo e' impossibile il programma termina per errore.
L'utilizzo del presente foglio di calcolo e' freeware, a patto di accettare le condizioni qui appresso riportate.
Per quanto si sia fatto il possibile non si puo' garantire che i valori forniti siano esenti da errori e quindi si demanda agli utenti il compito di trovare conferma per altra via sia dei risultati ottenuti che dei valori di input eventualmente proposti rigettando qualunque tipo di responsabilita' per qualsiasi tipo di danno correlabile con il suo uso. Chi non accetta la sopracitata clausola di esclusione di responsabilita' non deve usare il foglio di calcolo.

