Qual é a pior complexidade do Gradiente Conjugado?


9

Seja A∈Rn×n , simétrico e positivo definido. Suponhamos que leva m unidades de trabalho para multiplicar um vector por A . É sabido que a execução do algoritmo CG em A com o número de condição κ requer O(mκ), unidades de trabalho.

Agora, é claro, sendo uma declaração O , esse é um limite superior. E o algoritmo de CG pode sempre terminar em zero etapas com um palpite inicial de sorte.

Sabemos se existe um RHS e um palpite inicial (infeliz) que exigirá Θ(κ)etapas? Em outras palavras, a pior complexidade de trabalho do CG é realmenteΘ(mκ)?

Essa questão surge quando tentei determinar se o benefício de um pré-condicionador ( inferior κ) superava seu custo ( superior m). No momento, estou trabalhando com problemas de brinquedo e gostaria de ter uma idéia melhor antes de implementar qualquer coisa em uma linguagem compilada.


5
Presumivelmente, você poderia construir um palpite inicial pessimal, executando o algoritmo de CG "para trás" e colocando energia adequada em cada direções de pesquisa A- horizontais que o algoritmo requer todas as etapas. A
— origimbo

Respostas:


9

A resposta é um sim retumbante. A taxa de convergência vinculada de é nítido sobre o conjunto de matrizes definidas positivas simétricas com número de condição(κ−1)/(κ+1) . Em outras palavras, sabendo nada mais sobre A que seu número de condição, o CG realmente pode assumir ∼ √κAiterações k para convergir. Em termos gerais, o limite superior é atingido se os valores próprios deAforem distribuídos uniformemente (isto é, "salpicados") dentro de um intervalo do número de condiçãoκ.∼κAκ

Aqui está uma declaração mais rigorosa. As versões determinísticas estão mais envolvidas, mas funcionam usando os mesmos princípios.

Teorema (pior opção de ). Escolher qualquer matriz ortogonal aleatório L , deixar λ 1 , ... , λ n ser n números reais uniformemente amostrados a partir do intervalo verdadeira [ 1 , κ ] , e deixou b = [ b 1 ; ... ; b n ] sejam n números reais amostrados iid do gaussiano padrão. Defina A = U d i a g ( λ 1 ,AUλ1,…,λnn[1,κ]b=[b1;…;bn]nEm seguida, no limite n → ∞ , gradientes conjugados vai convergência com uma probabilidade para uma ε solução precisa de um x = b em não menos do que Ω ( √

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

Prova. A prova padrão é baseada em aproximações polinomiais ótimas de Chebyshev, usando técnicas encontradas em vários locais, como o livro de Greenbaum ou o livro de Saad .


11
O limite não é nítido, como a resposta explica mais adiante: se os autovalores não forem distribuídos uniformemente, cg converge mais rapidamente, pois não é uma iteração estática. Portanto, precisamos saber mais sobre a matriz.
— Guido Kanschat

@GuidoKanschat: Bom ponto, e eu corrigi a declaração para esclarecer que a nitidez é alcançada em todos os com a condição κ . Aκ
— Richard Zhang

A prova se resume a minimizar no espaço de polinômios de ordem k que satisfazem p ( 0 ) = 1 . Equivalentemente, isto é min p max λ ∈ Λ ( A ) | p ( λ ) | . No limite estabelecido, Λ ( A ) → [ 1 , κ ]__p(UMA)__kp(0 0)=1 1minpmaxλ∈Λ(A)|p(λ)|Λ(A)→[1,κ] , e a solução para o problema minimax é o polinômio de Chebyshev, cujo erro converge como ∼κ
— Richard Zhang

0

Tomando isso como minha pergunta original: sabemos se existe um RHS e um palpite inicial (sem sorte) que exigirá etapas?Θ(κ)

A resposta para a pergunta é "não". A idéia desta resposta vem do comentário de Guido Kanschat.

Reivindicação: Para qualquer condição número , existe uma matrizk , com esse número de condição para o qual o algoritmo CG terminará em no máximo duas etapas (para qualquer RHS dado e estimativa inicial).A

Considere onde A = d i a g ( 1 , κ , κ , … , κ ) . Então o número da condição de A é κ . Seja b ∈ R n o RHS e denote os autovalores de A como λ i onde λ i = { 1 i = 1 k i ≠ 1 .A∈Rn×nA=diag(1,κ,κ,…,κ)Aκb∈RnAλi

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

Nós primeiro considerar o caso em que , a estimativa inicial, é zero. Denuncie x ( 2 ) ∈ R n como a segunda estimativa de A - 1 b do algoritmo CG. Mostramos que x ( 2 ) = A - 1 b , mostrando ⟨ x ( 2 ) - A - 1 b , A ( x ( 2 ) - Umx(0)∈Rnx(2)∈RnA−1bx(2)=A−1b . De fato, temos⟨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

p^p^(x)=(1+κ−x)/κ. So we proven the case for x(0)=0.

If x(0)≠0, then x(2)=x(2)¯+x(0) where x(2)¯ is the second estimate of the CG algorithm with b replaced with b¯=b−Ax(0). So we have reduced this case to the previous one.


How much of this is robust to finite precision arithmetic?
— origimbo

@origimbo If your question was directed to me, the answer is, "I don't know."
— fred
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.