Articles

Układ równań liniowych

Posted on

Istnieje kilka algorytmów rozwiązywania układu równań liniowych.

Opisywanie rozwiązaniaEdit

Aby opisać układ o nieskończonej liczbie rozwiązań, zwykle część zmiennych oznacza się jako swobodne (lub niezależne, albo jako parametry), co oznacza, że mogą one przyjmować dowolne wartości, natomiast pozostałe zmienne są zależne od wartości zmiennych swobodnych.

Na przykład rozważmy następujący układ:

x + 3 y – 2 z = 5 3 x + 5 y + 6 z = 7 {przyp. tłum;&&3y&&&&2z&&&&&3x&&&&5y&&&&6z&&&&&\end{alignedat}}}

Zestaw rozwiązań tego układu można opisać następującymi równaniami:

x = – 7 z – 1 oraz y = 3 z + 2 . {\displaystyle x=-7z-1\;\;\;\;{\text{and}}\;\;\;\;y=3z+2{\text{.}}}

Tutaj z jest zmienną niezależną, podczas gdy x i y są zależne od z. Każdy punkt w zbiorze rozwiązań można uzyskać, wybierając najpierw wartość z, a następnie obliczając odpowiadające jej wartości x i y.

Każda zmienna swobodna daje przestrzeni rozwiązań jeden stopień swobody, którego liczba jest równa wymiarowi zbioru rozwiązań. Na przykład, rozwiązaniem powyższego równania jest prosta, ponieważ punkt w zbiorze rozwiązań można wybrać określając wartość parametru z. Nieskończone rozwiązanie wyższego rzędu może opisywać płaszczyznę, lub zbiór o wyższym wymiarze.

Różne wybory zmiennych niezależnych mogą prowadzić do różnych opisów tego samego zbioru rozwiązań. Na przykład, rozwiązanie powyższych równań można alternatywnie opisać następująco:

y = – 3 7 x + 11 7 oraz z = – 1 7 x – 1 7 . y=-{}}x+{}} z=-{}}rac {3}{7}x-{}}x+{}}} z=-{}}}rac {1}{7}x-{}}}x-{}}}x-{}}}x-{}}}} z=-{}}rac {1}{7}}{}}}.

Tutaj x jest zmienną wolną, a y i z są zmiennymi zależnymi.

Eliminacja zmiennychEdit

Najprostszą metodą rozwiązywania układu równań liniowych jest wielokrotna eliminacja zmiennych. Metoda ta może być opisana w następujący sposób:

  1. W pierwszym równaniu rozwiąż jedną ze zmiennych w odniesieniu do pozostałych.
  2. Wstaw to wyrażenie do pozostałych równań. W ten sposób otrzymamy układ równań z jednym mniejszym równaniem i jedną mniejszą niewiadomą.
  3. Powtarzaj, aż układ zostanie zredukowany do jednego równania liniowego.
  4. Rozwiąż to równanie, a następnie ponownie podstawiaj, aż znajdzie się całe rozwiązanie.

Na przykład, rozważ następujący system:

x + 3 y – 2 z = 5 3 x + 5 y + 6 z = 7 2 x + 4 y + 3 z = 8 {{displaystyle {{begin{alignedat}{7}x&&&&3y&&&&2z&&&&&3x&&&&5y&&;+ &&6z&&&&&2x&&&&4y&&&&3z&&&&&\end{alignedat}}}

Rozwiązując pierwsze równanie dla x otrzymujemy x = 5 + 2z – 3y, a podstawiając to do drugiego i trzeciego równania otrzymujemy

– 4 y + 12 z = – 8 – 2 y + 7 z = – 2 {{displaystyle {{begin{alignedat}{5}-4y&&&&12z&&;=&&&-2y&&&&7z&&&&&\end{alignedat}}}

Rozwiązując pierwsze z tych równań dla y otrzymujemy y = 2 + 3z, a wstawiając to do drugiego równania otrzymujemy z = 2. Mamy teraz:

x = 5 + 2 z – 3 y y = 2 + 3 z z = 2 {{displaystyle {{begin{alignedat}{7}x&&&&&&&&2z&&&&3y&3y&&;=; &&&&&&3z&&&&&\\z&&&&&&&&&&&&&\end{alignedat}}}

Redukcja wierszyEdit

Główny artykuł: Eliminacja gaussowska

W redukcji rzędów (znanej również jako eliminacja gaussowska), układ liniowy jest reprezentowany jako macierz rozszerzona:

.

Macierz ta jest następnie modyfikowana za pomocą elementarnych operacji na rzędach, aż osiągnie postać echelonu o zredukowanych rzędach. Istnieją trzy typy elementarnych operacji na rzędach:

Typ 1: Zamień miejscami dwa wiersze. Typ 2: Mnożenie wiersza przez niezerowy skalar. Typ 3: Dodaj do jednego wiersza skalarną wielokrotność innego wiersza.

Ponieważ te operacje są odwracalne, otrzymana macierz rozszerzona zawsze reprezentuje układ liniowy, który jest równoważny oryginalnemu.

Istnieje kilka specyficznych algorytmów redukcji rzędów macierzy rozszerzonej, z których najprostsze to eliminacja Gaussa i eliminacja Gaussa-Jordana. Poniższe obliczenie pokazuje eliminację Gaussa-Jordana zastosowaną do powyższej macierzy:

∼ ∼ ∼ ∼ ∼ ∼ ∼ ∼ . {{displaystyle}}

Przedostatnia macierz& }

Ostatnia macierz jest w postaci echelonu o zredukowanych rzędach i reprezentuje układ x = -15, y = 8, z = 2. Porównanie z przykładem z poprzedniego rozdziału o algebraicznej eliminacji zmiennych pokazuje, że te dwie metody są w gruncie rzeczy takie same; różnica polega na sposobie zapisu obliczeń.

Reguła CrameraEdit

Main article: Reguła Cramera

Reguła Cramera to jawny wzór na rozwiązanie układu równań liniowych, w którym każda zmienna jest podana przez iloraz dwóch wyznaczników. Na przykład, rozwiązanie układu

x + 3 y – 2 z = 5 3 x + 5 y + 6 z = 7 2 x + 4 y + 3 z = 8 {{displaystyle {{begin{alignedat}{7}x&&\;3y&&\;2z&&\;5\\3x&&\;5y&&\;6z&&\;7\\2x&&\;4y&&\;3z&&\;8\end{alignedat}}}

jest dany przez

x = | 5 3 – 2 7 5 6 8 4 3 | | 1 3 – 2 3 5 6 2 4 3 | , y = | 1 5 – 2 3 7 6 2 8 3 | | 1 3 – 2 3 5 6 2 4 3 | | 1 3 – 2 3 5 7 6 2 4 3 | , z = | 1 3 5 3 5 7 2 4 8 | | 1 3 – 2 3 5 6 2 4 3 | . {displaystyle x={{frac {{,\left|{\begin{matrix}5&&&&&&3\end{matrix}}\right|\,}{\,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}},\;\;\;\;y={frac {{,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}{\,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}},\;\;\;\;z={frac {{,\left|{\begin{matrix}1&&&&&&8\end{matrix}}\right|\,}{\,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}}.}

Dla każdej zmiennej mianownik jest wyznacznikiem macierzy współczynników, natomiast licznik jest wyznacznikiem macierzy, w której jedna kolumna została zastąpiona wektorem wyrazów stałych.

Chociaż reguła Cramera jest ważna z teoretycznego punktu widzenia, ma niewielką wartość praktyczną dla dużych macierzy, ponieważ obliczanie dużych wyznaczników jest nieco kłopotliwe. Ponadto, reguła Cramera ma bardzo słabe własności numeryczne, co czyni ją nieodpowiednią do niezawodnego rozwiązywania nawet małych układów, chyba że operacje wykonywane są w arytmetyce racjonalnej z nieograniczoną precyzją.

Rozwiązanie macierzyEdit

Jeśli układ równań jest wyrażony w postaci macierzowej A x = b { {displaystyle A x = b } , cały zestaw rozwiązań może być również wyrażony w postaci macierzowej. Jeśli macierz A jest kwadratowa (ma m wierszy i n=m kolumn) i ma pełną rangę (wszystkie m wierszy są niezależne), to układ ma unikalne rozwiązanie dane przez

x = A – 1 b { {displaystyle \mathbf {x} =A^{-1}\mathbf {b} } x = A + b + ( I – A + A ) w {displaystyle \mathbf {x} =A^{+}\mathbf {b} +(I-A^{+}A)\mathbf {w} }

Inne metodyEdit

Pomimo, że układy trzech lub czterech równań mogą być łatwo rozwiązane ręcznie (zobacz krakowskie), to do większych układów często używa się komputerów. Standardowy algorytm rozwiązywania układu równań liniowych oparty jest na eliminacji gaussowskiej z pewnymi modyfikacjami. Po pierwsze, należy unikać dzielenia przez małe liczby, co może prowadzić do niedokładnych wyników. Można to zrobić poprzez zmianę kolejności równań, jeśli jest to konieczne, proces znany jako pivoting. Po drugie, algorytm nie wykonuje dokładnie eliminacji gaussowskiej, ale oblicza dekompozycję LU macierzy A. Jest to głównie narzędzie organizacyjne, ale jest znacznie szybsze, jeśli trzeba rozwiązać kilka układów z tą samą macierzą A, ale różnymi wektorami b.

Jeśli macierz A ma jakąś specjalną strukturę, można to wykorzystać do uzyskania szybszych lub dokładniejszych algorytmów. Na przykład, układy z symetryczną macierzą dodatnio definiowalną mogą być rozwiązane dwa razy szybciej za pomocą dekompozycji Cholesky’ego. Rekursja Levinsona jest szybką metodą dla macierzy Toeplitza. Istnieją również specjalne metody dla macierzy z wieloma elementami zerowymi (tzw. macierzy rzadkich), które często pojawiają się w aplikacjach.

Zupełnie inne podejście jest często stosowane dla bardzo dużych systemów, które w przeciwnym razie zajęłyby zbyt dużo czasu lub pamięci. Idea polega na rozpoczęciu od początkowego przybliżenia rozwiązania (które wcale nie musi być dokładne), i zmianie tego przybliżenia w kilku krokach, aby zbliżyć je do prawdziwego rozwiązania. Gdy przybliżenie jest wystarczająco dokładne, przyjmuje się, że jest to rozwiązanie systemu. Prowadzi to do klasy metod iteracyjnych.

Istnieje również algorytm kwantowy dla układów równań liniowych.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *