Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un...

26
Convergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario Fasino Dip.to Matematica e Informatica, Udine Perugia, GALN 2009 D. Fasino (Udine) PG, GALN 2009 1 / 14

Transcript of Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un...

Page 1: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Convergenza di un metodo numericoper il calcolo degli autovaloridi matrici simmetriche DPSS

Dario Fasino

Dip.to Matematica e Informatica, Udine

Perugia, GALN 2009

D. Fasino (Udine) PG, GALN 2009 1 / 14

Page 2: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Come calcoliamo autovalori?

1 Matrici generiche (tutti gli autovalori):Metodi basati su iterazione di sottospazi — fattorizzazioni “GR”(QR, LR, SR, HR).

Riduzione preliminare in forma strutturata.

2 Matrici grandi, sparse (solo pochi autovalori):Metodi di Krylov (Arnoldi, Lanczos)−→ Riduzione-compressione in forma strutturata.

D. S. Watkins.The Matrix Eigenvalue Problem. GR and Krylov Subspace Methods.SIAM, 2007.

D. Fasino (Udine) PG, GALN 2009 2 / 14

Page 3: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Sommario

1 IntroduzioneMatrici DPSS simmetricheIl metodo propostoLa trasformazione DPSS→DPSS

2 Analisi di convergenzaAnalisi perturbativa della riduzione in forma DPSSConvergenza quadratica

D. Fasino (Udine) PG, GALN 2009 3 / 14

Page 4: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Matrici DPSS simmetriche

matrice simmetrica semiseparabile:

S =

u1v1 u2v1 · · · unv1

u2v1 u2v2. . . unv2

.... . .

. . ....

unv1 unv2 · · · unvn

matrice DPSS simmetrica:

M = D + S , D = Diag(d1, . . . , dn)

D. Fasino (Udine) PG, GALN 2009 4 / 14

Page 5: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Il Libro

R. Vandebril, M. Van Barel, N. Mastronardi.Matrix Computations and Semiseparable Matrices.The Johns Hopkins University Press, 2008.

Vol. I: Linear Systems

Vol. II: Eigenvalue and Singular Value Methods

SSPack: http://www.cs.kuleuven.be/~mase

La forma DPSS e “solo” una struttura matriciale come tante altre?

D. Fasino (Udine) PG, GALN 2009 5 / 14

Page 6: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Un algoritmo interessante

Data una matrice simmetrica A e una matrice diagonale D,e possibile costruire una matrice ortogonale Qe una matrice simmetrica semiseparabile Stali che QTAQ = D + S .Costo computazionale: O(n3) — come tridiagonalizzazione.

Osservazioni:

Quando D approssima lo spettro di A, la norma di S e piccola.

Se A e gia DPSS, il costo computazionale diventa O(n2).

Notazione: S = R(A,D) (ovvero: QTAQ = R(A,D) + D).

D. Fasino (Udine) PG, GALN 2009 6 / 14

Page 7: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Il metodo proposto

Problema

Calcolare gli autovalori di A = AT = D + S (possibilmente, Λ ≈ D).

Metodo proposto:

1 A0 = A, D0 = D2 for i = 1, 2, . . .

1 Calcola (formule alternative):

Ai =

{R(A0,Di−1) + Di−1 oppureR(Ai−1,Di−1) + Di−1

2 Di = Diag(Ai ).

Nota: tutte matrici simmetriche DPSS.

D. Fasino (Udine) PG, GALN 2009 7 / 14

Page 8: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

La trasformazione DPSS→DPSS

Trasformazione DPSS→DPSS con diagonale diversaEsempio, n = 5

A =

D S S S SS D S S SS S D S SS S S D SS S S S D

D. Fasino (Udine) PG, GALN 2009 8 / 14

Page 9: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

La trasformazione DPSS→DPSS

Trasformazione DPSS→DPSS con diagonale diversaEsempio, n = 5

A =

D S S S SS D S S SS S D S SS S S D SS S S S D

Prima fase; primo passo:

D S S S SS D S S SS S D S SS S S D SS S S S D

−→

D S S SS D S SS S D SS S S D T

T T

D. Fasino (Udine) PG, GALN 2009 8 / 14

Page 10: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

La trasformazione DPSS→DPSS

Trasformazione DPSS→DPSS con diagonale diversaPrima fase; passi successivi:

D S SS D SS S D T

T T TT T

−→

D SS D T B

T T TB T T T

T T

−→

D SS D T

T T T BT T TB T T

−→

D SS D T

T T TT T T

T T

D. Fasino (Udine) PG, GALN 2009 8 / 14

Page 11: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

La trasformazione DPSS→DPSS

Trasformazione DPSS→DPSS con diagonale diversaSeconda fase; primo passo:

T TT T T

T T T 0T T T0 T T

−→

T TT T T

T T S SS D SS S D

D. Fasino (Udine) PG, GALN 2009 8 / 14

Page 12: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

La trasformazione DPSS→DPSS

Trasformazione DPSS→DPSS con diagonale diversaSeconda fase; passi successivi:

T T 0T D S S S0 S D S S

S S D SS S S D

−→

D S S 0S D S 0S S D S S

0 S D S0 S S D

−→

D S S S 0S D S S 0S S D S SS S S D S0 0 0 S D

−→

D S S S SS D S S SS S D S SS S S D SS S S S D

D. Fasino (Udine) PG, GALN 2009 8 / 14

Page 13: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Esperimenti numerici

for i = 1:nit[G,d] = CSSD(A0,D);A = BSSD(G,d,D);D = diag(A);err(i) = norm(A-diag(D),’fro’);

end

D. Fasino (Udine) PG, GALN 2009 9 / 14

Page 14: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Esperimenti numerici

for i = 1:nit[G,d] = CSSD(A0,D);A = BSSD(G,d,D);D = diag(A);err(i) = norm(A-diag(D),’fro’);

end

D. Fasino (Udine) PG, GALN 2009 9 / 14

Page 15: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Esperimenti numerici

for i = 1:nit[G,d] = CSSD(A0,D);A = BSSD(G,d,D);D = diag(A);err(i) = norm(A-diag(D),’fro’);

end

D. Fasino (Udine) PG, GALN 2009 9 / 14

Page 16: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Notazioni e fatti salienti

Sia A = AT . Supponiamo ben definiti

1 K(A, v ,D) = [ (d1I − A)−1v , . . . , (dnI − A)−1v ]

2 Q(A, v ,D) = fattore ortogonale di K(A, v ,D)

3 S(A, v ,D) = QTAQ − D,la parte semiseparabile di M = D + S = QTAQ,con Q = Q(A, v ,D).

Fatto importante

R(A,D) = S(A, v(A,D),D), con v = v(A,D) funzione smooth.

D. Fasino (Udine) PG, GALN 2009 10 / 14

Page 17: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Notazioni e fatti salienti

Sia A = AT . Supponiamo ben definiti

1 K(A, v ,D) = [ (d1I − A)−1v , . . . , (dnI − A)−1v ]

2 Q(A, v ,D) = fattore ortogonale di K(A, v ,D)

3 S(A, v ,D) = QTAQ − D,la parte semiseparabile di M = D + S = QTAQ,con Q = Q(A, v ,D).

Proprieta di invarianza: v → αv ; inoltre, se U e ortogonale,

1 K(UAUT ,Uv ,D) = UK(A, v ,D)

2 Q(UAUT ,Uv ,D) = UQ(A, v ,D)

3 S(UAUT ,Uv ,D) = S(A, v ,D).

Per una analisi perturbativa, possiamo supporre che A = Λ sia diagonale.

D. Fasino (Udine) PG, GALN 2009 10 / 14

Page 18: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Analisi perturbativa

Sia ∆ = Diag(δ) fissata, δi 6= 0. Consideriamo

Kε = K(Λ,w ,Λ + ε∆)Qε = Q(Λ,w ,Λ + ε∆)Sε = S(Λ,w ,Λ + ε∆)

e i loro limiti per ε → 0.

Kε = [wi/(λi + εδi − λj)]

=

I + ε

0 wi

wj

δj

λi−λj

. . .wiwj

δj

λi−λj0

︸ ︷︷ ︸

E

+O(ε2)

w1εδ1

0. . .

0 wnεδn

⇒ Qε e il fattore ortogonale della matrice in [· · · ].D. Fasino (Udine) PG, GALN 2009 11 / 14

Page 19: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Analisi perturbativa

Sia ∆ = Diag(δ) fissata, δi 6= 0. Consideriamo

Kε = K(Λ,w ,Λ + ε∆)Qε = Q(Λ,w ,Λ + ε∆)Sε = S(Λ,w ,Λ + ε∆)

e i loro limiti per ε → 0.

Teorema

E ≡ (eij), eij =

{wiwj

δj

λi−λji 6= j

0 i = j=⇒ ‖Qε − I‖F .

√2|ε|‖E‖F .

In particolare, ‖Qε − I‖F = O(‖ε∆‖), e limε→0 Qε = I .

D. Fasino (Udine) PG, GALN 2009 11 / 14

Page 20: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Analisi perturbativa

Sia ∆ = Diag(δ) fissata, δi 6= 0. Consideriamo

Kε = K(Λ,w ,Λ + ε∆)Qε = Q(Λ,w ,Λ + ε∆)Sε = S(Λ,w ,Λ + ε∆)

e i loro limiti per ε → 0.

Se ε → 0, da Qε → I troviamo anche Sε → O:

Sε = QTε ΛQε − (Λ + ε∆) → O.

Piu precisamente:

limε→0

1

εSε = S , Diag(S) = −∆,

indipendentemente da w .

D. Fasino (Udine) PG, GALN 2009 11 / 14

Page 21: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Analisi perturbativa

Sia ∆ = Diag(δ) fissata, δi 6= 0. Consideriamo

Kε = K(Λ,w ,Λ + ε∆)Qε = Q(Λ,w ,Λ + ε∆)Sε = S(Λ,w ,Λ + ε∆)

e i loro limiti per ε → 0.

Teorema

Diag [S(Λ,w ,Λ + ε∆)] = −ε∆ + o(ε).

A meno di termini O(ε2),

eTi Sεei = eT

i

(QT

ε ΛQε − (Λ + ε∆))

ei

= eTi (I − εX ) Λ (I + εX ) ei − (λi + εδi )

= eTi Λei + εeT

i (ΛX − XΛ) ei − (λi + εδi )

= −εδi .D. Fasino (Udine) PG, GALN 2009 11 / 14

Page 22: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Ulteriori dettagli

Qε e caratterizzata dalla sua prima colonna(teorema del Q-implicito per matrici DPSS),

Qεe1 ∝ Kεe1 ∝

10...0

+ ε

0

wiw1

δ1λi−λ1

.

Inoltre,

Se1 = limε→0

1

ε

[QT

ε ΛQε − (Λ + ε∆)]e1

= (Λ− λ1I ) Xe1 − δe1

= −(

δ1, δ1w2

w1, . . . , δ1

wn

w1

)T

= − δ1

w1w .

D. Fasino (Udine) PG, GALN 2009 12 / 14

Page 23: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Convergenza quadratica

Possiamo riformulare il metodo

Ai = R(A0,Di−1) + Di−1, Di = Diag(Ai ),

come iterazione di punto fisso: Di = Φ(Di−1).

Sia Φ : Diag 7→ Diag l’operatore definito come

Φ(D) = Diag(R(A,D)) + D.

Nota: A = UΛUT ⇐⇒ Φ(Λ) = Λ.

D. Fasino (Udine) PG, GALN 2009 13 / 14

Page 24: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Convergenza quadratica

Possiamo riformulare il metodo

Ai = R(A0,Di−1) + Di−1, Di = Diag(Ai ),

come iterazione di punto fisso: Di = Φ(Di−1).

Φ′(Λ)∆ = limε→0

1

ε

(Φ(Λ + ε∆)− Φ(Λ)

)= lim

ε→0

1

ε

(Diag(R(A,Λ + ε∆))−Diag(R(A,Λ)) + ε∆

)= lim

ε→0

1

ε

(− ε∆ + ε∆ + O(ε2)

)= O.

D. Fasino (Udine) PG, GALN 2009 13 / 14

Page 25: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Convergenza quadratica

Possiamo riformulare il metodo

Ai = R(A0,Di−1) + Di−1, Di = Diag(Ai ),

come iterazione di punto fisso: Di = Φ(Di−1).

‖Di − Λ‖ = ‖Φ(Di−1)− Φ(Λ)‖ ≤ C‖Di−1 − Λ‖2 + o(‖Di−1 − Λ‖2).

Teorema

Per ε > 0 abbastanza piccolo,

‖Di−1 − Λ‖ ≤ ε =⇒ ‖Di − Λ‖ ≤ Cε2.

D. Fasino (Udine) PG, GALN 2009 13 / 14

Page 26: Convergenza di un metodo numerico per il calcolo …lmc/galn/data/talk/fasino.pdfConvergenza di un metodo numerico per il calcolo degli autovalori di matrici simmetriche DPSS Dario

Conclusioni

Un metodo per il calcolo simultaneo degli autovalori di matricisimmetriche DPSSIl termine diagonale viene usato come un insieme di n shift simultaneiNon e riconducibile ad un metodo GR o iterazione di sottospazi(infatti gli autovalori non risultano ordinati)Costo O(n2) per passo, numero di passi cresce lentamente con n.

Possibile sviluppo: Calcolo autovalori generalizzati per pencils tridiagonali.

D. Fasino (Udine) PG, GALN 2009 14 / 14