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 M ≥ 0 . Se M ha solo elementi positivi, scriviamo M > 0 . Analogamente, se la matrice M 1 − M 2 ha elementi non negativi, scriviamo M 1 ≥ M 2 .
Definizione: A = B − C è una divisione regolare di A se B −1 ≥ 0 e C ≥ 0 .
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 −1 ≥ 0 e C ≥ 0 , 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
- Elenco degli argomenti di suddivisione degli operatori
- Decomposizione della matrice
- matrice M
- matrice di Stieltjes
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.