Il est montré (Yousef Saad, Méthodes itératives pour les systèmes linéaires clairsemés , p. 260) que
Est-ce également vrai pour les ?
Dans le cas où est avec , j'observe queN × M N ≪ M c o n d ( A ′ A ) ≫ c o n d ( A A ′ )
Cela signifie-t-il que la formulation en termes d' est préférable dans ce cas?
linear-algebra
condition-number
Alexandre
la source
la source
Réponses:
Si avec N < M , alors r a n k ( A T A ) = r a n k ( A A T ) = r a n k ( A ) ≤ N < M pour que A T A ∈ R M × M ne peut pas être de rang complet, c'est-à-dire qu'il est singulier.A ∈ RN× M N< M
Par conséquent, le numéro de condition est . En raison de l'arithmétique de précision finie, si vous calculez dans matlab, vous obtenez un grand nombre, non .κ2( ATA ) = ∞
cond(A'A)
Inf
la source
Eh bien, le regard let à pourquoi a approximativement le nombre au carré de l' état d' A . En utilisant la décomposition SVD de A = U S V T , avec U ∈ R N × N , S ∈ R N × M , V ∈ R M × M , nous pouvons exprimer A T A commeUNETUNE UNE A = USVT U∈ RN× N S∈ RN× M V∈ RM× M UNETUNE
Ce que nous arrivons à en notant que est orthonormé, de sorte que U T U = I . De plus, nous notons que S est une matrice diagonale, de sorte que la décomposition finale de A T A peut être exprimée comme V S 2 V T , avec S 2 signifiant S T S , donnant une matrice diagonale avec les N premières valeurs singulières de S au carré dans la diagonale. Cela signifie que, puisque le numéro de condition est le rapport de la première et de la dernière valeur singulière, c o n d (U UTU= Je S UNETUNE VS2VT S2 STS S pourA∈RN×M, cond(A)=s1sN A∈RN×M
Maintenant, nous pouvons effectuer le même exercice avec :AAT
Ce qui signifie que nous obtenons le résultat , puisqueS2signifie iciSST, une différence subtile par rapport à la notation ci-dessus.cond(AAT)=s21s2N S2 SST
Mais notez cette subtile différence! Pour , le numéro de condition a la M'th valeur singulière dans le dénominateur, tandis que A A T a la N'th singularité. Cela explique pourquoi vous voyez des différences significatives dans le nombre de conditions - A A T sera en effet « meilleure condition » que A T A .ATA AAT AAT ATA
Pourtant, David Ketcheson avait raison - vous comparez les nombres de conditions entre deux matrices très différentes. En particulier, ce que vous pouvez accomplir avec ne sera pas la même chose que ce que vous pouvez accomplir avec A A T .ATA AAT
la source
la source
En arithmétique exacte cond (A ^ 2) = cond (A'A) = cond (AA '), voir par exemple. Golub et van Loan, 3e éd., P70. Ce n'est pas vrai en arithmétique à virgule flottante si A est presque déficient en rang. Le meilleur conseil est de suivre les recettes de livres ci-dessus lors de la résolution des problèmes des moindres carrés, l'approche la plus sûre étant SVD, p257. Utilisez \ varepsilon-rank à la place lors du calcul de SVD, où \ varepsilon est la résolution de vos données matricielles.
la source