Soit , symétrique et positif défini. Supposons qu'il faut unités de travail pour multiplier un vecteur par . Il est bien connu que l'exécution de l'algorithme CG sur avec le numéro de condition nécessite , unités de travail.
Maintenant, bien sûr, étant une instruction , c'est une limite supérieure. Et l'algorithme CG peut toujours se terminer en zéro étapes avec une supposition initiale chanceuse.
Savons-nous s'il existe un RHS et une supposition initiale (malchanceuse) qui nécessitera étapes? Autrement dit, la complexité du travail dans le pire des cas de CG est vraiment?
Cette question se pose lorsque j'ai essayé de déterminer si les avantages d'un préconditionneur ( inférieur ) l'emportaient sur son coût ( supérieur ). En ce moment, je travaille avec des problèmes de jouets et j'aimerais avoir une meilleure idée avant d'implémenter quoi que ce soit dans un langage compilé.
Réponses:
La réponse est un oui retentissant. Le taux de convergence lié à est nette sur l'ensemble des matrices définies positives symétriques avec le numéro de conditionκ. En d'autres termes, sachant rien de plus surAque son numéro de condition, CG peut vraiment prendre∼ √(κ−−√−1)/(κ−−√+1) κ A itérations pour converger. En gros, la limite supérieure est atteinte si les valeurs propres deAsont uniformément réparties (c'est-à-dire "poivrées") dans un intervalle de nombre de conditionsκ.∼κ−−√ A κ
Voici une déclaration plus rigoureuse. Les versions déterministes sont plus impliquées mais fonctionnent en utilisant les mêmes principes.
Théorème (choix du pire cas de ). Choisir une quelconque matrice orthogonale aléatoire U , laisser λ 1 , ... , λ n soit n nombres réels uniformément échantillonnés à partir de l'intervalle réel [ 1 , κ ] , et que b = [ b 1 ; … ; b n ] être n nombres réels échantillonnés iid à partir du gaussien standard. Définissez A = U d i a g ( λ 1 ,A U λ1,…,λn n [1,κ] b=[b1;…;bn] n Ensuite, dans la limite n → ∞ , les gradients conjugués convergeront avec la probabilité un vers une ϵ solution précise de A x = b en pas moins de Ω ( √
Preuve. La preuve standard est basée sur des approximations polynomiales optimales de Chebyshev, en utilisant des techniques trouvées dans un certain nombre d'endroits, comme le livre de Greenbaum ou le livre de Saad .
la source
En prenant cela comme ma question d'origine: savons-nous s'il existe un RHS et une supposition initiale (malchanceuse) qui nécessitera des étapes ?Θ(κ−−√)
La réponse à la question est "non". L'idée de cette réponse vient du commentaire de Guido Kanschat.
Revendication: Pour tout numéro de condition , il existe une matrice , avec ce numéro de condition pour lequel l'algorithme CG se terminera en au plus deux étapes (pour tout RHS donné et estimation initiale).Ak A
Considérons où . Alors le numéro de condition de est . Soit le RHS et notons les valeurs propres de comme où A = d i a g ( 1 , κ , κ , … , κ ) A κ b ∈ R n A λ i λ i = { 1 i = 1 κ i ≠ 1 .A∈Rn×n A=diag(1,κ,κ,…,κ) A κ b∈Rn A λi
Nous considérons d'abord le cas où , la supposition initiale, est zéro. Notons comme la deuxième estimation de partir de l'algorithme CG. Nous montrons que en montrant . En effet, nous avonsx(0)∈Rn x(2)∈Rn A−1b x(2)=A−1b ⟨x(2)−A−1b,A(x(2)−A−1b)⟩=0
Où nous utilisons le polynôme de premier ordre défini comme . Nous avons donc prouvé le cas pour . p (x)=(1+κ-x)/κx(0)=0pˆ pˆ(x)=(1+κ−x)/κ x(0)=0
Si , alors où est la deuxième estimation de l'algorithme CG avec remplacé par . Nous avons donc réduit ce cas au précédent. x ( 2 ) = ¯ x ( 2 ) + x ( 0 ) ¯ x ( 2 ) b ¯ b = b - A x ( 0 )x(0)≠0 x(2)=x(2)¯¯¯¯¯¯¯¯+x(0) x(2)¯¯¯¯¯¯¯¯ b b¯¯=b−Ax(0)
la source