• Non ci sono risultati.

LucioDemeioDipartimentodiScienzeMatematiche CorsodiAnalisiNumerica

N/A
N/A
Protected

Academic year: 2021

Condividi "LucioDemeioDipartimentodiScienzeMatematiche CorsodiAnalisiNumerica"

Copied!
15
0
0

Testo completo

(1)

Metodo di Gauss con pivoting

Corso di Laurea in Ingegneria Informatica

Corso di Analisi Numerica

6 - METODI DIRETTI PER I SISTEMI LINEARI

Lucio Demeio

Dipartimento di Scienze Matematiche

Lucio Demeio Dipartimento di Scienze Matematiche Analisi Numerica: Metodi Diretti

(2)

Metodo di Gauss con pivoting

1

Introduzione algebrica

2

Metodo di Gauss

3

Metodo di Gauss con pivoting

(3)

Metodo di Gauss con pivoting

Introduzione algebrica

Formulazione matriciale

Sappiamo che un sistema lineare, di m equazioni in n incognite,

 

 

a

11

x

1

+ a

12

x

2

+ ... + a

1n

x

n

= b

1

a

21

x

1

+ a

22

x

2

+ ... + a

2n

x

n

= b

2

... ... ...

a

m1

x

1

+ a

m2

x

2

+ ... + a

mn

x

n

= b

m

pu` o essere rappresentato in forma matriciale, come

A x = b dove A `e la matrice dei coefficienti, data da

A =

a

11

a

12

... a

1n

a

21

a

22

... a

2n

... ... ... ...

a

m1

a

m2

... a

mn

Lucio Demeio Dipartimento di Scienze Matematiche Analisi Numerica: Metodi Diretti

(4)

Metodo di Gauss con pivoting

Introduzione algebrica

Formulazione matriciale

mentre x e b sono i vettori colonna contenenti le incognite ed i termini noti, dati da

x =

 x

1

x

2

...

x

n

b =

 b

1

b

2

...

b

m

Spesso indicheremo con x

T

= (x

1

, x

2

, ..., x

n

) e b

T

= (b

1

, b

2

, ..., b

m

) i vettori riga, trasposti di x e b. La matrice m × (n + 1) data da

B =

a

11

a

12

... a

1n

b

1

a

21

a

22

... a

2n

b

2

... ... ... ...

a

m1

a

m2

... a

mn

b

m

`e detta matrice orlata o matrice completa.

(5)

Metodo di Gauss con pivoting

Introduzione algebrica

Theorem (Teorema di Rouche’-Capelli)

Il sistema lineare di m equazioni in n incognite A x = b

ha soluzioni se e solo se il rango della matrice dei coefficienti A ed il rango della matrice completa B sono uguali. Se k `e il rango comune alle due matrici, allora le soluzioni del sistema formano uno spazio affine di dimensione n − k (cio`e il sistema ammette ∞

n−k

soluzioni).

Quando n = k, il sistema ammette una ed una sola soluzione (cio`e si conviene di porre ∞

0

= 1).

Lucio Demeio Dipartimento di Scienze Matematiche Analisi Numerica: Metodi Diretti

(6)

Metodo di Gauss con pivoting

Introduzione algebrica

Sistemi con n = m

Quando il numero di incognite eguaglia il numero delle equazioni allora il teorema si riduce al seguente:

Se det(A) 6= 0 il sistema ammette una ed una sola soluzione;

se det(A) = 0 il sistema ammette infinite soluzioni se la matrice

completa ha rango < n (ed uguale al rango di A), se invece ha

rango massimo (n) il sistema `e incompatibile (non ha nessuna

soluzione).

(7)

Metodo di Gauss con pivoting

Metodo di Gauss

Sistemi equivalenti Consideriamo il sistema

Ax = b

con A una matrice n × n, ed x e b vettori ad n componenti.

Indicando con R

j

gli elementi della riga j-esima del sistema, sappiamo dall’algebra che le seguenti operazioni conducono ad un sistema equivalente a quello di partenza (cio`e con la stessa soluzione):

moltiplicazione di un’equazione (cio`e degli elementi di una riga della matrice completa) per uno scalare, λR

j

→ R

j

;

scambio di due equazioni (righe della matrice completa), R

i

↔ R

j

;

sostituzione di un’equazione (di una riga) con una sua combinazione lineare con altre equazioni (righe), ad esempio αR

i

+ βR

j

→ R

j

(con β 6= 0).

Lucio Demeio Dipartimento di Scienze Matematiche Analisi Numerica: Metodi Diretti

(8)

Metodo di Gauss con pivoting

Metodo di Gauss

Eliminazione di Gauss

L’eliminazione di Gauss consiste nell’eseguire una successione di operazioni tra quelle descritte sopra fino a porre la matrice dei coefficienti in forma triangolare.

Come esempio consideriamo il sistema

2 x

1

− x

2

+ 3x

3

= 1

−2 x

1

+ 3 x

2

− x

3

= −2 3 x

1

− 2 x

2

+ 2 x

3

= −1

Le operazioni R

1

+ R

2

→ R

2

e 3 R

1

− 2 R

3

→ R

3

trasformano il

sistema in 

2 x

1

− x

2

+ 3x

3

= 1

2 x

2

+ 2 x

3

= −1

x

2

+ 5 x

3

= 5

(9)

Metodo di Gauss con pivoting

Metodo di Gauss

Eliminazione di Gauss 8

<

:

2 x

1

− x

2

+ 3x

3

= 1 2 x

2

+ 2 x

3

= −1 x

2

+ 5 x

3

= 5

Ora R

2

− 2 R

3

→ R

3

trasforma il sistema in 8

<

:

2 x

1

− x

2

+ 3x

3

= 1 2 x

2

+ 2 x

3

= −1

−8 x

3

= −11

Una volta ridotto in questa forma, il sistema pu` o essere risolto facilmente per sostituzione all’indietro:

x

3

= 11/8

x

2

= (−1 − 2 x

3

)/2 = −15/8 x

1

= (1 + x

2

− 3 x

3

)/2 = −5/2

Lucio Demeio Dipartimento di Scienze Matematiche Analisi Numerica: Metodi Diretti

(10)

Metodo di Gauss con pivoting

Metodo di Gauss

Eliminazione di Gauss

La procedura vista ora pu` o anche essere eseguita semplicemente sulla matrice orlata; nell’esempio precedente avremmo la successione:

2 −1 3 1

−2 3 −1 −2

3 −2 2 −1

2 −1 3 1 0 2 2 −1

0 1 5 5

2 −1 3 1

0 2 2 −1

0 0 −8 −11

Mathematica file Sistemi1.nb

(11)

Metodo di Gauss con pivoting

Metodo di Gauss

Eliminazione di Gauss

La procedura ora pu` o essere formulata in generale.

Data la matrice orlata

B =

a

11

a

12

... a

1n

b

1

a

21

a

22

... a

2n

b

2

... ... ... ...

a

n1

a

n2

... a

nn

b

n

al primo passo sostituiamo la riga R

j

, j = 2, 3, ..., n, con la combinazione lineare R

j

− a

j1

R

1

/a

11

, ottenendo cos`ı zero come primo elemento di ogni riga dopo la prima; indicando sempre con R

j

la riga j -esima della matrice cos`ı ottenuta, al secondo passo sostituiamo la riga R

j

, j = 3, 4, ..., n, con la combinazione lineare R

j

− a

j2

R

2

/a

22

, ottenendo cos`ı zero anche come secondo

elemento di ogni riga dopo la seconda; e cos`ı via fino a rimanere con un solo elemento nell’ultima riga.

Lucio Demeio Dipartimento di Scienze Matematiche Analisi Numerica: Metodi Diretti

(12)

Metodo di Gauss con pivoting

Metodo di Gauss

Scambio di righe

Gli elementi diagonali a

11

, a

22

, ..., a

nn

che si vengono via via generando nella procedura sopra descritta vengono detti pivot.

E evidente che il metodo di Gauss, cos`ı come esposto nelle righe ` precedenti, fallisce quando uno dei pivot si annulla, cio`e se al k-esimo passo della procedura, si ha a

kk

= 0.

In tal caso, si cerca tra le righe successive la prima che presenta un elemento non nullo nella medesima colonna e la si scambia con R

k

. Questo metodo viene detto metodo dello scambio di righe . Illustriamo il problema con un esempio.

Se non si riesce a trovare un pivot, vuol dire che il sistema non ha un’unica soluzione (possono essercene infinite oppure nessuna).

Vedi Mathematica file Sistemi2.nb

(13)

Metodo di Gauss con pivoting

Metodo di Gauss con pivoting

Metodo del pivoting parziale

Con alcuni sistemi, risulta necessario effettuare lo scambio di righe anche se uno degli elementi sulla diagonale non `e rigorosamente nullo, ma soltanto molto piccolo.

Sia, ad esempio, a

kk

questo elemento. In tal caso, si cerca tra le righe successive quella che presenta l’elemento pi` u grande (in valore assoluto) nella medesima colonna e la si scambia con R

k

. Questo metodo viene detto metodo del pivoting parziale.

Illustriamo il problema con un esempio.

Vedi Mathematica file Sistemi3.nb

Lucio Demeio Dipartimento di Scienze Matematiche Analisi Numerica: Metodi Diretti

(14)

Metodo di Gauss con pivoting

Metodo di Gauss con pivoting

Metodo del pivoting parziale riscalato

Con alcuni sistemi, il metodo del pivoting parziale non `e sufficiente. Si ricorre allora al metodo del pivoting parziale riscalato

Il metodo `e del tutto simile a quello del pivoting parziale, solo che la ricerca della riga con cui effettuare lo scambio avviene determinando il pivot che ha il rapporto massimo con gli elementi della propria riga.

Illustriamo il metodo solo relativamente al primo passo, poi si procede allo stesso modo. Ricordiamo che, al primo passo, lo scopo dell’eliminazione di Gauss `e di ottenere degli zeri nella prima colonna dalla seconda riga in poi.

...

(15)

Metodo di Gauss con pivoting

Metodo di Gauss con pivoting

Metodo del pivoting parziale riscalato

Sia s

i

il massimo elemento (in valore assoluto) della riga i−esima, cio`e s

i

= max

j=1,n

|a

ij

|, per i = 1, ..., n; per ogni riga, calcoliamo il rapporto |a

i1

|/s

i

e sia p la riga per cui questo rapporto `e massimo;

allora effettuiamo lo scambio R

1

↔ R

p

.

E pi` ` u difficile a spiegarsi che a farne un esempio!

Vedi Mathematica file Sistemi3.nb

Lucio Demeio Dipartimento di Scienze Matematiche Analisi Numerica: Metodi Diretti

Riferimenti

Documenti correlati

Il metodo `e del tutto simile a quello del pivoting parziale, solo che la ricerca della riga con cui effettuare lo scambio avviene determinando il pivot che ha il rapporto massimo

I metodi numerici consistono (in generale) di algoritmi per costruire successioni (numeriche o di funzioni) che convergono al risultato

Sia f tale da obbedire alle condizioni del teorema sulla convergenza del metodo

Supponiamo di avere un insieme di dati che rappresentano misurazioni della temperatura in una certa localit` a durante il mese di luglio con cadenza bisettimanale.. Rappresentiamo

Le formule ad n + 1 punti non vengono usate, perch`e richiedono il calcolo della funzione in molti punti, che `e dispendioso e soggetto ad errori di arrotondamento.. Derivate di

Nella regola dei trapezi, l’errore `e proporzionale alla derivata seconda, quindi la regola dei trapezi `e esatta per polinomi di grado zero e grado uno;a. Nella regola di

Lucio Demeio Dipartimento di Scienze Matematiche Analisi Numerica: Matrici... AB 6= BA, cio`e il prodotto fra matrici non

I metodi iterativi per la soluzione dei sistemi lineari vengono usati in alternativa ai metodi diretti (eliminazione Gaussiana) quando il numero di equazioni/incognite `e elevato e