É mostrado (Yousef Saad, métodos iterativos para sistemas lineares esparsos , p. 260) que
Isso também é verdade para ?
No caso de ser com , observo que
Isso significa que a formulação em termos de é preferível neste caso?
linear-algebra
condition-number
Alexander
fonte
fonte
Respostas:
Se com N < M , então r a n k ( A T A ) = r a n k ( A A T ) = r a n k ( A ) ≤ N < M, de modo que A T A ∈ R M × M não pode ser posto completo, ie é singular.A∈RN×M N<M
Consequentemente, o número da condição é . Devido à aritmética de precisão finita, se você computa no matlab, obtém um grande número, não .κ2(ATA)=∞
cond(A'A)
Inf
fonte
Bem, Vamos olhar por tem aproximadamente o número de condição quadrado de A . Usando a decomposição SVD de A = U S V T , com U ∈ R N × N , S ∈ R N × M , V ∈ R M × M , podemos expressar A T A comoATA A A=USVT U∈RN×N S∈RN×M V∈RM×M ATA
Que chegamos ao notar que é orthonormal, tal que U T U = I . Além disso, observamos que S é uma matriz diagonal, de modo que a decomposição final de A T A pode ser expressa como V S 2 V T , com S 2 significando S T S , produzindo uma matriz diagonal com os primeiros N valores singulares de S ao quadrado na diagonal. Isto significa que uma vez que o número de condição é a razão entre o primeiro e o último valor singular, c o n d (U UTU=I S ATA VS2VT S2 STS S paraA∈RN×M, cond(A)=s1sN A∈RN×M
Agora, podemos realizar o mesmo exercício com :AAT
O que significa que obtemos o resultado , uma vez queS2aqui significaSST, uma diferença subtil da notação acima.cond(AAT)=s21s2N S2 SST
Mas observe essa diferença sutil! Para , o número da condição possui o M-ésimo valor singular no denominador, enquanto A A T tem o N-ésimo valor singular. Isso explica por que você está vendo diferenças significativas no número de condição - A A T vai realmente ser “melhor condicionado” de A T A .ATA AAT AAT ATA
Ainda assim, David Ketcheson estava correto - você está comparando números de condição entre duas matrizes muito diferentes. Em particular, o que você pode realizar com não será o mesmo que o que você pode realizar com A A T .ATA AAT
fonte
A afirmação que (para matrizes quadradas)condA2≈condATA
na pergunta e[Edit: eu interpretei errado] na resposta de Artan é um absurdo. Contra-exemplopara o qual você pode facilmente verificar que enquanto cond A 2 = O ( ϵ - 2 ) .condATA=O(ϵ−4) condA2=O(ϵ−2)
fonte
Em condições aritméticas exatas (A ^ 2) = cond (A'A) = cond (AA '), ver p. Golub e van Loan, 3ª ed., P. Isso não é verdade na aritmética de ponto flutuante se A for quase deficiente na classificação. O melhor conselho é seguir as receitas do livro acima ao resolver problemas com mínimos quadrados, sendo a abordagem mais segura a SVD, p257. Use \ varepsilon-rank ao calcular SVD, onde \ varepsilon é a resolução dos dados da matriz.
fonte