W tym artykule metoda jest traktowana jako sposób rozwiązywania układów równań liniowych (SLAE). Metoda ma charakter analityczny, to znaczy pozwala napisać ogólny algorytm rozwiązania, a następnie podstawić tam wartości z konkretnych przykładów. W przeciwieństwie do metody macierzowej lub formuł Cramera, rozwiązując układ równań liniowych metodą Gaussa, można również pracować z tymi, które mają nieskończenie wiele rozwiązań. Albo w ogóle go nie masz.
Co to znaczy rozwiązywać metodą Gaussa?
Najpierw musimy zapisać nasz układ równań jako macierz. To wygląda tak. System jest zajęty:
Współczynniki są zapisane w formie tabeli, a po prawej stronie w osobnej kolumnie - wolne składowe. Kolumna z wolnymi elementami jest dla wygody oddzielona pionowym prętem. Macierz zawierająca tę kolumnę nazywa się rozszerzoną.
Następnie główna macierz ze współczynnikami musi zostać zredukowana do górnego trójkąta. To jest główny punkt rozwiązywania systemu metodą Gaussa. Mówiąc najprościej, po pewnych manipulacjach macierz powinna wyglądać tak, aby w jej dolnej lewej części były same zera:
Wtedy, jeśli zapiszesz nową macierz ponownie jako układ równań, zauważysz, że ostatni wiersz zawiera już wartość jednego z pierwiastków, który jest następnie podstawiony do powyższego równania, znaleziono inny pierwiastek i tak dalej.
To jest najbardziej ogólny opis rozwiązania Gaussa. A co się stanie, jeśli nagle system nie znajdzie rozwiązania? A może jest ich nieskończona liczba? Aby odpowiedzieć na te i wiele innych pytań, należy osobno rozważyć wszystkie elementy użyte w rozwiązaniu metodą Gaussa.
Macierze, ich właściwości
W matrycy nie ma żadnego ukrytego znaczenia. To po prostu wygodny sposób na zapisywanie danych do późniejszych operacji. Nawet dzieci w wieku szkolnym nie powinny się ich bać.
Macierz jest zawsze prostokątna, ponieważ jest to wygodniejsze. Nawet w metodzie Gaussa, gdzie wszystko sprowadza się do zbudowania trójkątnej macierzy, we wpisie pojawia się prostokąt, tylko z zerami w miejscu, gdzie nie ma liczb. Zera można pominąć, ale są domniemane.
Matrix ma rozmiar. Jego „szerokość” to liczba rzędów (m), a „długość” to liczba kolumn (n). Wówczas rozmiar macierzy A (do ich oznaczenia zwykle używa się wielkich liter łacińskich) będzie oznaczany jako Am×n. Jeśli m=n, to macierz ta jest kwadratowa, am=n - jego kolejność. Odpowiednio, każdy element macierzy A może być oznaczony numerem jego wiersza i kolumny: axy; x - numer wiersza, zmiana [1, m], y - numer kolumny, zmiana [1, n].
W metodzie Gaussa macierze nie są głównym punktem rozwiązania. W zasadzie wszystkie operacje można wykonać bezpośrednio na samych równaniach, jednak notacja będzie znacznie bardziej nieporęczna i znacznie łatwiej będzie się w niej pomylić.
Kwalifikator
Macierz ma również wyznacznik. To bardzo ważna cecha. Odkrycie jego znaczenia teraz nie jest tego warte, możesz po prostu pokazać, jak jest obliczane, a następnie powiedzieć, jakie właściwości macierzy określa. Najłatwiejszym sposobem na znalezienie wyznacznika jest przekątne. W macierzy narysowane są urojone przekątne; elementy znajdujące się na każdym z nich są mnożone, a następnie dodawane są otrzymane produkty: przekątne ze spadkiem w prawo - ze znakiem "plus", ze spadkiem w lewo - ze znakiem "minus".
Niezwykle ważne jest, aby pamiętać, że wyznacznik można obliczyć tylko dla macierzy kwadratowej. W przypadku macierzy prostokątnej można wykonać następujące czynności: wybrać najmniejszą z liczby wierszy i liczbę kolumn (niech będzie to k), a następnie losowo zaznaczyć k kolumn i k wierszy w macierzy. Elementy znajdujące się na przecięciu wybranych kolumn i wierszy utworzą nową macierz kwadratową. Jeżeli wyznacznikiem takiej macierzy jest liczba różna od zera, to będzie ona nazywana podstawową małą z pierwotnej macierzy prostokątnej.
Przedjak rozpocząć rozwiązywanie układu równań metodą Gaussa, nie zaszkodzi obliczyć wyznacznik. Jeśli okaże się, że jest zero, to możemy od razu powiedzieć, że macierz ma albo nieskończoną liczbę rozwiązań, albo w ogóle ich nie ma. W tak smutnym przypadku trzeba iść dalej i dowiedzieć się o randze matrycy.
Klasyfikacja systemów
Istnieje coś takiego jak ranga macierzy. Jest to maksymalny rząd jej niezerowego wyznacznika (pamiętając o podstawie minor, możemy powiedzieć, że rząd macierzy jest porządkiem bazy minor).
Tak jak rzeczy mają się z rangą, SLOW można podzielić na:
- Połącz. W przypadku układów połączonych rang macierzy głównej (składającej się tylko ze współczynników) pokrywa się z rangą rozszerzonej (z kolumną wyrazów swobodnych). Takie układy mają rozwiązanie, ale niekoniecznie jedno, dlatego układy łączone dodatkowo dzielą się na:
- - definitywnie - posiadanie unikalnego rozwiązania. W niektórych systemach ranga macierzy i liczba niewiadomych są równe (lub liczba kolumn, czyli to samo);
- - nieokreślony - z nieskończoną liczbą rozwiązań. Ranga macierzy w takich systemach jest mniejsza niż liczba niewiadomych.
- Niezgodne. W przypadku takich systemów szeregi macierzy głównej i rozszerzonej nie pasują do siebie. Niekompatybilne systemy nie mają rozwiązania.
Metoda Gaussa jest dobra, ponieważ pozwala uzyskać jednoznaczny dowód niespójności systemu (bez obliczania wyznaczników dużych macierzy) lub rozwiązanie ogólne dla systemu z nieskończoną liczbą rozwiązań.
Przekształcenia elementarne
Przedjak przejść bezpośrednio do rozwiązania systemu, możesz uczynić go mniej uciążliwym i wygodniejszym do obliczeń. Osiąga się to poprzez elementarne przekształcenia – takie, aby ich realizacja w żaden sposób nie zmieniała ostatecznej odpowiedzi. Należy zauważyć, że niektóre z powyższych elementarnych przekształceń dotyczą tylko macierzy, których źródłem był właśnie SLAE. Oto lista tych przekształceń:
- Zmień ciągi. Jest oczywiste, że jeśli zmienimy kolejność równań w zapisie systemu, to w żaden sposób nie wpłynie to na rozwiązanie. W związku z tym istnieje również możliwość zamiany wierszy w macierzy tego systemu, nie zapominając oczywiście o kolumnie wolnych członków.
- Mnożenie wszystkich elementów ciągu przez pewien współczynnik. Bardzo przydatne! Dzięki niemu możesz zredukować duże liczby w macierzy lub usunąć zera. Zestaw rozwiązań jak zwykle nie ulegnie zmianie, a wykonywanie dalszych operacji stanie się wygodniejsze. Najważniejsze, żeby współczynnik nie był równy zero.
- Usuń linie z proporcjonalnymi współczynnikami. Wynika to częściowo z poprzedniego akapitu. Jeśli dwa lub więcej wierszy w macierzy ma współczynniki proporcjonalne, to podczas mnożenia / dzielenia jednego z wierszy przez współczynnik proporcjonalności uzyskuje się dwa (lub ponownie) absolutnie identyczne wiersze, a dodatkowe można usunąć, pozostawiając tylko jeden.
- Usuń linię pustą. Jeżeli w trakcie przekształceń otrzymamy gdzieś ciąg, w którym wszystkie elementy, w tym człon wolny, mają wartość zero, to taki ciąg można nazwać zerem i wyrzucić z macierzy.
- Dodawanie do elementów jednego rzędu elementów innego (zgodnie zodpowiednie kolumny) pomnożone przez pewien współczynnik. Najbardziej niejasna i najważniejsza przemiana ze wszystkich. Warto się nad tym bardziej szczegółowo zastanowić.
Dodawanie ciągu pomnożonego przez współczynnik
Dla ułatwienia zrozumienia, warto krok po kroku demontować ten proces. Z macierzy pobierane są dwa wiersze:
a11 a12 … a1n | b1
a21 a22 … a2n | b2
Powiedzmy, że do drugiego należy dodać pierwszą wartość pomnożoną przez współczynnik "-2".
a'21 =a21 + -2×a11
a'22 =a22 + -2×a12
a'2n =a2n + -2×a1n
Następnie drugi wiersz w matrycy jest zastępowany nowym, podczas gdy pierwszy pozostaje bez zmian.
a11 a12 … a1n | b1
a'21 a'22 … a'2n | b2
Należy zauważyć, że mnożnik można dobrać w taki sposób, aby w wyniku dodania dwóch ciągów jeden z elementów nowego ciągu był równy zero. Dzięki temu możliwe jest otrzymanie równania w układzie, w którym będzie o jedną niewiadomą mniej. A jeśli dostaniesz dwa takie równania, to operację można wykonać ponownie i uzyskać równanie, które będzie już zawierało dwie mniej niewiadomych. A jeśli za każdym razem zwracamy się do zera jeden współczynnik dla wszystkich wierszy, które są niższe od pierwotnego, to możemy, podobnie jak kroki, zejść na sam dół macierzy i otrzymać równanie z jedną niewiadomą. To się nazywarozwiązać system za pomocą metody Gaussa.
Ogólnie
Niech powstanie system. Ma m równań i n nieznanych pierwiastków. Możesz napisać to tak:
Macierz główna jest kompilowana ze współczynników systemu. Kolumna wolnych członków jest dodawana do rozszerzonej macierzy i oddzielona dla wygody paskiem.
Dalej:
- pierwszy wiersz macierzy jest mnożony przez współczynnik k=(-a21/a11);
- pierwszy zmodyfikowany wiersz i drugi wiersz macierzy zostaną dodane;
- zamiast drugiego wiersza, wynik dodawania z poprzedniego akapitu jest wstawiany do macierzy;
- teraz pierwszy współczynnik w nowej drugiej linii to a11 × (-a21/a11) + a21 =-a21 + a21=0.
Teraz wykonywana jest ta sama seria przekształceń, tylko pierwsza i trzecia linia są zaangażowane. Odpowiednio, w każdym kroku algorytmu, element a21 jest zastępowany przez a31. Następnie wszystko się powtarza dla a41, … am1. Wynikiem jest macierz, w której pierwszy element w wierszach [2, m] jest równy zero. Teraz musisz zapomnieć o linii numer jeden i wykonać ten sam algorytm zaczynając od drugiej linii:
- k współczynnik=(-a32/a22);
- druga zmodyfikowana linia jest dodawana do "bieżącej" linii;
- wynik dodawania jest wstawiany do trzeciej, czwartej i tak dalej linii, podczas gdy pierwsza i druga pozostają bez zmian;
- w wierszach [3, m] macierzy pierwsze dwa elementy są już równe zero.
Algorytm musi być powtarzany, aż pojawi się współczynnik k=(-am, m-1/amm). Oznacza to, że algorytm był ostatnio uruchamiany tylko dla dolnego równania. Teraz macierz wygląda jak trójkąt lub ma schodkowy kształt. Dolny wiersz zawiera równanie amn × x =bm. Współczynnik i wyraz wolny są znane, a pierwiastek jest przez nie wyrażany: x =bm/amn. Wynikowy pierwiastek jest wstawiany do górnego wiersza, aby znaleźć xn-1=(bm-1 - am-1, n×(bm/amn))÷am-1, n-1. I tak dalej przez analogię: w każdym kolejnym wierszu pojawia się nowy korzeń, a po dojściu do „szczytu” systemu można znaleźć zestaw rozwiązań [x1, … x ]. To będzie jedyny.
Gdy nie ma rozwiązań
Jeżeli w jednym z wierszy macierzy wszystkie elementy poza wyrazem swobodnym są równe zeru, to równanie odpowiadające temu wierszowi wygląda tak: 0=b. Nie ma rozwiązania. A skoro takie równanie jest zawarte w układzie, to zbiór rozwiązań całego układu jest pusty, czyli zdegenerowany.
Gdy istnieje nieskończona liczba rozwiązań
Może się okazać, że w zredukowanej macierzy trójkątnej nie ma wierszy z jednym elementem - współczynnikiem równania i jednym - elementem swobodnym. Istnieją tylko łańcuchy, które po przepisaniu wyglądałyby jak równanie z co najmniej dwiema zmiennymi. Oznacza to, że system ma nieskończoną ilość rozwiązań. W takim przypadku odpowiedź może być udzielona w postaci rozwiązania ogólnego. Jak to zrobić?
Wszystkozmienne w macierzy dzielą się na podstawowe i wolne. Podstawowe – to te, które stoją „na krawędzi” wierszy w matrycy schodkowej. Reszta jest bezpłatna. W ogólnym rozwiązaniu zmienne podstawowe zapisuje się jako wolne.
Dla wygody macierz jest najpierw przepisana z powrotem do układu równań. Następnie w ostatniej z nich, gdzie dokładnie pozostała tylko jedna zmienna podstawowa, pozostaje po jednej stronie, a wszystko inne zostaje przeniesione na drugą. Odbywa się to dla każdego równania z jedną zmienną podstawową. Następnie w pozostałych równaniach, tam gdzie to możliwe, zamiast zmiennej podstawowej podstawiane jest otrzymane dla niej wyrażenie. Jeśli wynik jest ponownie wyrażeniem zawierającym tylko jedną zmienną podstawową, jest on wyrażany stamtąd ponownie i tak dalej, aż każda zmienna podstawowa zostanie zapisana jako wyrażenie ze zmiennymi wolnymi. To jest ogólne rozwiązanie SLAE.
Można też znaleźć podstawowe rozwiązanie systemu - nadać zmiennym wolnym dowolne wartości, a następnie obliczyć wartości zmiennych podstawowych dla tego konkretnego przypadku. Istnieje nieskończenie wiele konkretnych rozwiązań.
Rozwiązanie z konkretnymi przykładami
Oto układ równań.
Dla wygody lepiej od razu zrobić jego matrycę
Wiadomo, że przy rozwiązywaniu metodą Gaussa równanie odpowiadające pierwszemu wierszowi pozostanie niezmienione na końcu przekształceń. Dlatego będzie bardziej opłacalne, jeśli lewy górny element macierzy będzie najmniejszy – wtedy pierwsze elementypozostałe wiersze po operacjach zmienią się na zero. Oznacza to, że w kompilowanej macierzy korzystne będzie umieszczenie drugiego wiersza w miejscu pierwszego.
Następnie musisz zmienić drugą i trzecią linię tak, aby pierwsze elementy stały się zerem. Aby to zrobić, dodaj je do pierwszego pomnożonego przez współczynnik:
druga linia: k=(-a21/a11)=(-3/1)=-3
a'21 =a21 + k×a11=3 + (-3)×1=0
a'22 =a22 + k×a12 =-1 + (- 3)×2=-7
a'23 =a23 + k×a13 =1 + (-3)×4=-11
b'2 =b2 + k×b1=12 + (-3)×12=-24
trzecia linia: k=(-a31/a11)=(- 5/1)=-5
a'31 =a31+ k×a11=5 + (-5)×1=0
a'32 =a32+ k×a12 =1 + (-5)×2=-9
a'33 =a33 + k×a13 =2 + (-5)×4=-18
b'3=b3 + k×b1=3 + (-5)×12=-57
Teraz, aby się nie pomylić, musisz napisać macierz z pośrednimi wynikami przekształceń.
Oczywiście taka macierz może być bardziej czytelna za pomocą niektórych operacji. Na przykład możesz usunąć wszystkie "minusy" z drugiego wiersza, mnożąc każdy element przez "-1".
Warto również zauważyć, że w trzecim wierszu wszystkie elementy są wielokrotnościami trzech. Wtedy możeszodetnij ciąg o tę liczbę, mnożąc każdy element przez "-1/3" (minus - jednocześnie usuwając wartości ujemne).
Wygląda znacznie ładniej. Teraz musimy zostawić w spokoju pierwszą linię i pracować z drugą i trzecią. Zadanie polega na dodaniu drugiego wiersza do trzeciego, pomnożonego przez taki współczynnik, aby element a32 stał się zerem.
k=(-a32/a22)=(-3/7)=-3/7 (jeśli podczas niektórych transformacji w odpowiedzi okazała się nie być liczbą całkowitą, zaleca się pozostawienie jej „tak jak jest”, w postaci zwykłego ułamka, i dopiero wtedy, gdy otrzymamy odpowiedzi, zdecyduj, czy zaokrąglić i zamienić na inną postać notacja)
a'32=a32 + k×a22=3 + (-3 /7)×7=3 + (-3)=0
a'33=a33 + k×a23=6 + (-3 /7)×11=-9/7
b'3 =b3 + k×b2=19 + (-3 /7)×24=-61/7
Macierz jest ponownie zapisywana z nowymi wartościami.
1 | 2 | 4 | 12 |
0 | 7 | 11 | 24 |
0 | 0 | -9/7 | -61/7 |
Jak widać, wynikowa macierz ma już formę schodkową. Dlatego dalsze przekształcenia systemu metodą Gaussa nie są wymagane. To, co można tutaj zrobić, to usunąć ogólny współczynnik „-1/7” z trzeciego wiersza.
Teraz wszyscyładny. Punkt jest mały - ponownie napisz macierz w postaci układu równań i oblicz pierwiastki
x + 2y + 4z=12 (1)
7y + 11z=24 (2)
9z=61 (3)
Algorytm, za pomocą którego zostaną teraz znalezione pierwiastki, nazywa się ruchem wstecznym w metodzie Gaussa. Równanie (3) zawiera wartość z:
z=61/9
Następnie wróć do drugiego równania:
y=(24 - 11×(61/9))/7=-65/9
I pierwsze równanie pozwala znaleźć x:
x=(12 - 4z - 2y)/1=12 - 4×(61/9) - 2×(-65/9)=-6/9=-2/3
Mamy prawo nazywać taki system wspólnym, a nawet definitywnym, czyli posiadającym unikalne rozwiązanie. Odpowiedź jest napisana w następującej formie:
x1=-2/3, y=-65/9, z=61/9.
Przykład nieskończonego systemu
Przeanalizowano wariant rozwiązania pewnego układu metodą Gaussa, teraz należy rozważyć przypadek, w którym układ jest nieokreślony, czyli można dla niego znaleźć nieskończenie wiele rozwiązań.
x1 + x2 + x3 + x 4+ x5=7 (1)
3x1 + 2x2 + x3 + x 4 - 3x5=-2 (2)
x2 + 2x3 + 2x4 + 6x 5 =23 (3)
5x1 + 4x2 + 3x3 + 3x 4 - x5=12 (4)
Sama forma systemu jest już niepokojąca, ponieważ liczba niewiadomych wynosi n=5, a ranga macierzy systemu jest już dokładnie mniejsza niż ta liczba, ponieważ liczba wierszy to m=4, czyli największy rząd wyznacznika kwadratu to 4. Tak więc,Rozwiązań jest nieskończenie wiele i musimy szukać ich ogólnej formy. Umożliwia to metoda Gaussa dla równań liniowych.
Najpierw, jak zwykle, kompilowana jest macierz rozszerzona.
Druga linia: współczynnik k=(-a21/a11)=-3. W trzecim wierszu pierwszy element znajduje się przed przekształceniami, więc nie musisz niczego dotykać, musisz go pozostawić bez zmian. Czwarty wiersz: k=(-a41/a11)=-5
Mnożąc elementy pierwszego wiersza przez każdy z ich współczynników po kolei i dodając je do wymaganych wierszy, otrzymujemy macierz o następującej postaci:
Jak widać, drugi, trzeci i czwarty wiersz składają się z elementów proporcjonalnych do siebie. Drugi i czwarty są generalnie takie same, więc jeden z nich można natychmiast usunąć, a resztę pomnożyć przez współczynnik „-1” i otrzymać wiersz numer 3. I znowu pozostaw jeden z dwóch identycznych wierszy.
Wynikiem jest taka macierz. System nie został jeszcze spisany, konieczne jest tutaj określenie podstawowych zmiennych - stojących przy współczynnikach a11=1 i a22=1, a za darmo - cała reszta.
W drugim równaniu jest tylko jedna zmienna podstawowa - x2. Stąd można go wyrazić stamtąd, zapisując zmienne x3, x4, x5, które są bezpłatne.
Wstaw wynikowe wyrażenie do pierwszego równania.
Okazało się równanie, w którymjedyną podstawową zmienną jest x1. Zróbmy z nim to samo, co z x2.
Wszystkie podstawowe zmienne, z których są dwie, są wyrażone w postaci trzech wolnych, teraz możesz napisać odpowiedź w formie ogólnej.
Możesz również określić jedno z konkretnych rozwiązań systemu. W takich przypadkach z reguły jako wartości wolnych zmiennych wybierane są zera. Wtedy odpowiedź będzie brzmieć:
-16, 23, 0, 0, 0.
Przykład niespójnego systemu
Rozwiązywanie niespójnych układów równań metodą Gaussa jest najszybsze. Kończy się, gdy tylko na jednym z etapów otrzymamy równanie, które nie ma rozwiązania. Oznacza to, że znika etap z obliczaniem korzeni, który jest dość długi i ponury. Rozważany jest następujący system:
x + y - z=0 (1)
2x - y - z=-2 (2)
4x + y - 3z=5 (3)
Jak zwykle macierz jest kompilowana:
1 | 1 | -1 | 0 |
2 | -1 | -1 | -2 |
4 | 1 | -3 | 5 |
I zredukowane do postaci schodkowej:
k1 =-2k2 =-4
1 | 1 | -1 | 0 |
0 | -3 | 1 | -2 |
0 | 0 | 0 | 7 |
Po pierwszej transformacji trzeci wiersz zawiera równanie postaci
0=7, brak rozwiązania. Dlatego systemjest niespójny, a odpowiedzią jest pusty zestaw.
Wady i zalety metody
Jeśli wybierzesz metodę rozwiązywania SLAE na papierze za pomocą długopisu, to metoda, która była rozważana w tym artykule, wygląda najbardziej atrakcyjnie. W elementarnych transformacjach o wiele trudniej się pomylić, niż gdy trzeba ręcznie poszukać wyznacznika lub jakiejś skomplikowanej macierzy odwrotnej. Jeśli jednak korzystasz z programów do pracy z danymi tego typu, na przykład z arkuszami kalkulacyjnymi, to okazuje się, że takie programy zawierają już algorytmy obliczania głównych parametrów macierzy - wyznacznik, macierze drugorzędne, macierze odwrotne i transponowane i tak dalej. A jeśli masz pewność, że maszyna sama obliczy te wartości i nie popełni błędu, to bardziej celowe jest zastosowanie metody macierzowej lub wzorów Cramera, ponieważ ich zastosowanie zaczyna się i kończy na obliczeniu wyznaczników i macierzy odwrotnych.
Aplikacja
Ponieważ rozwiązanie Gaussa jest algorytmem, a macierz jest w rzeczywistości dwuwymiarową tablicą, może być używana w programowaniu. Ale ponieważ artykuł pozycjonuje się jako przewodnik „dla manekinów”, należy powiedzieć, że najłatwiejszym miejscem do umieszczenia tej metody są arkusze kalkulacyjne, na przykład Excel. Ponownie, każdy SLAE wprowadzony do tabeli w postaci macierzy będzie traktowany przez Excel jako tablica dwuwymiarowa. A do operacji na nich jest wiele fajnych poleceń: dodawanie (można dodać tylko macierze tej samej wielkości!), mnożenie przez liczbę, mnożenie macierzy (także zpewne ograniczenia), znajdowanie macierzy odwrotnych i transponowanych oraz, co najważniejsze, obliczanie wyznacznika. Jeśli to czasochłonne zadanie zostanie zastąpione jednym poleceniem, znacznie szybciej jest określić rangę macierzy, a tym samym ustalić jej zgodność lub niespójność.