Qual è la complessità peggiore del gradiente coniugato?


9

Sia A∈Rn×n , simmetrico e positivo definito. Supponiamo prende m unità di lavoro per moltiplicare un vettore da A . È noto che l'esecuzione dell'algoritmo CG su A con il numero di condizione κ richiede O(mκ), unità di lavoro.

Ora, naturalmente, essendo un'istruzione O questo è un limite superiore. E l'algoritmo CG può sempre terminare a zero passi con un'ipotesi iniziale fortunata.

Sappiamo se esiste un RHS e un'ipotesi iniziale (sfortunata) che richiederà Θ(κ)passi? Detto in altro modo, la complessità del lavoro nel caso peggiore di CG è davveroΘ(mκ)?

Questa domanda sorge quando ho cercato di determinare se il beneficio di un precondizionatore ( inferiore κ) ha superato il suo costo ( superiore m). In questo momento, sto lavorando con problemi con i giocattoli e vorrei avere un'idea migliore prima di implementare qualsiasi cosa in un linguaggio compilato.


5
Si potrebbe presumibilmente costruire un'ipotesi iniziale pessimale eseguendo l'algoritmo CG "all'indietro" e mettendo energia adeguata in ciascuna delle direzioni di ricerca A orogonali che l'algoritmo richiede tutti i passaggi.
— origimbo

Risposte:


9

La risposta è un clamoroso sì. Il tasso di convergenza legato di è nitido sull'insieme di matrici definite simmetriche positive con condizione numeroκ. In altre parole, non sapendo nulla di più diAdel suo numero di condizione, CG può davvero prendere∼ √(κ−1)/(κ+1)κA iterazioni per convergere. In parole povere, il limite superiore si ottiene se gli autovalori diAsono distribuiti uniformemente (cioè "pepati") entro un intervallo di condizione numeroκ.∼κAκ

Ecco una dichiarazione più rigorosa. Le versioni deterministiche sono più coinvolte ma funzionano con gli stessi principi.

Teorema (scelta del caso peggiore di ). Scegliere qualsiasi matrice ortogonale casuale U , lasciate λ 1 , ... , λ n essere n numeri reali uniformemente campionati dal reale intervallo [ 1 , κ ] , e lasciare che b = [ b 1 ; ... ; b n ] essere n numeri reali campionati in base allo standard gaussiano. Definisci A = U d i a g ( λ 1 ,AUλ1,…,λnn[1,κ]b=[b1;…;bn]nQuindi nel limite n → ∞ , i gradienti coniugati convergeranno con probabilità uno a una ϵ soluzione accurata di A x = b in non meno di Ω ( √

A=Udiag(λ1,…,λn)UT.
n→∞ϵAx=biterazioni.Ω(κlog⁡ϵ−1)

Prova. La dimostrazione standard si basa su approssimazioni polinomiali ottimali di Chebyshev, usando tecniche che si trovano in diversi punti, come il libro di Greenbaum o il libro di Saad .


1
Il limite non è nitido, come spiega la risposta più avanti, se gli autovalori non sono distribuiti uniformemente, cg converge più velocemente, poiché non è un'iterazione stazionaria. Pertanto, dobbiamo sapere di più sulla matrice.
— Guido Kanschat

Aκ

‖p(A)‖kp(0)=1minpmaxλ∈Λ(A)|p(λ)|Λ(A)→[1,κ]∼κ

0

Prendendo questo come la mia domanda originale: sappiamo se esiste un RHS e un'ipotesi iniziale (sfortunata) che richiederà passaggi di ?Θ(κ)

La risposta alla domanda è "no". L'idea di questa risposta viene dal commento di Guido Kanschat.

Reclamo: per ogni dato numero di condizione , esiste una matrice , con quel numero di condizione per il quale l'algoritmo CG terminerà al massimo in due passaggi (per ogni dato RHS e ipotesi iniziale).kA

Considera dove . Quindi il numero della condizione di è . Sia l'RHS e denoti gli autovalori di come dove A∈Rn×nA=diag(1,κ,κ,…,κ)Aκb∈RnAλi

λi={1i=1κi≠1.

Consideriamo innanzitutto il caso in cui , la supposizione iniziale, è zero. Indica come seconda stima di dall'algoritmo CG. Mostriamo che mostrando . Anzi, abbiamox(0)∈Rnx(2)∈RnA−1bx(2)=A−1b⟨x(2)−A−1b,A(x(2)−A−1b)⟩=0

⟨x(2)−A−1b,A(x(2)−A−1b)⟩=‖x(2)−A−1b‖A2=minp∈poly1‖(p(A)−A−1)b‖A2=minp∈poly1∑i=1n(p(λi)−λi−1)2λibi2≤∑i=1n(p^(λi)−λi−1)2λibi2=0

Dove usiamo il polinomio di primo ordine definito come . Quindi abbiamo dimostrato il caso di .p^p^(x)=(1+κ−x)/κx(0)=0

Se , allora dove è la seconda stima dell'algoritmo CG con sostituita da . Quindi abbiamo ridotto questo caso al precedente. x(0)≠0x(2)=x(2)¯+x(0)x(2)¯bb¯=b−Ax(0)


Quanto di tutto ciò è robusto per l'aritmetica di precisione finita?
— origimbo

@origimbo Se la tua domanda è stata rivolta a me, la risposta è "Non lo so".
— fred
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.