I den här artikeln betraktas metoden som ett sätt att lösa system av linjära ekvationer (SLAE). Metoden är analytisk, det vill säga den låter dig skriva en generell lösningsalgoritm och sedan ersätta värden från specifika exempel där. Till skillnad från matrismetoden eller Cramers formler kan man när man löser ett system av linjära ekvationer med Gaussmetoden också arbeta med de som har oändligt många lösningar. Eller har det inte alls.
Vad innebär det att lösa med Gauss-metoden?
Först måste vi skriva ner vårt ekvationssystem som en matris. Det ser ut så här. Systemet är upptaget:
Koefficienter skrivs i form av en tabell, och till höger i en separat kolumn - fria medlemmar. Kolumnen med fria delar separeras för bekvämlighets skull med en vertikal stapel. En matris som innehåller denna kolumn kallas utökad.
Närnäst måste huvudmatrisen med koefficienter reduceras till den övre triangulära formen. Detta är huvudpoängen med att lösa systemet med Gauss-metoden. Enkelt uttryckt, efter vissa manipulationer bör matrisen se ut så här, så att det bara finns nollor i dess nedre vänstra del:
Så, om du skriver den nya matrisen igen som ett ekvationssystem, kommer du att märka att den sista raden redan innehåller värdet av en av rötterna, som sedan ersätts i ekvationen ovan, en annan rot hittas, och så vidare.
Detta är en beskrivning av den gaussiska lösningen i de mest allmänna termerna. Och vad händer om systemet plötsligt inte har en lösning? Eller finns det ett oändligt antal av dem? För att svara på dessa och många fler frågor är det nödvändigt att separat överväga alla element som används i lösningen med Gauss-metoden.
Matriser, deras egenskaper
Det finns ingen dold mening i matrisen. Det är bara ett bekvämt sätt att spela in data för senare operationer. Inte ens skolbarn ska vara rädda för dem.
Matrisen är alltid rektangulär eftersom den är bekvämare. Även i Gauss-metoden, där allt går ut på att bygga en triangulär matris, dyker en rektangel upp i posten, bara med nollor på den plats där det inte finns några siffror. Nollor kan utelämnas, men de är underförstådda.
Matrix har storlek. Dess "bredd" är antalet rader (m), dess "längd" är antalet kolumner (n). Då kommer storleken på matrisen A (stora latinska bokstäver används vanligtvis för deras beteckning) att betecknas som Am×n. Om m=n är denna matris kvadratisk ochm=n - dess ordning. Följaktligen kan vilket element som helst i matrisen A betecknas med numret på dess rad och kolumn: axy; x - radnummer, ändra [1, m], y - kolumnnummer, ändra [1, n].
I den Gaussiska metoden är matriser inte huvudpoängen med lösningen. I princip kan alla operationer utföras direkt med själva ekvationerna, dock blir notationen mycket krångligare, och det blir mycket lättare att bli förvirrad i den.
Qualifier
Matrisen har också en determinant. Detta är en mycket viktig egenskap. Att ta reda på dess innebörd nu är inte värt det, du kan helt enkelt visa hur det beräknas och sedan berätta vilka egenskaper hos matrisen den bestämmer. Det enklaste sättet att hitta determinanten är genom diagonaler. I matrisen ritas imaginära diagonaler; elementen som finns på var och en av dem multipliceras, och sedan läggs de resulterande produkterna till: diagonaler med en lutning till höger - med ett "plus"-tecken, med en lutning till vänster - med ett "minustecken".
Det är extremt viktigt att notera att determinanten endast kan beräknas för en kvadratisk matris. För en rektangulär matris kan du göra följande: välj det minsta av antalet rader och antalet kolumner (låt det vara k), och markera sedan slumpmässigt k kolumner och k rader i matrisen. Elementen som ligger i skärningspunkten mellan de valda kolumnerna och raderna kommer att bilda en ny kvadratisk matris. Om bestämningsfaktorn för en sådan matris är ett annat tal än noll, kommer det att kallas grundmoll för den ursprungliga rektangulära matrisen.
Förehur man börjar lösa ett ekvationssystem med Gauss-metoden, det skadar inte att beräkna determinanten. Om det visar sig vara noll, kan vi omedelbart säga att matrisen antingen har ett oändligt antal lösningar, eller så finns det inga alls. I ett så tråkigt fall måste du gå längre och ta reda på matrisens rangordning.
Klassificering av system
Det finns en sådan sak som rangen av en matris. Detta är den maximala ordningen för dess determinant som inte är noll (med tanke på grundmoll kan vi säga att rangordningen för en matris är ordning för grundmoll).
Som det är med rang, kan SLOW delas in i:
- Joint. För gemensamma system sammanfaller rankningen av huvudmatrisen (som endast består av koefficienter) med rankningen av den utökade (med en kolumn med fria termer). Sådana system har en lösning, men inte nödvändigtvis en, därför är gemensamma system dessutom uppdelade i:
- - definitivt - att ha en unik lösning. I vissa system är rangordningen för matrisen och antalet okända lika (eller antalet kolumner, vilket är samma sak);
- - obestämd - med ett oändligt antal lösningar. Rangen på matriser i sådana system är mindre än antalet okända.
- Inkompatibel. För sådana system stämmer inte raden av huvudmatrisen och den utökade matrisen överens. Inkompatibla system har ingen lösning.
Gaussmetoden är bra eftersom den låter dig erhålla antingen ett entydigt bevis på systemets inkonsekvens (utan att beräkna bestämningsfaktorerna för stora matriser) eller en generell lösning för ett system med ett oändligt antal lösningar.
Elementära transformationer
Förehur man går direkt till lösningen av systemet, kan du göra det mindre krångligt och mer bekvämt för beräkningar. Detta uppnås genom elementära transformationer - så att implementeringen av dem inte förändrar det slutliga svaret på något sätt. Det bör noteras att några av ovanstående elementära transformationer endast är giltiga för matriser, vars källa var just SLAE. Här är en lista över dessa transformationer:
- Ändra strängar. Det är uppenbart att om vi ändrar ordningen på ekvationerna i systemposten så kommer detta inte att påverka lösningen på något sätt. Därför är det också möjligt att byta rader i matrisen för detta system, utan att naturligtvis glömma kolumnen med gratismedlemmar.
- Multiplicera alla element i en sträng med någon faktor. Mycket användbart! Med den kan du minska stora tal i matrisen eller ta bort nollor. Uppsättningen av lösningar kommer som vanligt inte att förändras, och det kommer att bli bekvämare att utföra ytterligare operationer. Huvudsaken är att koefficienten inte ska vara lika med noll.
- Ta bort rader med proportionella koefficienter. Detta följer delvis av föregående stycke. Om två eller flera rader i matrisen har proportionella koefficienter, då när du multiplicerar / dividerar en av raderna med proportionalitetskoefficienten, erhålls två (eller, återigen, fler) absolut identiska rader, och du kan ta bort de extra, och bara lämna kvar en.
- Ta bort nollraden. Om en sträng under transformationer erhålls någonstans där alla element, inklusive den fria medlemmen, är noll, så kan en sådan sträng kallas noll och kastas ut ur matrisen.
- Lägga till elementen i en rad med element i en annan (enligtmotsvarande kolumner) multiplicerat med någon koefficient. Den mest oklara och viktigaste förvandlingen av alla. Det är värt att uppehålla sig mer i detalj.
Lägga till en sträng multiplicerad med en faktor
För att underlätta förståelsen är det värt att ta isär denna process steg för steg. Två rader tas från matrisen:
a11 a12 … a1n | b1
a21 a22 … a2n | b2
Låt oss säga att du måste lägga till den första multiplicerad med koefficienten "-2" till den andra.
a'21 =a21 + -2×a11
a'22 =a22 + -2×a12
a'2n =a2n + -2×a1n
Då ersätts den andra raden i matrisen med en ny, medan den första förblir oförändrad.
a11 a12 … a1n | b1
a'21 a'22 … a'2n | b2
Det bör noteras att multiplikationsfaktorn kan väljas på ett sådant sätt att ett av elementen i den nya strängen är lika med noll, som ett resultat av att man adderar två strängar. Därför är det möjligt att få fram en ekvation i systemet, där det kommer att finnas en mindre okänd. Och om du får två sådana ekvationer, då kan operationen göras igen och få en ekvation som redan kommer att innehålla två mindre okända. Och om vi varje gång vänder till noll en koefficient för alla rader som är lägre än den ursprungliga, så kan vi, som steg, gå ner till botten av matrisen och få en ekvation med en okänd. Det här kallaslös systemet med Gauss-metoden.
Allmänt
Låt det finnas ett system. Den har m ekvationer och n okända rötter. Du kan skriva det så här:
Huvudmatrisen kompileras från systemets koefficienter. En kolumn med gratismedlemmar läggs till i den utökade matrisen och separeras av en stapel för enkelhetens skull.
Nästa:
- den första raden i matrisen multipliceras med koefficienten k=(-a21/a11);
- den första modifierade raden och den andra raden i matrisen läggs till;
- istället för den andra raden infogas resultatet av tillägget från föregående stycke i matrisen;
- nu är den första koefficienten i den nya andra raden a11 × (-a21/a11) + a21 =-a21 + a21=0.
Nu utförs samma serie av transformationer, endast första och tredje raden är inblandade. Följaktligen, i varje steg av algoritmen, ersätts elementet a21 av a31. Sedan upprepas allt för a41, … am1. Resultatet är en matris där det första elementet i raderna [2, m] är lika med noll. Nu måste du glömma rad nummer ett och utföra samma algoritm från den andra raden:
- k koefficient=(-a32/a22);
- den andra ändrade raden läggs till den "nuvarande" raden;
- resultatet av tillägget ersätts i tredje, fjärde och så vidare rader, medan första och andra förblir oförändrade;
- på raderna [3, m] i matrisen är de två första elementen redan lika med noll.
Algoritmen måste upprepas tills koefficienten k=(-am, m-1/amm visas). Detta betyder att algoritmen senast kördes endast för den lägre ekvationen. Nu ser matrisen ut som en triangel, eller har en stegform. Den nedersta raden innehåller ekvationen amn × x =bm. Koefficienten och den fria termen är kända, och roten uttrycks genom dem: x =bm/amn. Den resulterande roten sätts in i den översta raden för att hitta xn-1=(bm-1 - am-1, n×(bm/amn))÷am-1, n-1. Och så vidare i analogi: i varje nästa rad finns en ny rot, och efter att ha nått "toppen" av systemet kan man hitta en uppsättning lösningar [x1, … x ]. Det kommer att vara den enda.
När det inte finns några lösningar
Om i en av matrisraderna alla element, förutom den fria termen, är lika med noll, så ser ekvationen som motsvarar denna rad ut som 0=b. Det har ingen lösning. Och eftersom en sådan ekvation ingår i systemet, är uppsättningen av lösningar för hela systemet tom, det vill säga den är degenererad.
När det finns ett oändligt antal lösningar
Det kan visa sig att det i den reducerade triangulära matrisen inte finns några rader med ett element - ekvationens koefficient och en - en fri medlem. Det finns bara strängar som, när de skrivs om, skulle se ut som en ekvation med två eller flera variabler. Det betyder att systemet har ett oändligt antal lösningar. I detta fall kan svaret ges i form av en generell lösning. Hur gör man det?
Allavariabler i matrisen är indelade i grundläggande och fria. Basic - det här är de som står "på kanten" av raderna i den stegade matrisen. Resten är gratis. I den allmänna lösningen är grundvariablerna skrivna i termer av de fria.
För enkelhetens skull skrivs matrisen först om till ett ekvationssystem. Sedan i den sista av dem, där exakt bara en grundläggande variabel återstod, förblir den på ena sidan, och allt annat överförs till den andra. Detta görs för varje ekvation med en grundvariabel. Sedan, i resten av ekvationerna, där det är möjligt, istället för grundvariabeln, ersätts uttrycket som erhålls för den. Om resultatet återigen är ett uttryck som bara innehåller en basvariabel, uttrycks det därifrån igen, och så vidare, tills varje basvariabel skrivs som ett uttryck med fria variabler. Detta är den allmänna lösningen för SLAE.
Du kan också hitta den grundläggande lösningen för systemet - ge de fria variablerna valfria värden och beräkna sedan värdena för de grundläggande variablerna för just detta fall. Det finns oändligt många specifika lösningar.
Lösning med specifika exempel
Här är ett ekvationssystem.
För enkelhetens skull är det bättre att göra dess matris direkt
Det är känt att när man löser med Gauss-metoden kommer ekvationen som motsvarar den första raden att förbli oförändrad i slutet av transformationerna. Därför blir det mer lönsamt om det övre vänstra elementet i matrisen är det minsta - då de första elementenresten av raderna efter operationerna kommer att bli noll. Det betyder att i den kompilerade matrisen kommer det att vara fördelaktigt att placera den andra raden i stället för den första.
Nästa måste du ändra den andra och tredje raden så att de första elementen blir noll. För att göra detta, lägg till dem till den första, multiplicerad med en koefficient:
andra raden: 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
tredje rad: 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
Nu, för att inte bli förvirrad, måste du skriva en matris med mellanliggande resultat av transformationer.
Självklart kan en sådan matris göras mer läsbar med hjälp av vissa operationer. Du kan till exempel ta bort alla "minus" från den andra raden genom att multiplicera varje element med "-1".
Det är också värt att notera att på den tredje raden är alla element multiplar av tre. Då kan duklipp av strängen med detta tal, multiplicera varje element med "-1/3" (minus - samtidigt för att ta bort negativa värden).
Ser mycket trevligare ut. Nu måste vi lämna den första raden ifred och arbeta med den andra och tredje. Uppgiften är att addera den andra raden till den tredje raden, multiplicerad med en sådan faktor att elementet a32 blir noll.
k=(-a32/a22)=(-3/7)=-3/7 (om under vissa transformationer i svaret visade sig inte vara ett heltal, det rekommenderas att lämna det "som det är", i form av ett vanligt bråk, och först då, när svaren tas emot, bestämma om du ska avrunda och konvertera till en annan form av notation)
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
Matrisen skrivs igen med nya värden.
1 | 2 | 4 | 12 |
0 | 7 | 11 | 24 |
0 | 0 | -9/7 | -61/7 |
Som du kan se har den resulterande matrisen redan en stegform. Därför krävs inte ytterligare transformationer av systemet med Gauss-metoden. Vad som kan göras här är att ta bort den totala koefficienten "-1/7" från den tredje raden.
Nu allatrevlig. Poängen är liten - skriv matrisen igen i form av ett ekvationssystem och beräkna rötterna
x + 2y + 4z=12 (1)
7y + 11z=24 (2)
9z=61 (3)
Algorithmen med vilken rötterna nu kommer att hittas kallas det omvända draget i Gauss-metoden. Ekvation (3) innehåller värdet z:
z=61/9
Nästa, återgå till den andra ekvationen:
y=(24 - 11×(61/9))/7=-65/9
Och den första ekvationen låter dig hitta x:
x=(12 - 4z - 2y)/1=12 - 4×(61/9) - 2×(-65/9)=-6/9=-2/3
Vi har rätt att kalla ett sådant system gemensamt, och till och med definitivt, det vill säga att ha en unik lösning. Svaret är skrivet i följande form:
x1=-2/3, y=-65/9, z=61/9.
Exempel på ett obestämt system
Varianten att lösa ett visst system med Gauss-metoden har analyserats, nu är det nödvändigt att överväga fallet om systemet är obestämt, det vill säga oändligt många lösningar kan hittas för det.
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)
Själva formen av systemet är redan alarmerande, eftersom antalet okända är n=5, och rangordningen för systemmatrisen är redan exakt mindre än detta nummer, eftersom antalet rader är m=4, det vill säga den största ordningen av kvadratdeterminanten är 4. Så,Det finns ett oändligt antal lösningar, och vi måste leta efter dess allmänna form. Gaussmetoden för linjära ekvationer låter dig göra detta.
Först, som vanligt, kompileras den utökade matrisen.
Andra raden: koefficient k=(-a21/a11)=-3. På den tredje raden är det första elementet före transformationerna, så du behöver inte röra någonting, du måste lämna det som det är. Fjärde raden: k=(-a41/a11)=-5
Genom att multiplicera elementen i den första raden med var och en av deras koefficienter i tur och ordning och lägga till dem till de obligatoriska raderna, får vi en matris med följande form:
Som du kan se består den andra, tredje och fjärde raden av element som är proportionella mot varandra. Den andra och den fjärde är i allmänhet desamma, så en av dem kan tas bort omedelbart, och resten multipliceras med koefficienten "-1" och få rad nummer 3. Och återigen, lämna en av två identiska rader.
Resultatet är en sådan matris. Systemet är ännu inte nedskrivet, här är det nödvändigt att bestämma grundvariablerna - stående vid koefficienterna a11=1 och a22=1, och gratis - allt annat.
Det finns bara en grundvariabel i den andra ekvationen - x2. Därför kan den uttryckas därifrån, genom att skriva genom variablerna x3, x4, x5, som är gratis.
Ersätt det resulterande uttrycket i den första ekvationen.
Det blev en ekvation därden enda grundläggande variabeln är x1. Låt oss göra samma sak med den som med x2.
Alla basvariabler, varav det finns två, uttrycks i termer av tre fria, nu kan du skriva svaret i allmän form.
Du kan också specificera en av de särskilda lösningarna för systemet. I sådana fall väljs som regel nollor som värden för fria variabler. Då blir svaret:
-16, 23, 0, 0, 0.
Ett exempel på ett inkonsekvent system
Lösning av inkonsekventa ekvationssystem med Gauss-metoden är den snabbaste. Den slutar så fort man i ett av stegen får en ekvation som inte har någon lösning. Det vill säga, stadiet med beräkningen av rötterna, som är ganska långt och trist, försvinner. Följande system övervägs:
x + y - z=0 (1)
2x - y - z=-2 (2)
4x + y - 3z=5 (3)
Som vanligt är matrisen sammanställd:
1 | 1 | -1 | 0 |
2 | -1 | -1 | -2 |
4 | 1 | -3 | 5 |
Och reducerat till en stegvis form:
k1 =-2k2 =-4
1 | 1 | -1 | 0 |
0 | -3 | 1 | -2 |
0 | 0 | 0 | 7 |
Efter den första transformationen innehåller den tredje raden en ekvation av formen
0=7, ingen lösning. Därför systemetär inkonsekvent, och svaret är den tomma uppsättningen.
Fördelar och nackdelar med metoden
Om du väljer vilken metod att lösa SLAE på papper med en penna, så ser metoden som övervägdes i den här artikeln mest attraktiv ut. I elementära transformationer är det mycket svårare att bli förvirrad än det händer om du manuellt måste leta efter determinanten eller någon knepig invers matris. Men om du använder program för att arbeta med data av denna typ, till exempel kalkylblad, visar det sig att sådana program redan innehåller algoritmer för att beräkna huvudparametrarna för matriser - determinanten, minor, invers och transponerad matris, och så vidare. Och om du är säker på att maskinen kommer att beräkna dessa värden själv och inte gör ett misstag, är det mer ändamålsenligt att använda matrismetoden eller Cramers formler, eftersom deras tillämpning börjar och slutar med beräkningen av determinanter och inversa matriser.
Application
Eftersom den Gaussiska lösningen är en algoritm, och matrisen i själva verket är en tvådimensionell matris, kan den användas i programmering. Men eftersom artikeln placerar sig som en guide "för dummies" ska det sägas att det enklaste stället att lägga metoden på är kalkylblad, till exempel Excel. Återigen, alla SLAE som anges i en tabell i form av en matris kommer att betraktas av Excel som en tvådimensionell array. Och för operationer med dem finns det många trevliga kommandon: addition (du kan bara lägga till matriser av samma storlek!), Multiplikation med ett tal, matrismultiplikation (även medvissa restriktioner), hitta de inversa och transponerade matriserna och, viktigast av allt, beräkna determinanten. Om denna tidskrävande uppgift ersätts av ett enda kommando är det mycket snabbare att bestämma rangordningen för en matris och därför fastställa dess kompatibilitet eller inkonsekvens.