Fattorizzazione LU e tecnica del pivoting
salve mi trovo alle prime armi con analisi numerica e c'è questo esercizio fatto dalla mia prof che non capisco
si risolva $Ax=b$ con $ A=({: ( 0.1 , 1 , 3.0 ),( 0.5 , 1.5 , 1.0 ),( -4.0 , -1 , -2.0 ) :}) $ e $ b=( ( -2.05 ),( 0.25 ),( -0.8 ) ) $
usando una approssimazione a 4 cifre decimali del risultato di ogni operazione.
L'esercizio è stato risolto trovando la fattorizzazione $LU$ di $A$ con la tecnica del pivoting,ottenendo quindi la fattorizzazione $PA=LU$ con $ U=( ( -4.0 , -1.0 , -2.0 ),( 0 , 1.375 , 0.75 ),( 0 , 0 , 2.418)) L=( ( 1.0 , 0 , 0 ),( -0.1250 , 1.0 , 0 ),( -0.0250 , 0.7091 , 1.0 ) ) P=( ( 0 , 0 , 1 ),( 0 , 1 , 0 ),( 1 , 0 , 0 ) ) $
e gia non capisco,perche utilizzando l'algoritmo di eliminazione di Gauss (MEG) non ho riscontrato che la matrice $U$ avesse elementi nulli sulla diagonale,quindi che senso avrebbe utilizzare una matrice di permutazione per scambiare righe?
la matrice A puo' essere facilmente ridotta a $ U=( ( 0.1 , 1 , 3.0 ),( 0 , -3.5 , -14 ),( 0 , 0 , -37.9992 ) ) $ utilizzando un approssimazione a 4 cifre decimali.
forse il problema sta nel fatto che non ho capito effettivamente cosa si intende per approssimazione a 4 cifre decimali...
inoltre i minori della $A$ sono tutti non nulli,quindi non capisco perché "conviene" usare la tecnica del pivoting,e anche se la usassi non saprei neanche come ottenere quel risultato..
si risolva $Ax=b$ con $ A=({: ( 0.1 , 1 , 3.0 ),( 0.5 , 1.5 , 1.0 ),( -4.0 , -1 , -2.0 ) :}) $ e $ b=( ( -2.05 ),( 0.25 ),( -0.8 ) ) $
usando una approssimazione a 4 cifre decimali del risultato di ogni operazione.
L'esercizio è stato risolto trovando la fattorizzazione $LU$ di $A$ con la tecnica del pivoting,ottenendo quindi la fattorizzazione $PA=LU$ con $ U=( ( -4.0 , -1.0 , -2.0 ),( 0 , 1.375 , 0.75 ),( 0 , 0 , 2.418)) L=( ( 1.0 , 0 , 0 ),( -0.1250 , 1.0 , 0 ),( -0.0250 , 0.7091 , 1.0 ) ) P=( ( 0 , 0 , 1 ),( 0 , 1 , 0 ),( 1 , 0 , 0 ) ) $
e gia non capisco,perche utilizzando l'algoritmo di eliminazione di Gauss (MEG) non ho riscontrato che la matrice $U$ avesse elementi nulli sulla diagonale,quindi che senso avrebbe utilizzare una matrice di permutazione per scambiare righe?
la matrice A puo' essere facilmente ridotta a $ U=( ( 0.1 , 1 , 3.0 ),( 0 , -3.5 , -14 ),( 0 , 0 , -37.9992 ) ) $ utilizzando un approssimazione a 4 cifre decimali.
forse il problema sta nel fatto che non ho capito effettivamente cosa si intende per approssimazione a 4 cifre decimali...
inoltre i minori della $A$ sono tutti non nulli,quindi non capisco perché "conviene" usare la tecnica del pivoting,e anche se la usassi non saprei neanche come ottenere quel risultato..
Risposte
la tecnica del pivoting a volte la si usa anche quando non sarebbe necessaria per dei motivi di stabilità numerica. Per avere un risultato che si avvicina sempre alla soluzione esatta è bene massimizzare gli elementi pivotali (quelli sulla diagonale) quindi si fanno degli scambi di riga anche quando questi elementi sono non nulli.
"walter89":
la tecnica del pivoting a volte la si usa anche quando non sarebbe necessaria per dei motivi di stabilità numerica. Per avere un risultato che si avvicina sempre alla soluzione esatta è bene massimizzare gli elementi pivotali (quelli sulla diagonale) quindi si fanno degli scambi di riga anche quando questi elementi sono non nulli.
per massimizzare intendi fare in modo che sulla diagonale di $U$ gli elementi $u_(ii)$ siano in modulo maggiori della somma degli elementi della riga a cui appartengono? quindi intendi dire che ad esempio l'elemento $a_11=0.1$ è considerato uno zero?la matrice quindi sarebbe mal condizionata?
"walter89":
la tecnica del pivoting a volte la si usa anche quando non sarebbe necessaria per dei motivi di stabilità numerica. Per avere un risultato che si avvicina sempre alla soluzione esatta è bene massimizzare gli elementi pivotali (quelli sulla diagonale) quindi si fanno degli scambi di riga anche quando questi elementi sono non nulli.
Il metodo da usare spesso dipende dal problema. In ogni caso se un problema è mal condizionato direi che non ti avvicini alla soluzione neanche con un buon pivoting (anche con il pivoting completo).
A volte però, anche quando la matrice è ben condizionata, capita che l'algoritmo LU risulti instabile. Questo in genere dipende dal fatto che si stanno facendo i calcoli con un computer e non con numeri reali.
In genere si cerca un metodo che risulti il più stabile possibile a parità di numero di operazioni.