Sei sulla pagina 1di 69

Metodi diretti

Metodi Iterativi

Metodi numerici per la risoluzione di Sistemi Lineari

Stefano Berrone

Dipartimento di Matematica tel. 011 0907503 stefano.berrone@polito.it http://calvino.polito.it/~sberrone

Laboratorio di modellazione e progettazione materiali

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

di modellazione e progettazione materiali Stefano Berrone Metodi numerici per la risoluzione di Sistemi Lineari
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Problemi Triangolari - Sostituzione in avanti

Vogliamo risolvere il sistema lineare Ly = b con L triangolare inferiore (lower triangular) non singolare.

l 11

l 21

l 31

.

.

.

l n1

0

l 22

l 32

l n2

0

0

l 33

.

l n3

0

0

0

l

nn

y

y

y

.

.

.

y

1

2

3

n

=

b

b

b

.

.

.

b

1

2

3

n

  b b b . . . b 1 2 3 n   

Osservazione Se L `e non singolare, tutti gli elementi diagonali sono diversi da 0:

det(L) =

n

l ii

i=1

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

sono diversi da 0: det( L ) = n l ii i =1 Stefano Berrone Metodi
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Esplicitando le equazioni:

l 11 y 1 l 21 y 1 + l 22 y 2

.

.

.

l n1 y 1 + l n2 y 2 +

=

= b 2 ,

b 1 ,

+ l nn y n = b n .

=y 1 = b 1 /l 11

=y 2 = (b 2 l 21 y 1 )/l 22

=y i = (b i

Stefano Berrone

i1

j=1

l ij y j )/l ii

Metodi numerici per la risoluzione di Sistemi Lineari

= ( b i − Stefano Berrone i − 1 j =1 l ij y j
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Metodo di sostituzione in avanti (o forward substitution):

for

i=1:n

y(i)=b(i);

for

j=1:i-1

 

y(i)=y(i)-L(i,j)*y(j);

 

end

y(i)=y(i)/L(i,i);

end

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

  end y(i)=y(i)/L(i,i); end Stefano Berrone Metodi numerici per la risoluzione di Sistemi Lineari
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Un’alternativa che sfrutta la capacit`a di MATLAB di operare su sottomatrici `e la seguente:

y(1)

=b(1)/L(1,1);

for

i=2:n

y(i)=(b(i)-L(i,1:i-1)*y(1:i-1))/L(i,i);

end

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

i=2:n y(i)=(b(i)- L(i,1:i-1)*y(1:i-1) )/L(i,i); end Stefano Berrone Metodi numerici per la risoluzione di Sistemi Lineari
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Sostituzione all’indietro

Vogliamo risolvere il sistema lineare Ux = y con U triangolare superiore (upper triangular) non singolare.

u 11

0

.

.

.

0

0

u

u

12

22

0

0

u

u

13

23

.

u n1,n1

0

u

u

1n

2n

u n1,n

u nn

x

1

x

2

x

.

.

.

x

3

n

=

y

y

y

.

.

.

y

1

2

3

n

.

  y y y . . . y 1 2 3 n   

Osservazione Di nuovo, dalla nonsingolarit`a di U segue che u ii = 0i

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

nonsingolarit`a di U segue che u i i = 0 ∀ i Stefano Berrone Metodi numerici
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

 

u 11 x 1 + u 12 x 2 + u 22 x 2 +

 

+

+

.

.

.

u n1,n1 x n1

+

=x n = y n /u nn .

u 1n x n u 2n x n

u n1,n x n u nn x n

=

=

=

=

y 1 , y 2 ,

y n1 ,

y n .

=x n1

= (y n1 u n1,n x n )/u n1,n1 .

=x i = (y i

Stefano Berrone

n

j=i+1

u ij x j )/u ii .

Metodi numerici per la risoluzione di Sistemi Lineari

− Stefano Berrone n j = i +1 u i j x j ) / u
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Metodo di sostituzione all’indietro (o backward substitution):

for

i=n:-1:1

x(i)=y(i);

for

j=i+1:n

 

x(i)=x(i)-U(i,j)*x(j);

 

end

x(i)=x(i)/U(i,i);

end

Sfruttando le funzioni ottimizzate della libreria BLAS:

x(n)=y(n)/U(n,n);

for

i=n-1:-1:1

x(i)=(y(i)-U(i,i+1:n)*x(i+1:n))/U(i,i);

end

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

x(i)=(y(i)-U(i,i+1:n)*x(i+1:n))/U(i,i); end Stefano Berrone Metodi numerici per la risoluzione di Sistemi Lineari
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Eliminazione Gaussiana

La risoluzione di sistemi triangolari `e quindi un problema particolarmente semplice da trattare. Idea: Nel caso di sistemi non triangolari, cercare di ricondursi ad uno o pi`u sistemi equivalenti di forma triangolare. Dato un sistema lineare Ax = b le seguenti operazioni conducono ad un sistema equivalente (ovvero con la stessa soluzione):

1 scambiare due equazioni;

2 moltiplicare un’equazione per uno scalare;

3 sostituire un’equazione con una combinazione lineare della stessa e di un’altra equazione.

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

lineare della stessa e di un’altra equazione. Stefano Berrone Metodi numerici per la risoluzione di Sistemi
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Metodo di eliminazione di Gauss:

consiste nell’applicare ripetutamente l’operazione 3 in modo da:

1 trasformare il sistema assegnato in un sistema a matrice triangolare superiore

2 e quindi nel risolvere il sistema equivalente cos`ı ottenuto con una backward substitution.

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

cos`ı ottenuto con una backward substitution . Stefano Berrone Metodi numerici per la risoluzione di Sistemi
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Scriviamo il sistema Ax = b esplicitamente:

a 11 x 1 + a 12 x 2 +

a 21 x 1 + a 22 x 2 + a 31 x 1 + a 32 x 2 +

.

.

.

a n1 x 1 + a n2 x 2 +

Supponiamo a 11 = 0

+ a 1n x n = b 1 ,

+ a 2n x n = b 2 , + a 3n x n = b 3 ,

+ a nn x n = b n .

r 2 r 2 + (a 11 21 ) r 1

a

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

r 2 + ( − a 11 2 1 ) ∗ r 1 a Stefano Berrone
 

Problemi triangolari

 
 

Metodi diretti

Eliminazione Gaussiana

 

Metodi Iterativi

Fattorizzazione LU

 
 

Pivoting

 

a 21 x 1 +

a 22 x 2

 

+

+

a 2n x n

=

b

2

+

a 21

a 11 ( a 11 x 1 +

a 12 x 2

+

+

a 1n x n

=

b

1

)

 

0x 1

+

a

(2)

+

+

a

(2)

=

b

(2)

 
 

22

x 2

2n

x n

2

.

(2)

= a 22 a 12 a 21 /a 11 ,

 

(2)

= a 2n a 1n a 21 /a 11 ,

 

a 22

 

,a

2n

b

b 2 b 1 a 21 /a 11 Nella seconda equazione non compare pi`u la prima incognita.

(2)

2

=

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

non compare pi`u la prima incognita. (2) 2 = Stefano Berrone Metodi numerici per la risoluzione
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Procediamo con tutte le ultime n 1 equazioni:

r i r i + m i1 r 1 ,

m i1 = a 11 ,

i1

a

i = 2,

,

i = 2,

,

n.

n

=

a

(1)

11

0

0

0

x 1

+

+

+

+

a

a

a

a

(1)

12

(2)

22

(2)

32

(2)

n2

x 2 + x 2 +

x 2 +

x 2 +

.

.

.

a = b i , i, j = 1,

=

a ij , b

(1)

i

ij

(2)

a a

ij

= ij

+ m i1 a

(1)

1j

, b

(2)

i

= b

(1)

(1)

,

n;

(1)

i

+ m i1 b

+

+

+

+

(1)

1

a

a

a

a

(1)

1n

(2)

2n

(2)

3n

(2)

nn

x n

x n

x n

x n

, i, j = 2,

=

=

=

=

b

b

b

b

, n.

(1)

1

(2)

2

(2)

3

(2)

n

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

= 2 , = = = = b b b b , n . (1) 1
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Seconda colonna:

supponiamo a

trasformate:

(2)

22

= 0. Eliminiamo x 2 dalle ultime n 2 equazioni

r i r i + r 2 m i2 ,

(2)

i2

m i2 = a

a

(2)

22

i = 3,

,

n

=

a

(1)

11

0

0

0

x 1

+

+

+

+

a

(3)

ij = a

(2)

ij + m i2 a

a

a

(1)

12

(2)

22

0

0

(2)

2j , b

x 2

x 2

(3)

i

+

+

+

a

a

a

+

a

(2)

= b i

Stefano Berrone

(1)

13

(2)

23

(3)

33

.

.

.

(3)

n3

x 3 + x 3 + x 3 +

x 3 +

(2)

+ m i2 b 2

+

+

+

+

a

a

a

a

, i, j = 3,

(1)

1n

(2)

2n

(3)

3n

(3)

nn

,

x n

x n

x n

x n

n

=

=

=

=

b

b

b

b

(1)

1

(2)

2

(3)

3

(3)

n

Metodi numerici per la risoluzione di Sistemi Lineari

nn , x n x n x n x n n = = = = b
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Dopo n 1 passi:

a

(1)

11

0

0

0

x 1

+

+

+

+

a

a

(1)

12

(2)

22

0

0

x 2

x 2

+

+

+

+

a

a

a

(1)

13

(2)

23

(3)

33

.

.

.

0

x 3 + x 3 + x 3 +

+

+

+

+

+

a

a

a

a

(1)

1n

(2)

2n

(3)

3n

(n)

nn

x n

x n

x n

x n

=

=

=

=

b

b

b

b

(1)

1

(2)

2

(3)

3

(n)

n

n x n x n x n = = = = b b b b (1)

Osservazione Il termine noto b ha subito esattamente tutte le trasformazioni subite dagli elementi della matrice A.

le trasformazioni subite dagli elementi della matrice A. Stefano Berrone Metodi numerici per la risoluzione di

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

subite dagli elementi della matrice A. Stefano Berrone Metodi numerici per la risoluzione di Sistemi Lineari
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Definizione (pivot e moltiplicatori)

L’elemento a 11 e i successivi elementi a

pivot. I coefficienti m ij sono detti moltiplicatori.

(i)

ii

sono detti elementi

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

moltiplicatori . ( i ) ii sono detti elementi Stefano Berrone Metodi numerici per la risoluzione
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Metodo di eliminazione di Gauss e fattorizzazione LU

In notazione matriciale, il k-esimo passo di eliminazione Gaussiana pu´o essere rappresentato come segue:

con

A (k+1) = M k A (k)

M k =

1

1

m k+1,k

.

.

.

m n,k

1

.

.

.

1

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

. . . m n , k 1 . . . 1    
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Dopo n 1 passi:

A (n) = M n1 A (n1) = M n1 M n2 A (n2)

=

e

b (n) = M n1

M 2 M 1 b

A (n) x = b (n)

con A (n) triangolare superiore

Ax = b MAx = Mb

Posto U = MA, si pu`o scrivere

Ux = Mb

= M n1

2 M 1

M

M

A

da cui ottengo la soluzione con sostituzione all’indietro.

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

la soluzione con sostituzione all’indietro. Stefano Berrone Metodi numerici per la risoluzione di Sistemi Lineari
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Esempio

Dati

4

A = 2

1

4

8

3

8

7

6

b = 9

7

12

calcolare la soluzione con eliminazione gaussiana.

e

M 1 =

1

1

2

1

4

M 1 (A|b) = 0

4

6

0 2

4

0

1

0

8

3

4

0

0

1

|

|

|

12

3

4

  .

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

8 3 4 0 0 1   | | | 12 3 4  
 

Problemi triangolari

Metodi diretti

 

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

 

Pivoting

 

Esempio

1

M 2 = 0

0

1

0

0

 

0

1 3

1

e

4

M 2 M 1 (A|b) = 0

0

 

4

8

|

12

3 = (U|b (3) ).

3

6

0

3

3

|

|

Con sostituzione all’indietro:

x 3 = 1

x 2 = (3 3 1)/6 = 0

x 1 = (12 4 0 8 1)/4 = 1

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

1 = (12 − 4 ∗ 0 − 8 ∗ 1) / 4 = 1 Stefano
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Com’`e fatta M?

- triangolare inferiore, ma

Poniamo

=

M

1

m

m

21

31

.

.

.

m n1

L = M 1

0

0

.

.

.

0

1

0

.

.

.

0

m 32

1

.

.

.

0

.

.

.

.

m n2

m n3

.

.

.

1

 

U = MA =LU = LMA = A

Quindi il sistema di partenza equivale a

LUx = b.

Com’`e fatta L? Suo ruolo?

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

a LUx = b . Com’`e fatta L ? Suo ruolo? Stefano Berrone Metodi numerici per
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Struttura di L

L triangolare inferiore.

Il calcolo `e meno complicato e costoso di quanto sembri a prima vista: non occorre costruire M e poi calcolarne l’inversa.

L =

1

m

m

21

31

0

1

m

32

m n1 m n2

0

0

1

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

0

0

0

m n,n1 1

Osservazione

L pu`o quindi essere costruita durante l’eliminazione gaussiana semplicemente conservando gli elementi m ij e cambiandogli il segno.

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

gli elementi m i j e cambiandogli il segno. Stefano Berrone Metodi numerici per la risoluzione
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Fattorizzazione LU

Abbiamo fattorizzato A = LU con L triangolare inferiore U triangolare superiore Utilizzo per risolvere il sistema lineare:

Ax = b

LUx = b

L Ux

y

= b

Ly = b,

Ux = y

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

b LUx = b L Ux y = b ⇓ Ly = b , Ux =
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Il problema di partenza pu`o essere affrontato in due fasi, risolvendo due sistemi a matrice triangolare:

1 prima determiniamo y risolvendo Ly = b;

2 una volta noto y , determiniamo x risolvendo Ux = y .

volta noto y , determiniamo x risolvendo Ux = y . Osservazione La risoluzione del sistema

Osservazione La risoluzione del sistema lineare Ly = b `e del tutto equivalente ad effettuare sul vettore b le trasformazioni dell’eliminazione gaussiana. Quindi il vettore y calcolato come soluzione del sistema lineare Ly = b coincide con b (n) !

del sistema lineare Ly = b coincide con b ( n ) ! Stefano Berrone Metodi

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

lineare Ly = b coincide con b ( n ) ! Stefano Berrone Metodi numerici per
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Meglio fattorizzazione LU + 2 sistemi lineari triangolari, o eliminazione gaussiana senza costruire esplicitamente L? Con l’eliminazione Gaussiana, b subisce le stesse trasformazioni di A. Su un solo sistema sono equivalenti. Se devo risolvere un secondo sistema lineare

Ax = c

con eliminazione gaussiana devo rieseguire tutto il procedimento per effettuare le trasformazioni su c e ottenere

c (n) ;

con fattorizzazione LU gi`a calcolata devo solo risolvere i sistemi Ly = c e Ux = y .

`

E veramente pi`u conveniente fare cos`ı piuttosto che rieffettuare

ex-novo l’eliminazione gaussiana sul sistema Ax = c?

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

l’eliminazione gaussiana sul sistema Ax = c ? Stefano Berrone Metodi numerici per la risoluzione di
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Costo computazionale

Per costo computazionale di un algoritmo intendiamo l’ordine di grandezza del numero di moltiplicazioni o divisioni effettuate, calcolato in funzione della dimensione n del problema (in questo caso l’ordine della matrice). Costo computazionale per calcolo fattorizzazione LU (coincidente con quello della sola eliminazione gaussiana):

O

n 3 moltiplicazioni.

3

Il costo computazionale soluzione di un sistema triangolare (superiore o inferiore indifferentemente):

O

n 2 moltiplicazioni.

2

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

O n 2 moltiplicazioni . 2 Stefano Berrone Metodi numerici per la risoluzione di Sistemi Lineari
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Risolvendo un sistema lineare con fattorizzazione LU la maggior parte del costo risiede nella fattorizzazione e non nella soluzione dei sistemi triangolari ottenuti: il costo totale `e infatti di

O( n 3 ) + O(n 2 ) O( n

3

3

3 )

operazioni, essendo (per n grande) n 2 trascurabile rispetto a n 3 .

(per n grande) n 2 trascurabile rispetto a n 3 . Osservazione I metodi di fattorizzazione

Osservazione I metodi di fattorizzazione sono quindi particolarmente convenienti quando si debbano risolvere un certo numero di sistemi lineari in cui la matrice dei coefficienti `e sempre la stessa e cambia solo il vettore dei termini noti.

sempre la stessa e cambia solo il vettore dei termini noti. Stefano Berrone Metodi numerici per

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

la stessa e cambia solo il vettore dei termini noti. Stefano Berrone Metodi numerici per la

Metodi diretti

Metodi Iterativi

Problemi triangolari

Eliminazione Gaussiana

Fattorizzazione LU

Pivoting

Eliminazione Gaussiana Fattorizzazione LU Pivoting Esempio Data la matrice  A =  4 2 1

Esempio Data la matrice

A =

4

2

1

4

8

3

8

7

6

calcolarne la fattorizzazione LU. Basta recuperare i moltiplicatori:

4

U = 0

0

4

6

0

8

3

2

1

L = 1

2

1

4

0

1

1 3

0

0

1

Osservazione: det(A) = det(L) · det(U) = 1 · i=1 n u ii = 48.

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

U ) = 1 · i = 1 n u i i = 48 . Stefano
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Metodi Iterativi Fattorizzazione LU Pivoting Osservazione L pu`o essere memorizzata nella stessa matrice

Osservazione L pu`o essere memorizzata nella stessa matrice A via via che in questa vengono azzerati gli elementi sotto la diagonale.

in questa vengono azzerati gli elementi sotto la diagonale.   7  −→  2

  7 −→ 2

4

1

1

4

4

2

1

4

8

3

8

6

4

6

2

4

8

3 −→ 2

4

1

1

4

4

6

1

3

8

3

2

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

−→  2 4  1  1 4 4 6 1 3 8 3 2
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

L’eliminazione di Gauss / fattorizzazione LU pu`o essere sempre portata a termine con successo?

Definizione

Sia A R n×n ; definiamo A k , con k = 1,

principale di testa di ordine k la matrice ottenuta intersecando le prime k righe e k colonne di A.

, n, sottomatrice

Teorema

Sia A una matrice di ordine n. Se A k `e non singolare per

k = 1,

, n 1 allora esiste ed `e unica la fattorizzazione LU di A.

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

esiste ed `e unica la fattorizzazione LU di A. Stefano Berrone Metodi numerici per la risoluzione
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Metodi Iterativi Fattorizzazione LU Pivoting Osservazione Le matrici a diagonale dominante per righe o

Osservazione Le matrici a diagonale dominante per righe o per colonne e le matrici simmetriche definite positive soddisfano le ipotesi del teorema precedente.

positive soddisfano le ipotesi del teorema precedente. Osservazione Il teorema precedente non esclude che la

Osservazione

Il teorema precedente non esclude che la matrice A sia singolare.

Se anche A `e singolare, ma det(A k )

comunque la fattorizzazione LU, con la matrice U che avr`a un elemento u ii nullo.

= 0, k = 1,

, n 1, esiste

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

i nullo. = 0 , k = 1 , , n − 1 , esiste Stefano
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

La Strategia del Pivoting

Fattorizzazione LU Pivoting La Strategia del Pivoting Esempio Che sucede se voglio applicare eliminazione

Esempio Che sucede se voglio applicare eliminazione gaussiana a

A = 0 1

1

0 ?

Occorre ricorrere alle matrici di permutazione.

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

? Occorre ricorrere alle matrici di permutazione . Stefano Berrone Metodi numerici per la risoluzione di
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Metodi Iterativi Fattorizzazione LU Pivoting Definizione Sia P i j la matrice ottenuta dalla

Definizione Sia P ij la matrice ottenuta dalla matrice identit`a permutando la i-esima e la j-esima riga:

i j   1 0 0 . . . 0 . . . 0
i
j
1
0
0
.
.
.
0
.
.
.
0
.
.
.
0
0
1
0
.
.
.
0
.
.
.
0
.
.
.
0
0
0
1
.
.
.
0
.
.
.
0
.
.
.
.
.
.
i
.
0
0
0
.
.
.
0
.
.
.
1
.
.
.
0
P ij =
.
.
.
.
.
j
0
0
0
.
.
.
1
.
.
.
0
.
.
.
0
.
.
.
.
0
0
0
.
.
.
0
.
.
.
0
.
.
.
Le matrici P ij sono dette matrici di permutazione semplice.
Stefano Berrone

0

1

Metodi numerici per la risoluzione di Sistemi Lineari

Stefano Berrone   0    1  Metodi numerici per la risoluzione di
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Data una matrice A

la moltiplicazione a sinistra di A per P ij (P ij A) produce lo scambio della i-esima e j-esima riga di A;

la moltiplicazione a destra di A per P ij (AP ij ) produce lo scambio della i-esima e j-esima colonna di A.

Se moltiplichiamo pi`u matrici di permutazione semplice fra loro, otteniamo una matrice (che indicheremo con P e che chiameremo matrice di permutazione) il cui effetto su una matrice A sar`a quello di effettuare tutti gli scambi di righe (colonne) associate alle matrici di permutazione semplice.

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

associate alle matrici di permutazione semplice. Stefano Berrone Metodi numerici per la risoluzione di Sistemi Lineari
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Metodi Iterativi Fattorizzazione LU Pivoting Teorema Sia A una matrice di ordine n. Allora esiste una

Teorema Sia A una matrice di ordine n. Allora esiste una matrice di permutazione P per cui si pu`o ottenere la fattorizzazione LU di A, cio`e:

PA = LU .

Si osservi che, data A, vi possono essere diverse matrici di permutazione P tali che PA ammette fattorizzazione LU .

Come individuare una matrice di permutazione?

Strategia di pivoting parziale.

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

permutazione? ⇓ Strategia di pivoting parziale . Stefano Berrone Metodi numerici per la risoluzione di Sistemi
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Pivoting Parziale

Se durante l’eliminazione di Gauss al passo k-esimo risulta

(k)

a kk

= 0, scambiamo due equazioni in modo che il nuovo

elemento pivot a

La scelta `e sempre tra le equazioni che seguono la k-esima.

(k)

kk

= 0 sia diverso da zero.

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

la k -esima. ( k ) kk = 0 sia diverso da zero. Stefano Berrone Metodi
 

Problemi triangolari

Metodi diretti

Eliminazione Gaussiana

Metodi Iterativi

Fattorizzazione LU

Pivoting

Esempio

Consideriamo il seguente sistema lineare:

  x 1 + x 2 + x 3 = 1 x 1 + x 2 + 2x 3 = 2

x 1 + 2x 2 + 2x 3 = 1

Eliminazione gaussiana: m 21 = 1 e m 31 = 1 =

(2)

a 22

= 0!


x 1 + x 2 + x 3 = 1 0 + 0 + x 3 = 1

0 + x 2 + x 3 = 0

Stefano Berrone

Metodi numerici per la risoluzione di Sistemi Lineari

1 0 + 0 + x 3 = 1 0 + x 2 + x 3
 

Problemi triangolari

Metodi diretti