Fattorizzazione LR (calcolo numerico).
Ciao ragazzi. Spero che qualcuno sia ferrato di calcolo numerico, in quanto ho un problema per calcolare la fattorizzazione LR. Chiedo aiuto a voi in quanto, riguardo questo particolare argomento, ho degli appunti sprecisi e al momento non posso procurarmeli. Ho cercato pure in Internet, ma ci capisco poco.
Vi linko il foglio scannerizzato scritto dal professore, con il quale poi fa la lezione:
http://www2.ing.unipi.it/~d8363/esami/CalcNum_07-08/Lezione_22-23.pdf .
Come vedete sulla pagina di sinistra, verso la metà, accenna le fattorizzazioni LR e QR. Dopodichè, sulla destra, fa un mezzo esempio di come si usi la fattorizzazione LR. Il problema è che io capisco sempre di più con esempi numerici, e poco dalla teoria .. Se ci fosse qualcuno in grado di spiegarmi i pasaggi 1) e 2) [magari usando la stessa matrice di sopra] gliene sarei grato.
in sintesi mi vien difficile capire come si ricavi H1 e H2 ..
Grazie.
Vi linko il foglio scannerizzato scritto dal professore, con il quale poi fa la lezione:
http://www2.ing.unipi.it/~d8363/esami/CalcNum_07-08/Lezione_22-23.pdf .
Come vedete sulla pagina di sinistra, verso la metà, accenna le fattorizzazioni LR e QR. Dopodichè, sulla destra, fa un mezzo esempio di come si usi la fattorizzazione LR. Il problema è che io capisco sempre di più con esempi numerici, e poco dalla teoria .. Se ci fosse qualcuno in grado di spiegarmi i pasaggi 1) e 2) [magari usando la stessa matrice di sopra] gliene sarei grato.

Grazie.

Risposte
Non è molto chiaro...si legge appena. Comunque se ho capito si tratta di quella che io chiamo fattorizzazione LU e generalmente conosciuta come metodo di eliminazione gaussiana.
Prova a guardare questo.
http://www.mat.uniroma3.it/users/ferret ... node2.html
Se poi hai difficoltà le vediamo.
Prova a guardare questo.
http://www.mat.uniroma3.it/users/ferret ... node2.html
Se poi hai difficoltà le vediamo.
Scusate l'ignoranza, ma finchè non capisco il ragionamento è inutile ..
Allora: quel che ho capito ..
Supponiamo di partire da una matrice A, di cui io voglio determinare la fatt. LR usando la procedura di Eliminazione di Gauss.
Questa la matrice:
$((1,2,1),(1,4,0),(1,6,0))$ ;
che cosa mi dice la fattorizzazione LR? Che, avendo una matrice A, posso riscriverla nella suddetta forma A=SD, con S triangolare inferiorire con gli elementi Skk=1, e D triangolare superiore.
Quindi:
$((1,2,1),(1,4,0),(1,6,0))$ = $((1,0,0),(S21,1,0),(S31,S32,1))$$((D11,D12,D13),(0,D22,D23),(0,0,D33))$ .
Ora che dovrei fare? Usare l'eliminazione di Gauss? Mi fate 2 o 3 passaggi usando i numeri VERI di 'sta matrice, e non lettere .. perchè sono tonto e capiscono solo con gli esempi.
Il tuo link parla di sostituzione all'indietro, un es.?
p.s. Megan, vengo anche io a Pisa: ho da dare Calcolo Numerico col Ciampa M. Se fai ingegneria può darsi lo conosci.
p.p.s. Magari il Ciampa sei te.
Allora: quel che ho capito ..
Supponiamo di partire da una matrice A, di cui io voglio determinare la fatt. LR usando la procedura di Eliminazione di Gauss.
Questa la matrice:
$((1,2,1),(1,4,0),(1,6,0))$ ;
che cosa mi dice la fattorizzazione LR? Che, avendo una matrice A, posso riscriverla nella suddetta forma A=SD, con S triangolare inferiorire con gli elementi Skk=1, e D triangolare superiore.
Quindi:
$((1,2,1),(1,4,0),(1,6,0))$ = $((1,0,0),(S21,1,0),(S31,S32,1))$$((D11,D12,D13),(0,D22,D23),(0,0,D33))$ .
Ora che dovrei fare? Usare l'eliminazione di Gauss? Mi fate 2 o 3 passaggi usando i numeri VERI di 'sta matrice, e non lettere .. perchè sono tonto e capiscono solo con gli esempi.

p.s. Megan, vengo anche io a Pisa: ho da dare Calcolo Numerico col Ciampa M. Se fai ingegneria può darsi lo conosci.
p.p.s. Magari il Ciampa sei te.

Non sono il Ciampa e soprattutto non faccio ingegneria! Ciampa lo conosco di nome da amici ingegneri ma lui sta al dma, praticamente dall'altra parte di via buonarroti rispetto a noi.
Allora per fare la fattorizzazione LU di una matrice A (dando per scontato che sia possibile) si usano vari metodi. Il più semplice è il metodo di Gauss che riferito al sistema lineare associato alla matrice prende il nome di eliminazione gaussiana.
La fattorizzazione secondo il metodo di Gauss funziona così:
ci sono n-1 passi (dove n è l'ordine di A); al primo passo moltiplichi la matrice A per una matrice elementare $((1,,,),(-m_(21),1,,),(vdots,,ddots,),(-m_(n1),,,1))$ dove $m_(i1)=a_(i1)/a_(11)$. Fare questa moltiplicazione di matrici vuol dire in altre parole sommare a ciascuna i-esima riga eccetto la prima l'i-esima riga meno la prima moltiplicata per $a_(i1)$ e divisa per $a_(11)$.
Ciò che ottieni è la matrice $A^((1))$ che ha la prima colonna tutta nulla eccetto il primo elemento.
Al secondo passo moltiplichi $A^((1))$ per la matrice elementare $((1,,,,),(,1,,,),(,-m_(32),1,,),(,vdots,,ddots,),(,-m_(n2),,,1))$ dove $m_(i2)=a_(i2)^((1))/a_(22)^((2))$.(occhio sto prendendo gli elementi della matrice $A^((1))$ e non di A). Anche stavolta stai sostituendo ad ogni i-esima riga eccetto prima e seconda la stessa i-esima riga meno la seconda moltiplicata per $m_(i2)$.
Facendo n-1 volte questo procedimento vedi che l'ultima matrice che ottieni $A^((n-1))$ è triangolare superiore ed è la prima delle due che volevi ottenere.
La seconda la ottieni moltiplicando nell'ordine inverso a come le hai usate le matrici elementari, il cui prodotto appunto è una matrice triangolare inferiore con elementi principali tutti 1.
Nel caso della tua matrice:
$A=((1,2,1),(1,4,0),(1,6,0))$
La prima matrice elementare è
$E^((1))=((1,,),(-1,1,),(-1,,1))$
Quindi:
$A^((1))=((1,2,1),(,2,-1),(,4,-1))$
Al secondo passo la matrice elementare è:
$E^((2))=((1,,),(,1,),(,-2,1))$
Moltiplicando ottieni:
$A^((2))=((1,2,1),(,2,-1),(,,-3))$
Ti fermi perchè hai fatto n-1 passi (2 passi) e la matriche che hai ottenuto è proprio triangolare superiore.
Per quanto riguarda la triangolare inferiore, questa la ottieni moltiplicando $E^((2))E^((1))$ cioè le matrici elmentari nell'ordine inverso a cui le hai usate..
Allora per fare la fattorizzazione LU di una matrice A (dando per scontato che sia possibile) si usano vari metodi. Il più semplice è il metodo di Gauss che riferito al sistema lineare associato alla matrice prende il nome di eliminazione gaussiana.
La fattorizzazione secondo il metodo di Gauss funziona così:
ci sono n-1 passi (dove n è l'ordine di A); al primo passo moltiplichi la matrice A per una matrice elementare $((1,,,),(-m_(21),1,,),(vdots,,ddots,),(-m_(n1),,,1))$ dove $m_(i1)=a_(i1)/a_(11)$. Fare questa moltiplicazione di matrici vuol dire in altre parole sommare a ciascuna i-esima riga eccetto la prima l'i-esima riga meno la prima moltiplicata per $a_(i1)$ e divisa per $a_(11)$.
Ciò che ottieni è la matrice $A^((1))$ che ha la prima colonna tutta nulla eccetto il primo elemento.
Al secondo passo moltiplichi $A^((1))$ per la matrice elementare $((1,,,,),(,1,,,),(,-m_(32),1,,),(,vdots,,ddots,),(,-m_(n2),,,1))$ dove $m_(i2)=a_(i2)^((1))/a_(22)^((2))$.(occhio sto prendendo gli elementi della matrice $A^((1))$ e non di A). Anche stavolta stai sostituendo ad ogni i-esima riga eccetto prima e seconda la stessa i-esima riga meno la seconda moltiplicata per $m_(i2)$.
Facendo n-1 volte questo procedimento vedi che l'ultima matrice che ottieni $A^((n-1))$ è triangolare superiore ed è la prima delle due che volevi ottenere.
La seconda la ottieni moltiplicando nell'ordine inverso a come le hai usate le matrici elementari, il cui prodotto appunto è una matrice triangolare inferiore con elementi principali tutti 1.
Nel caso della tua matrice:
$A=((1,2,1),(1,4,0),(1,6,0))$
La prima matrice elementare è
$E^((1))=((1,,),(-1,1,),(-1,,1))$
Quindi:
$A^((1))=((1,2,1),(,2,-1),(,4,-1))$
Al secondo passo la matrice elementare è:
$E^((2))=((1,,),(,1,),(,-2,1))$
Moltiplicando ottieni:
$A^((2))=((1,2,1),(,2,-1),(,,-3))$
Ti fermi perchè hai fatto n-1 passi (2 passi) e la matriche che hai ottenuto è proprio triangolare superiore.
Per quanto riguarda la triangolare inferiore, questa la ottieni moltiplicando $E^((2))E^((1))$ cioè le matrici elmentari nell'ordine inverso a cui le hai usate..
In questo momento ti voglio abbastanza bene.

Devo preoccuparmi?!



Ti ringrazio ancora. Ho fatto parecchi esercizi stamane, e più o meno mi son tornati. Ho notato però che se l'Eliminazione di Gauss termina su A .. il det A[k] è diverso da 0 per le K = 1 , .. , n-1 . O qualcosa del genere. Spero che la conclusione sia giusta, non ho appunti a riguardo e non vorrei dire una cazzata al prof.

Se A[k] è la sottomatrice principale di ordine k, hai detto giusto.
più che altro è il contrario, nel senso che se le matrici A[k] principali di testa di A sono non singolari allora il metodo "termina". In generale il metodo termina (nel senso che si può applicare) ad qualsiasi matrice usando pivoting o ignorando i passi banali, ma in quel caso perdi l'unicità della fattorizzazione.
"Megan00b":
più che altro è il contrario, nel senso che se le matrici A[k] principali di testa di A sono non singolari allora il metodo "termina"
Vale il se e solo se.
. In generale il metodo termina (nel senso che si può applicare) ad qualsiasi matrice usando pivoting o ignorando i passi banali, ma in quel caso perdi l'unicità della fattorizzazione.
Che intendi per passi banali?
Intendo che nell'implementazione del metodo (anche senza tecniche di pivoting), se trovi un pivot + tutti gli elementi sotto al pivot nulli fai un passo "vuoto" in cui cioè la matrice rimane invariata. E se non erro così il se e solo se salta...
Oi Megan. 
Oggi ho provato a fare degli es. nei quali si deve utilizare l'EG con pivoting altrimenti non si riesce. Non avendo le soluzioni non sò se ho fatto bene o meno, quindi ti/vi posto i vari passaggi sperando siano corretti.
Allora: si consideri la matrice $A=((0,0,2),(1,1,1),(2,1,0))$;
il primo passo del procedimento con pivot parziale mi dice che debbo trovare il massimo in modulo tra gli elementi della prima colonna: 2.
Dobbiamo portare il 2 in alto a sx, e per far ciò debbo scambiare la prima riga con la terza. Questa operazione è possibile utilizzando una matrice permutazione, ricavata da quella identità in cui ho appunto scambiato la prima riga con la terza: $P^((1))=((0,0,1),(0,1,0),(1,0,0))$.
Eseguendo quindi P1 * A avrò $A^((1))=((2,1,0),(1,1,1),(0,0,2))$.
Ora utilizzo il pivot per ricavarmi la matrice elementare che sarà uguale a $E^((1))=((1,0,0),(-1/2,1,0),(0,0,1))$.
Quindi eseguo E1 * P1 * A = E1 * A1 che è uguale a $A^((2))=((2,1,0),(0,1/2,1),(0,0,2))$.
Quindi, correggetemi se sbaglio, qui ci si dovrebbe fermare. L'ultima matrice è triangolare superiore ..
Ponendo D = A2 = E1 * P1 * A, ho che A = [P1^Trasp. * E^-1 ] * D, dove la roba fra le quadre è triang. inferiore e D è triangolare superiore.
Ho sbagliato?

Oggi ho provato a fare degli es. nei quali si deve utilizare l'EG con pivoting altrimenti non si riesce. Non avendo le soluzioni non sò se ho fatto bene o meno, quindi ti/vi posto i vari passaggi sperando siano corretti.
Allora: si consideri la matrice $A=((0,0,2),(1,1,1),(2,1,0))$;
il primo passo del procedimento con pivot parziale mi dice che debbo trovare il massimo in modulo tra gli elementi della prima colonna: 2.
Dobbiamo portare il 2 in alto a sx, e per far ciò debbo scambiare la prima riga con la terza. Questa operazione è possibile utilizzando una matrice permutazione, ricavata da quella identità in cui ho appunto scambiato la prima riga con la terza: $P^((1))=((0,0,1),(0,1,0),(1,0,0))$.
Eseguendo quindi P1 * A avrò $A^((1))=((2,1,0),(1,1,1),(0,0,2))$.
Ora utilizzo il pivot per ricavarmi la matrice elementare che sarà uguale a $E^((1))=((1,0,0),(-1/2,1,0),(0,0,1))$.
Quindi eseguo E1 * P1 * A = E1 * A1 che è uguale a $A^((2))=((2,1,0),(0,1/2,1),(0,0,2))$.
Quindi, correggetemi se sbaglio, qui ci si dovrebbe fermare. L'ultima matrice è triangolare superiore ..
Ponendo D = A2 = E1 * P1 * A, ho che A = [P1^Trasp. * E^-1 ] * D, dove la roba fra le quadre è triang. inferiore e D è triangolare superiore.
Ho sbagliato?
@lore: se d'accordo con me sulla faccenda del seesolose? se no, spiegami... può darsi che sbagli qualcosa.
@vagn: io sto un po' rincoglionito oggi quindi può darsi sbagli io, ma a me in $A^((2))$ al posto 22 viene $1/2$...o no?
@vagn: io sto un po' rincoglionito oggi quindi può darsi sbagli io, ma a me in $A^((2))$ al posto 22 viene $1/2$...o no?
E c'hai ragione.

We, scusate ancora il disturbo.
Provando a fare gli es. degli anni prima mi sono imbattuto in un problema di fattorizzazione a blocchi di cui non ho es. e non sò come trattare.
Ve lo scrivo:
Siano
$B=((1,0),(0,2))$ appartenente a C^2x2, e $A=((B,J),(J,B))$ appartenente a C^4x4 ..
.. calcolare una fattorizzazione LR a blocchi di A.
Conoscendo la fattorazzazione normale e quello di pivoting, come devo comportarmi con questi "blocchi"? Quale è il ragionamento?
Scusate ancora il disturbo.

Ve lo scrivo:
Siano
$B=((1,0),(0,2))$ appartenente a C^2x2, e $A=((B,J),(J,B))$ appartenente a C^4x4 ..
.. calcolare una fattorizzazione LR a blocchi di A.
Conoscendo la fattorazzazione normale e quello di pivoting, come devo comportarmi con questi "blocchi"? Quale è il ragionamento?
Scusate ancora il disturbo.
