Divisione matrice - Matrix splitting

Nella disciplina matematica dell'algebra lineare numerica , una suddivisione di matrici è un'espressione che rappresenta una data matrice come somma o differenza di matrici. Molti metodi iterativi (ad esempio, per sistemi di equazioni differenziali ) dipendono dalla soluzione diretta di equazioni matriciali che coinvolgono matrici più generali delle matrici tridiagonali . Queste equazioni matriciali possono spesso essere risolte in modo diretto ed efficiente se scritte come suddivisione di matrici. La tecnica è stata ideata da Richard S. Varga nel 1960.

Spaccature regolari

Cerchiamo di risolvere l' equazione della matrice

 

 

 

 

( 1 )

dove A è una data matrice n × n non singolare e k è un dato vettore colonna con n componenti. Dividiamo la matrice A in

 

 

 

 

( 2 )

dove B e C sono matrici n × n . Se, per una matrice arbitraria n × n M , M ha elementi non negativi, scriviamo M0 . Se M ha solo elementi positivi, scriviamo M > 0 . Analogamente, se la matrice M 1M 2 ha elementi non negativi, scriviamo M 1M 2 .

Definizione: A = BC è una divisione regolare di A se B −10 e C0 .

Assumiamo che equazioni matriciali della forma

 

 

 

 

( 3 )

dove g è un dato vettore colonna, può essere risolto direttamente per il vettore x . Se ( 2 ) rappresenta una suddivisione regolare di A , allora il metodo iterativo

 

 

 

 

( 4 )

dove x (0) è un vettore arbitrario, può essere eseguito. Equivalentemente, scriviamo ( 4 ) nella forma

 

 

 

 

( 5 )

La matrice D = B −1 C ha elementi non negativi se ( 2 ) rappresenta una suddivisione regolare di A .

Si può dimostrare che se A −1 > 0 , allora < 1, dove rappresenta il raggio spettrale di D , e quindi D è una matrice convergente . Di conseguenza, il metodo iterativo ( 5 ) è necessariamente convergente .

Se, inoltre, si sceglie lo sdoppiamento ( 2 ) in modo che la matrice B sia diagonale (con gli elementi diagonali tutti diversi da zero, poiché B deve essere invertibile ), allora B può essere invertito in tempo lineare (vedi Complessità ).

Metodi iterativi di matrice

Molti metodi iterativi possono essere descritti come suddivisione di matrici. Se gli elementi diagonali della matrice A sono tutti diversi da zero, ed esprimiamo la matrice A come somma matriciale

 

 

 

 

( 6 )

dove D è la parte diagonale di A , e U e L sono rispettivamente matrici strettamente triangolari superiori e inferiori n × n , allora abbiamo la seguente.

Il metodo Jacobi può essere rappresentato in forma matriciale come una scissione

 

 

 

 

( 7 )

Il metodo di Gauss-Seidel può essere rappresentato in forma matriciale come una scissione

 

 

 

 

( 8 )

Il metodo del successivo iper-rilassamento può essere rappresentato in forma matriciale come una scissione

 

 

 

 

( 9 )

Esempio

Divisione regolare

Nell'equazione ( 1 ), sia

 

 

 

 

( 10 )

Applichiamo lo sdoppiamento ( 7 ) che si usa nel metodo Jacobi: dividiamo A in modo che B sia costituito da tutti gli elementi diagonali di A , e C costituito da tutti gli elementi fuori diagonali di A , negati . (Naturalmente questo non è l'unico modo utile per dividere una matrice in due matrici.) Abbiamo

 

 

 

 

( 11 )

Poiché B −10 e C0 , la scissione ( 11 ) è una scissione regolare. Poiché A −1 > 0 , il raggio spettrale < 1. (Gli autovalori approssimati di D sono ) Quindi, la matrice D è convergente e il metodo ( 5 ) converge necessariamente per il problema ( 10 ). Nota che gli elementi diagonali di A sono tutti maggiori di zero, gli elementi fuori diagonale di A sono tutti minori di zero e A è strettamente diagonalmente dominante .

Il metodo ( 5 ) applicato al problema ( 10 ) assume quindi la forma

 

 

 

 

( 12 )

La soluzione esatta dell'equazione ( 12 ) è

 

 

 

 

( 13 )

Le prime iterazioni per l'equazione ( 12 ) sono elencate nella tabella seguente, iniziando con x (0) = (0.0, 0.0, 0.0) T . Dalla tabella si vede che il metodo sta evidentemente convergendo alla soluzione ( 13 ), seppur piuttosto lentamente.

0.0 0.0 0.0
0.83333 -30.000 2.0000
0.83333 -1.7917 1.9000
1.1861 -1,8417 2.1417
1.2903 -1,6326 2.3433
1.4608 -1.5058 2.4477
1.5553 -1.4110 2.5753
1.6507 -1.3235 2.6510
1.7177 -1.2618 2.7257
1.7756 -1.2077 2.7783
1.8199 -1.1670 2.8238

metodo Jacobi

Come affermato in precedenza, il metodo Jacobi ( 7 ) è lo stesso della suddivisione regolare specifica ( 11 ) dimostrata sopra.

Metodo di Gauss-Seidel

Poiché gli elementi diagonali della matrice A nel problema ( 10 ) sono tutti diversi da zero, possiamo esprimere la matrice A come la scissione ( 6 ), dove

 

 

 

 

( 14 )

Abbiamo quindi

Il metodo di Gauss-Seidel ( 8 ) applicato al problema ( 10 ) assume la forma

 

 

 

 

( 15 )

Le prime iterazioni per l'equazione ( 15 ) sono elencate nella tabella seguente, iniziando con x (0) = (0.0, 0.0, 0.0) T . Dalla tabella si vede che il metodo sta evidentemente convergendo alla soluzione ( 13 ), un po' più velocemente del metodo Jacobi sopra descritto.

0.0 0.0 0.0
0,8333 -2.7917 1.9417
0.8736 -1.8107 2.1620
1.3108 -1.5913 2.4682
1.5370 -1.3817 2.6459
1.6957 -1,2531 2.7668
1.7990 -1.1668 2.8461
1.8675 -1.1101 2.8985
1.9126 -1.0726 2.9330
1.9423 -1.0479 2.9558
1.9619 -1.0316 2.9708

Metodo di iper-rilassamento successivo

Lasciate ω = 1.1. Usando lo sdoppiamento ( 14 ) della matrice A nel problema ( 10 ) per il successivo metodo del sovrarilassamento, si ha

Il successivo metodo di iper-rilassamento ( 9 ) applicato al problema ( 10 ) assume la forma

 

 

 

 

( 16 )

Le prime iterazioni per l'equazione ( 16 ) sono elencate nella tabella seguente, iniziando con x (0) = (0.0, 0.0, 0.0) T . Dalla tabella si vede che il metodo sta evidentemente convergendo alla soluzione ( 13 ), leggermente più veloce del metodo di Gauss–Seidel sopra descritto.

0.0 0.0 0.0
0,9167 -3.0479 2.1345
0.8814 -1.5788 2.2209
1.4711 -1.5161 2.6153
1.6521 -1,2557 2.7526
1.8050 -1,1641 2.8599
1.8823 -1.0930 2.9158
1.9314 -1.0559 2.9508
1.9593 -1.0327 2.9709
1.9761 -1.0185 2.9829
1.9862 -1.0113 2.9901

Guarda anche

Appunti

Riferimenti

  • onere, Richard L.; Faires, J. Douglas (1993), Analisi numerica (5a ed.), Boston: Prindle, Weber e Schmidt , ISBN 0-534-93219-3.
  • Varga, Richard S. (1960). "Factorizzazione e metodi iterativi normalizzati". In Langer, Rudolph E. (a cura di). Problemi al contorno nelle equazioni differenziali . Madison: Pressa dell'Università del Wisconsin . pp. 121-142. LCCN  60-60003 .
  • Varga, Richard S. (1962), Analisi iterativa della matrice , New Jersey: Prentice-Hall , LCCN  62-21277.