Problemas em que o gradiente conjugado funciona muito melhor que o GMRES

17

Estou interessado nos casos em que o gradiente conjugado funciona muito melhor que o método GMRES.

Em geral, o CG é a escolha preferível em muitos casos de SPD (simétrico-positivo-definido) porque requer menos armazenamento e o limite teórico da taxa de convergência para o CG é o dobro do GMRES. Existem problemas em que essas taxas são realmente observadas? Existe alguma caracterização de casos em que o GMRES tenha um desempenho melhor ou comparável ao GC para o mesmo número de spmvs (multiplicações esparsas de vetores matriciais).

piyush_sao
fonte

Respostas:

8

Uma coisa que CG tem a seu favor é que ele não está minimizando o discreto norma para seus polinômios residuais (que GMRES faz). Em vez disso, está minimizando uma norma induzida por matriz, e muitas vezes essa norma induzida por matriz acaba ficando muito próxima da norma energética para discretizações de problemas físicos, e freqüentemente essa é uma norma muito mais razoável para medir erros devido às propriedades de conservação que estão surgindo. da física.l2

Você também pode obter esse tipo de efeito com o GMRES, se a fatoração de Cholesky de uma matriz de massa não for muito cara, você pode forçar os produtos internos a serem os produtos internos de energia que você deseja.

Então, os casos em que se deve esperar que o CG tenha um desempenho muito diferente do GMRES são quando as constantes implícitas na equivalência de normas são muito diferentes. Isso pode ser verdade, por exemplo, em um método espectral de Galerkin de alta ordem, em que a norma discreta usada no GMRES trata todos os graus de liberdade como iguais, quando, na realidade, os gradientes polinomiais são os limites próximos mais nítidos (daí o agrupamento de nós); constantes de equivalência de norma entre essa norma e digamos que a norma L 2 contínua dada pela matriz de massa pode ser muito grande.l2L2

Reid.Atcheson
fonte
Queria dar um exemplo aqui com um método de alta ordem e históricos de convergência dos truques CG, GMRES e GMRES + Cholesky. Mas, infelizmente, o único código que tenho em mãos para problemas de segunda ordem é o DG da variedade não simétrica. aplicável, adoraria ver isso em ação.
precisa saber é o seguinte
3
Acho que sua resposta chega a algo importante, mas gostaria que você esclarecesse. Em particular, a pergunta é uma questão de álgebra linear pura, e sua resposta fala sobre normas físicas e matrizes de massa e assim por diante a partir de um PDE numérico. Podemos dizer algo preciso sobre como minimizar as diferentes normas dentro do mesmo espaço de Krylov leva a diferentes iterações?
Andrew T. Barker
Além de exemplos numéricos, acho que ainda não houve um estudo teórico cuidadoso explicando como normas diferentes produzem respostas substancialmente diferentes. A questão que penso é que os resultados giram em torno de assintóticos e, para um sistema linear fixo, os resultados teóricos serão idênticos aos fatores constantes do módulo. Se existem alguns estudos teóricos por aí, eu adoraria vê-los, mas, tendo perguntado a alguns dos especialistas em álgebra linear numérica do meu departamento, não parece que ainda exista uma análise teórica precisa mostrando o que acontece com diferentes normas.
Reid.Atcheson
4

Suspeito que em geral não exista muita diferença entre GMRES e CG para uma matriz SPD.

Ax=bAx0=0xkcxkgxkKk={b,Ab,A2b,}

ekc=xxkcA

(Aekc,ekc)=(A(xxkc),xxkc)=minyK(A(xy),xy).

rk=bAxkg2

(rk,rk)=(bAxkg,bAxkg)=minyK(bAy,bAy).
Aek=rk
(rk,rk)=(Aekg,Aekg)=(A2ekg,ekg)
AAA2AA

K1={b}x1=αb

α=(b,b)(Ab,b)
α=(Ab,b)(A2b,b).
A(ϵ,1,1,1,)b=(1,1,0,0,0,)ϵ0Ab para que esse fator de duas diferenças continue por toda a iteração, mas duvido que fique pior do que isso.
Andrew T. Barker
fonte
2
b=(1,ϵ,0,0,)|b|=1+ϵbTAb=2ϵbTA2b=ϵ1+ϵ2αCG=ϵ1+12ϵ1αGMRES=21+ϵ22ϵ1
3

Uma coisa é que o GMRES nunca é usado onde quer que o CG possa ser aplicado. Não acho que faça sentido comparar esses dois. Para matrizes SPD, o CG é definitivamente o vencedor, devido aos requisitos de armazenamento e aos motivos mencionados acima. Uma pergunta que seria interessante é encontrar uma extensão do CG aplicável a problemas nos quais o CG não pode ser aplicado. Existem métodos como o BiCG-stab que não requerem aumento linear de memória como o GMRES, mas a convergência não é tão boa quanto o GMRES (algumas vezes, mesmo com o GMRES reiniciado).

user1964178
fonte
2
Existem esquemas de IDR que preenchem a lacuna entre GMRES e BiCG em termos de economia de memória, estabilidade e convergência: ta.twi.tudelft.nl/nw/users/gijzen/IDR.html Não tenho certeza se concordo que GMRES não deve ser usado se o CG puder ser. Se você puder fazer uma fatoração cholsky de uma matriz que induza sua norma de energia, poderá alimentá-la em uma iteração simétrica de Lanczos e obter uma solução de recorrência de três termos que se comportará quase como o CG. Claro, CG é a opção mais fácil, mas a opção está disponível :)
Reid.Atcheson
2
Se você usa um Krylov mais suave, por exemplo, é provável que o GMRES seja preferível, pois usa uma norma mais fraca que tem como alvo valores próprios maiores, que tendem a ter maior frequência.
Jed Brown