Pokazano (Yousef Saad, Iteracyjne metody dla rzadkich układów liniowych , s. 260), które
Czy dotyczy to również ?
W przypadku, gdy jest N \ razy M z N \ ll M , obserwuję, że cond (A'A) \ gg cond (AA ')
Czy to oznacza, że w tym przypadku preferowane jest sformułowanie w kategoriach ?
linear-algebra
condition-number
Alexander
źródło
źródło
Odpowiedzi:
Jeśli z , to tak że nie może mieć pełnej rangi, tzn. jest liczbą pojedynczą.A∈RN×M N<M
Odpowiednio, warunkiem jest . Ze względu na skończoną precyzję arytmetyki, jeśli obliczasz w Matlabie, otrzymujesz dużą liczbę, a nie .κ2(ATA)=∞
cond(A'A)
Inf
źródło
Cóż, wygląd Spójrzmy prawdzie w dlaczego ma w przybliżeniu kwadrat o liczbę warunek . Używając rozkładu SVD , z , , , możemy wyrazić jakoATA A A=USVT U∈RN×N S∈RN×M V∈RM×M ATA
Które otrzymujemy od stwierdzenia, że jest ortonormalna takie, że . Ponadto zauważamy, że jest macierzą diagonalną, tak że ostateczny rozkład można wyrazić jako , przy czym oznacza , otrzymując macierz diagonalną z pierwszymi N liczbą pojedynczą z kwadracie po przekątnej. Oznacza to, że ponieważ liczba warunków jest stosunkiem pierwszej i ostatniej liczby pojedynczej, dla ,U UTU=I S ATA VS2VT S2 STS S cond(A)=s1sN A∈RN×M
Teraz możemy wykonać to samo ćwiczenie z :AAT
Co oznacza, że otrzymujemy wynik , ponieważ tutaj oznacza , subtelną różnicę w stosunku do powyższej notacji.cond(AAT)=s21s2N S2 SST
Ale zauważ tę subtelną różnicę! Dla liczba warunków ma M-tą liczbę pojedynczą w mianowniku, podczas gdy ma N-tą liczbę pojedynczą. To wyjaśnia, dlaczego widzisz znaczące różnice w liczbie warunków - będzie rzeczywiście „lepiej uwarunkowany” niż .ATA AAT AAT ATA
Mimo to David Ketcheson miał rację - porównujesz liczby warunków między dwiema zupełnie różnymi macierzami. W szczególności, co można osiągnąć z nie będzie takie samo jak to, co można osiągnąć z .ATA AAT
źródło
Twierdzenie, że (dla macierzy kwadratowych)condA2≈condATA
w pytaniu i[Edycja: źle odczytałem] w odpowiedzi Artana jest nonsensowne. Kontrprzykładdla których możesz łatwo sprawdzić, czy podczas gdy .condATA=O(ϵ−4) condA2=O(ϵ−2)
źródło
Dokładnie arytmetyczny cond (A ^ 2) = cond (A'A) = cond (AA '), patrz np. Golub i van Loan, 3. wydanie, str. 70. Nie jest to prawdą w przypadku arytmetyki zmiennoprzecinkowej, jeśli A ma prawie niedobór rangi. Najlepiej jest postępować zgodnie z powyższymi przepisami przy rozwiązywaniu najmniejszych kwadratowych problemów, najbezpieczniejszym jest podejście SVD, str. 257. Zamiast tego używaj \ varepsilon-rank podczas obliczania SVD, gdzie \ varepsilon jest rozdzielczością danych macierzy.
źródło