Jeśli rząd r macierzy A jest mniejszy zarówno od liczby kolumn n, jak i od liczby wierszy m, to liniowe zadanie najmniejszych kwadratów dla układu Ax = b jest nieregularne. Zbiór rozwiązań takiego zadania jest nieskończony; jest on warstwą n − r-wymiarową (przestrzeni Rn), której elementami są takie wektory x, że wektor y⋆= Axjest rzutem prostopadłym wektora b na podprzestrzeń rozpiętą
przez kolumny macierzy A (tj. residuum, b − y⋆, jest wektorem prostopadłym do tej podprzestrzeni). Dokładnie jeden element tej warstwy ma najmniejszą normę drugą; co więcej, dla dowolnego wektora ^x ∈ Rnistnieje dokładnie jeden
element x⋆tej warstwy, taki że norma druga różnicy x⋆− ^xjest najmniejsza.
Rozwiązanie NLZNK zwykle polega na znalezieniu tego wektora x⋆. Rozumowanie podobne do przeprowadzonego wcześniej dla DLZNK uzasadnia stwierdzenie, że wektor x⋆− ^xjest kombinacją liniową transponowanych wierszy macierzy A.
NLZNK są trudne do numerycznego rozwiązania. Jest tak dlatego, że rozwiązanie zadania zależy od danych w sposób paskudnie nieciągły. NLZNK jest szczególnie trudne, jeśli nie znamy rzędu macierzy A i dopiero mamy go na podstawie obliczeń numerycznych ustalić.
Najodporniejsze numeryczne algorytmy rozwiązywania NLZNK korzystają z rozkładu względem wartości szczególnych (ang. singular value decomposition, SVD) macierzy A. Dowodzi się, że dla dowolnej macierzy A ∈ Rm,nistnieją macierze ortogonalne U ∈ Rm,mi V ∈ Rn,noraz macierz diagonalna Σ ∈ Rm,n, takie że A = UΣVT. Współczynniki diagonalne macierzy Σ, σ1, . . . , σl, gdzie l =min{m, n}, nazywają się wartościami szczególnymi macierzy A i są nieujemne.
Rozkład w ogólności nie jest jednoznaczny, ale same wartości szczególne i liczby ich wystąpień (krotności) są określone przez macierz A jednoznacznie. Zwykle rozkładu dokonuje się w taki sposób, aby wartości szczególne były uporządkowane nierosnąco na diagonali macierzy Σ: σ1>σ2>· · · > σr> σr+1=· · · = σl= 0.
Liczba niezerowych wartości szczególnych jest rzędem macierzy A.
Wyznaczanie rozkładu SVD wiąże się z rozwiązywaniem algebraicznego
zagadnienia własnego i dla macierzy o więcej niż czterech wierszach i kolumnach może być dokonane tylko jakąś metodą iteracyjną. Opis algorytmu Goluba, który dokonuje rozkładu (otrzymując reprezentacje macierzy U i V w postaci ciągu wektorów odbić Householdera i tzw. obrotów Givensa), pominiemy (kto będzie potrzebował, ten go znajdzie). Natomiast przyjrzyjmy się zastosowaniu tego rozkładu do rozwiązania zadania.
NLZNK dla układu równań Ax = b i wektora ^x można zastąpić zadaniem równoważnym dla układu równań Σy = d, gdzie d = UTb, i wektora ^y = VT^x (po rozwiązaniu tego zadania możemy obliczyć x = Vy). Załóżmy dla uproszczenia, że ^x = 0, czyli ^y = 0. Wtedy rozwiązaniem NLZNK dla układu
Σy = djest wektor o współrzędnych
yi=
di/σi dla i 6 r, 0 dla i > r.
Mamy stąd wyjaśnienie trudności zadania: niewielkie zaburzenie macierzy A może spowodować pewne niegroźne zmiany macierzy U i V, oraz zaburzenie macierzy Σ:
jeśli dowolna zerowa wartość szczególna zmieni się na niezerową (czyli skutkiem zaburzenia będzie zwiększenie rzędu macierzy A) i di6= 0, to trzeba będzie przyjąć yi= di/σi, zamiast zera, dla pewnego i > r. Tak więc, im mniej zaburzymy macierz A (w sposób zmieniający σi), tym większa będzie zmiana wyniku.
Jeśli znamy rząd r macierzy A, to po znalezieniu rozkładu SVD możemy zamienić na zera obliczone numerycznie wartości szczególne σidla i > r — obliczone wartości niezerowe są skutkiem błędów zaokrągleń i aproksymacji popełnionych podczas rozkładania. Jeśli rzędu nie znamy, to możemy przyjąć pewien próg (zależny od oszacowania błędów) i zamienić na zera znalezione wartości szczególne mniejsze od tego progu; to postępowanie nazywa się regularyzacją dyskretną.
Inne podejście to tzw. regularyzacja ciągła — do wszystkich wartości szczególnych dodajemy pewną liczbę s > 0, otrzymując zadanie z macierzą pełnego rzędu, tj. RLZNK, jeśli m > n, układ równań z macierzą kwadratową nieosobliwą, jeśli n = m, albo DLZNK, jeśli m < n. Wybór metody regularyzacji zależy od zastosowania.
Zadania i problemy
1. Niech
A =
1 1 1 ε 0 0 0 ε 0 0 0 ε
, b =
3 ε ε ε
.
Jaki będzie skutek użycia arytmetyki pojedynczej precyzji do rozwiązania LZNK dla układu Ax = b za pomocą algorytmu równań normalnych, jeśli |ε| < 10−4? 2. Tabela zawiera wyniki pomiarów (z błędami) wartości pewnej funkcji:
x −2 −1 1 2
f(x) −1 5 2 14
Przy założeniu, że funkcja ma postać f(x) = a0+ a1(x2− 4), znajdź liczby a0i a1
najlepiej pasujące do wyników tych pomiarów. Postaw i rozwiąż w tym celu LZNK, używając algorytmu równań normalnych oraz odbić Householdera.
3. Pseudoodwrotność macierzy A ∈ Rm,njest to macierz A+∈ Rn,m, taka że macierz AA+jest macierzą rzutu ortogonalnego przestrzeni Rmna podprzestrzeń rozpiętą przez kolumny macierzy A, zaś macierz A+Ajest macierzą rzutu ortogonalnego na podprzestrzeń rozpiętą przez transponowane wiersze macierzy A.
Udowodnij, że
a) jeśli macierz A jest kwadratowa nieosobliwa, to A+= A−1, b) jeśli macierz A jest kolumnowo regularna, to A+= (ATA)−1AT, c) jeśli macierz A jest wierszowo regularna, to A+= AT(AAT)−1.
Zbadaj związek pseudoodwrotności z liniowymi zadaniami najmniejszych kwadratów.
Wskazówka: znajdź wzory opisujące rozwiązania odpowiednich układów równań normalnych.
Uwaga: Pseudoodwrotność macierzy A czasem definiuje się jako macierz A+ spełniającą tzw. warunki Penrose’a:
A+A = (A+A)T, AA+= (AA+)T, AA+A = A, A+AA+= A+. Dowodzi się, że dla dowolnej macierzy A istnieje dokładnie jedna macierz A+ spełniająca te warunki. Ta definicja jest równoważna definicji podanej wcześniej w tym zadaniu. Ponadto, znając rozkład SVD macierzy A, tj. macierze
ortogonalne U, V oraz macierz diagonalną Σ, takie że A = UΣVT, możemy napisać A+= VΣ+UT, gdzie Σ+jest macierzą diagonalną ze współczynnikami
1/σ1, . . . , 1/σr, 0, . . . , 0na diagonali.
4. LZNK z więzami. Dany układ równań liniowych jest podzielony na dwa podukłady, z macierzami B ∈ Rm,ni C ∈ Rk,n(takimi, że k < n < m + k):
Bx = d, Cx = e,
przy czym macierz A = BC
jest kolumnowo regularna, a macierz C jest wierszowo regularna. Zadanie polega na znalezieniu wektora x⋆, takiego że Cx⋆= eoraz norma druga wektora residuum pierwszego podukładu jest najmniejsza.
Algorytm zamiany zmiennych: Znajdujemy rozkład macierzy C na czynniki L i QT, odpowiednio trójkątny dolny i ortogonalny. Dokonujemy zamiany
zmiennych, wprowadzając nowy wektor niewiadomy, y = QTx. Macierz L dzielimy na bloki, L = [L1, L2], z których pierwszy jest nieosobliwą macierzą trójkątną dolną, a drugi jest macierzą zerową. Macierz Q dzielimy na bloki Q1i Q2. W ten sposób drugi podukład zastępujemy układem równoważnym L1y1= e, z którego wyznaczymy y1. Po zamianie zmiennych w pierwszym podukładzie otrzymujemy układ równań liniowych
BQy = d, czyli BQ1y1+ BQ2y2= d, czyli BQ2y2= d − BQ1y1. w ogólności sprzeczny. Dla tego układu rozwiązujemy regularne liniowe zadanie najmniejszych kwadratów, po czym na podstawie otrzymanych wektorów y1i y2
możemy obliczyć x = Qy.
Algorytm z mnożnikami Lagrange’a: Jeśli macierz B jest kolumnowo regularna, to symetryczna macierz M = BTBjest dodatnio określona. Wtedy kwadrat normy drugiej residuum pierwszego podukładu jest wielomianem drugiego stopnia współrzędnych wektora x, który w każdej warstwie przestrzeni Rnma jednoznacznie określone minimum:
f(x) =kd − Bxk22= xTMx − 2xTBTd + dTd.
Aby znaleźć minimum funkcji f w zbiorze rozwiązań drugiego podukładu, wystarczy rozwiązać układ równań
"
M CT
C 0
# "
x y
#
=
"
BTd e
# .
Po rozwiązaniu tego układu blok y odrzucamy; jego współrzędne są tzw.
mnożnikami Lagrange’a dla postawionego tu zadania minimalizacji z więzami.
Podany wyżej blokowy układ równań możemy rozwiązać w podobny sposób, jak układ w zadaniu 7 na s. 4.26, ale zamiast obliczenia macierzy M i zastosowania do niej metody Choleskiego, lepiej jest dokonać rozkładu ortogonalno-trójkątnego macierzy B.
Opracuj szczegóły obu algorytmów (w szczególności określ wymiary i sposoby reprezentowania wszystkich macierzy otrzymanych w obliczeniach).
Uzasadnij stwierdzenie, że macierz BQ2 przetwarzana w pierwszym algorytmie jest kolumnowo-regularna.
Udowodnij, że drugi algorytm daje rozwiązanie zadania.
5. Opisz, jak zrealizować pierwszy podany na wykładzie algorytm rozwiązywania DLZNK korzystający z rozkładu trójkątno-ortogonalnego, za pomocą odbić Householdera (bez jawnego wyznaczania macierzy Q1).
6. Metoda Newtona z pseudoodwrotnością służy do numerycznego rozwiązywania układów równań nieliniowych, w których liczba równań, m, jest mniejsza niż liczba niewiadomych, n. Układ równań liniowych Jkδ = −fkjest rozwiązywany jako DLZNK, w celu wyznaczenia najkrótszego spełniającego ten układ wektora δ, po czym przyjmuje się xk+1= xk+ δ. W ten sposób, jeśli funkcja f spełnia odpowiednie warunki, powstaje ciąg (xk)k∈Nzbieżny do pewnego
rozwiązania α (z nieskończonego zbioru rozwiązań), położonego w pobliżu punktu startowego x0. Przykład (jedno równanie z dwiema niewiadomymi) na obrazku.
xk
xk+1 x
y
xk
xk+1
f1(x) = 0
x
y z
z = f1(x)
Wykonaj dwa kroki metody Newtona z pseudoodwrotnością dla układu równań
x2+ y2− z2= 3 x + y + z = 1
przyjmując x0= [0, 0, 0]T. W rachunkach „ręcznych” układaj i rozwiązuj dualny układ równań normalnych.
7. Udowodnij, że jeśli macierz A ∈ Rm,njest kolumnowo-regularna i jest iloczynem macierzy Q1∈ Rm,ni R1∈ Rn,n, takich że macierz Q1 ma kolumny wzajemnie prostopadłe i o długości 1, zaś macierz R1jest trójkątna górna, to rozkład ten jest jednoznaczny z dokładnością do zwrotów kolumn macierzy Q1i wierszy
macierzy R1.
Z powyższego stwierdzenia wynika wniosek, że wszystkie metody znajdowania rozkładu ortogonalno-trójkątnego (Grama-Schmidta, Householdera, Givensa) dają identyczne wyniki z dokładnością do błędów zaokrągleń i zwrotów kolumn Q1
i wierszy R1 (ale, z wyjątkiem metody Grama-Schmidta, macierzy Q1 nie wyznaczamy w jawnej postaci, jeśli tylko nie musimy!).
Zauważ, że jeśli macierz A jest kwadratowa n × n i ma rząd n − 1 lub n, to jej rozkład na macierz ortogonalną Q i trójkątną górną R też jest jednoznaczny z dokładnością do zwrotów kolumn Q i wierszy R.
8. Sprawdź, że w metodzie sprzężonych gradientów obliczenie rk+1= rk− tkAvk
jest krokiem ortogonalizacji Grama-Schmidta w sensie iloczynu skalarnego hu, vi = vTu, zaś konstrukcja
vk+1= rk+1+ skvk
jest krokiem ortogonalizacji Grama-Schmidta w sensie iloczynu skalarnego hu, viA= vTAu.