I denne artikkelen betraktes metoden som en måte å løse systemer av lineære ligninger (SLAE). Metoden er analytisk, det vil si at den lar deg skrive en generell løsningsalgoritme, og deretter erstatte verdier fra spesifikke eksempler der. I motsetning til matrisemetoden eller Cramers formler kan man også jobbe med de som har uendelig mange løsninger når man løser et system med lineære ligninger ved hjelp av Gauss-metoden. Eller ikke har det i det hele tatt.
Hva vil det si å løse med Gauss-metoden?
Først må vi skrive ned ligningssystemet vårt som en matrise. Det ser slik ut. Systemet er tatt:
Koeffisienter skrives i form av en tabell, og til høyre i en egen kolonne - gratis medlemmer. Søylen med ledige medlemmer er adskilt for enkelhets skyld med en vertikal strek. En matrise som inkluderer denne kolonnen kalles utvidet.
Deretter må hovedmatrisen med koeffisienter reduseres til den øvre trekantformen. Dette er hovedpoenget med å løse systemet ved Gauss-metoden. Enkelt sagt, etter visse manipulasjoner, skal matrisen se slik ut, slik at det bare er nuller i den nedre venstre delen:
Så, hvis du skriver den nye matrisen på nytt som et ligningssystem, vil du legge merke til at den siste linjen allerede inneholder verdien av en av røttene, som deretter erstattes med ligningen ovenfor, en annen rot blir funnet, og så videre.
Dette er en beskrivelse av den gaussiske løsningen i de mest generelle termene. Og hva skjer hvis systemet plutselig ikke har en løsning? Eller finnes det uendelig mange av dem? For å svare på disse og mange flere spørsmål, er det nødvendig å vurdere separat alle elementene som brukes i løsningen med Gauss-metoden.
Matriser, deres egenskaper
Det er ingen skjult mening i matrisen. Det er bare en praktisk måte å registrere data for senere operasjoner. Selv skolebarn bør ikke være redde for dem.
Matrisen er alltid rektangulær fordi den er mer praktisk. Selv i Gauss-metoden, hvor alt koker ned til å bygge en trekantet matrise, vises et rektangel i oppføringen, bare med nuller på stedet der det ikke er tall. Nuller kan utelates, men de er underforstått.
Matrix har størrelse. Dens "bredde" er antall rader (m), dens "lengde" er antall kolonner (n). Da vil størrelsen på matrisen A (latinske store bokstaver brukes vanligvis for deres betegnelse) betegnes som Am×n. Hvis m=n, så er denne matrisen kvadratisk, ogm=n - rekkefølgen. Følgelig kan ethvert element i matrisen A betegnes med nummeret på rad og kolonne: axy; x - radnummer, endre [1, m], y - kolonnenummer, endre [1, n].
I Gauss-metoden er ikke matriser hovedpoenget med løsningen. I prinsippet kan alle operasjoner utføres direkte med selve ligningene, men notasjonen vil være mye mer tungvint, og det vil være mye lettere å bli forvirret i den.
Qualifier
Matrisen har også en determinant. Dette er en veldig viktig funksjon. Å finne ut hva det betyr nå er ikke verdt det, du kan ganske enkelt vise hvordan det beregnes, og deretter fortelle hvilke egenskaper til matrisen den bestemmer. Den enkleste måten å finne determinanten på er gjennom diagonaler. I matrisen tegnes imaginære diagonaler; elementene på hver av dem multipliseres, og deretter legges de resulterende produktene til: diagonaler med en skråning til høyre - med et "pluss"-tegn, med en helning til venstre - med et "minus"-tegn.
Det er ekstremt viktig å merke seg at determinanten kun kan beregnes for en kvadratisk matrise. For en rektangulær matrise kan du gjøre følgende: velg den minste av antall rader og antall kolonner (la det være k), og merk deretter tilfeldig k kolonner og k rader i matrisen. Elementene som ligger i skjæringspunktet mellom de valgte kolonnene og radene vil danne en ny kvadratisk matrise. Hvis determinanten til en slik matrise er et annet tall enn null, vil det bli k alt grunnmoll av den opprinnelige rektangulære matrisen.
Førhvordan begynne å løse et ligningssystem ved Gauss-metoden, skader det ikke å beregne determinanten. Hvis det viser seg å være null, kan vi umiddelbart si at matrisen enten har et uendelig antall løsninger, eller det er ingen i det hele tatt. I et så trist tilfelle må du gå lenger og finne ut om rangeringen av matrisen.
Klassifisering av systemer
Det er noe slikt som rangeringen av en matrise. Dette er den maksimale rekkefølgen til dens ikke-null-determinant (ved å huske basis-moll, kan vi si at rangeringen til en matrise er rekkefølgen til basis-moll).
Slik ting er med rang, kan SLOW deles inn i:
- Joint. For fellessystemer faller rangeringen til hovedmatrisen (bestående kun av koeffisienter) sammen med rangeringen til den utvidede (med en kolonne med frie termer). Slike systemer har en løsning, men ikke nødvendigvis én, derfor er fellessystemer i tillegg delt inn i:
- - klart - å ha en unik løsning. I visse systemer er rangeringen av matrisen og antall ukjente lik (eller antall kolonner, som er det samme);
- - ubestemt - med et uendelig antall løsninger. Rangeringen av matriser i slike systemer er mindre enn antallet ukjente.
- Inkompatibel. For slike systemer samsvarer ikke rekkene til hovedmatrisen og den utvidede matrisen. Inkompatible systemer har ingen løsning.
Gauss-metoden er god fordi den lar deg få enten et entydig bevis på systemets inkonsistens (uten å beregne determinantene til store matriser) eller en generell løsning for et system med et uendelig antall løsninger.
Elementære transformasjoner
Førhvordan du går direkte til løsningen av systemet, kan du gjøre det mindre tungvint og mer praktisk for beregninger. Dette oppnås gjennom elementære transformasjoner - slik at implementeringen ikke endrer det endelige svaret på noen måte. Det skal bemerkes at noen av de ovennevnte elementære transformasjonene bare er gyldige for matriser, kilden til disse var nettopp SLAE. Her er en liste over disse transformasjonene:
- Endre strenger. Det er åpenbart at hvis vi endrer rekkefølgen på ligningene i systemposten, så vil ikke dette påvirke løsningen på noen måte. Derfor er det også mulig å bytte rader i matrisen til dette systemet, og selvfølgelig ikke glemme kolonnen med gratis medlemmer.
- Multipisere alle elementene i en streng med en eller annen faktor. Veldig nyttig! Med den kan du redusere store tall i matrisen eller fjerne nuller. Settet med løsninger, som vanlig, vil ikke endre seg, og det vil bli mer praktisk å utføre ytterligere operasjoner. Hovedsaken er at koeffisienten ikke skal være lik null.
- Slett linjer med proporsjonal koeffisienter. Dette følger delvis av forrige avsnitt. Hvis to eller flere rader i matrisen har proporsjonal koeffisienter, når du multipliserer / dividerer en av radene med proporsjonalitetskoeffisienten, oppnås to (eller, igjen, flere) absolutt identiske rader, og du kan fjerne de ekstra, og bare la igjen en.
- Slett null-linjen. Hvis det i løpet av transformasjoner oppnås en streng et sted der alle elementer, inkludert det frie medlemmet, er null, kan en slik streng kalles null og kastes ut av matrisen.
- Legge til elementene i en rad med elementer i en annen (i henhold tiltilsvarende kolonner) multiplisert med en koeffisient. Den mest obskure og viktigste transformasjonen av alle. Det er verdt å dvele ved det mer detaljert.
Legge til en streng multiplisert med en faktor
For å lette forståelsen er det verdt å demontere denne prosessen trinn for trinn. To rader er tatt fra matrisen:
a11 a12 … a1n | b1
a21 a22 … a2n | b2
La oss si at du må legge til den første multiplisert med koeffisienten "-2" til den andre.
a'21 =a21 + -2×a11
a'22 =a22 + -2×a12
a'2n =a2n + -2×a1n
Da erstattes den andre raden i matrisen med en ny, mens den første forblir uendret.
a11 a12 … a1n | b1
a'21 a'22 … a'2n | b2
Det skal bemerkes at multiplikasjonsfaktoren kan velges på en slik måte at, som et resultat av å legge til to strenger, ett av elementene i den nye strengen er lik null. Derfor er det mulig å få en ligning i systemet, hvor det vil være en mindre ukjent. Og hvis du får to slike ligninger, så kan operasjonen gjøres på nytt og få en ligning som allerede vil inneholde to mindre ukjente. Og hvis vi hver gang snur til null en koeffisient for alle rader som er lavere enn den opprinnelige, så kan vi, som trinn, gå ned helt til bunnen av matrisen og få en ligning med en ukjent. Dette kallesløs systemet ved hjelp av Gauss-metoden.
Generelt
La det bli et system. Den har m ligninger og n ukjente røtter. Du kan skrive det slik:
Hovedmatrisen er kompilert fra koeffisientene til systemet. En kolonne med gratis medlemmer legges til den utvidede matrisen og adskilles med en stolpe for enkelhets skyld.
Neste:
- den første raden i matrisen multipliseres med koeffisienten k=(-a21/a11);
- den første endrede raden og den andre raden i matrisen legges til;
- i stedet for den andre raden, settes resultatet av tillegget fra forrige avsnitt inn i matrisen;
- nå er den første koeffisienten i den nye andre linjen en11 × (-a21/a11) + a21 =-a21 + a21=0.
Nå utføres den samme serien med transformasjoner, bare første og tredje linje er involvert. Følgelig, i hvert trinn i algoritmen, erstattes elementet a21 med a31. Deretter gjentas alt for a41, … am1. Resultatet er en matrise der det første elementet i radene [2, m] er lik null. Nå må du glemme linje nummer én og utføre den samme algoritmen fra den andre linjen:
- k koeffisient=(-a32/a22);
- den andre endrede linjen legges til den "gjeldende" linjen;
- resultatet av tillegget erstattes med tredje, fjerde og så videre, mens første og andre forblir uendret;
- i radene [3, m] i matrisen er de to første elementene allerede lik null.
Algoritmen må gjentas til koeffisienten k=(-am, m-1/amm vises). Dette betyr at algoritmen sist ble kjørt kun for den nedre ligningen. Nå ser matrisen ut som en trekant, eller har en trinnformet form. Bunnlinjen inneholder ligningen amn × x =bm. Koeffisienten og frileddet er kjent, og roten uttrykkes gjennom dem: x =bm/amn. Den resulterende roten settes inn i den øverste raden for å finne xn-1=(bm-1 - am-1, n×(bm/amn))÷am-1, n-1. Og så videre analogt: i hver neste linje er det en ny rot, og etter å ha nådd "toppen" av systemet, kan man finne et sett med løsninger [x1, … x ]. Det vil være den eneste.
Når det ikke finnes noen løsninger
Hvis i en av matriseradene alle elementene, bortsett fra frileddet, er lik null, så ser ligningen som tilsvarer denne raden ut som 0=b. Det har ingen løsning. Og siden en slik ligning er inkludert i systemet, er løsningssettet for hele systemet tomt, det vil si at det er degenerert.
Når det finnes et uendelig antall løsninger
Det kan vise seg at i den reduserte trekantmatrisen er det ingen rader med ett element - koeffisienten til ligningen, og ett - et fritt medlem. Det er bare strenger som, når de omskrives, vil se ut som en ligning med to eller flere variabler. Dette betyr at systemet har et uendelig antall løsninger. I dette tilfellet kan svaret gis i form av en generell løsning. Hvordan gjør jeg det?
Allevariabler i matrisen er delt inn i grunnleggende og frie. Grunnleggende - dette er de som står "på kanten" av radene i den trinnvise matrisen. Resten er gratis. I den generelle løsningen er de grunnleggende variablene skrevet i form av de frie.
For enkelhets skyld skrives matrisen først om til et system av ligninger. Så i den siste av dem, hvor nøyaktig en grunnleggende variabel gjensto, forblir den på den ene siden, og alt annet overføres til den andre. Dette gjøres for hver ligning med én grunnleggende variabel. Så, i resten av ligningene, der det er mulig, i stedet for den grunnleggende variabelen, erstattes uttrykket som er oppnådd for den. Hvis resultatet igjen er et uttrykk som inneholder bare én grunnvariabel, uttrykkes det derfra igjen, og så videre, til hver grunnvariabel skrives som et uttrykk med frie variabler. Dette er den generelle løsningen for SLAE.
Du kan også finne den grunnleggende løsningen til systemet - gi de frie variablene eventuelle verdier, og beregn deretter verdiene til de grunnleggende variablene for dette spesielle tilfellet. Det finnes uendelig mange spesielle løsninger.
Løsning med spesifikke eksempler
Her er et ligningssystem.
For enkelhets skyld er det bedre å lage matrisen med en gang
Det er kjent at når man løser med Gauss-metoden, vil ligningen som tilsvarer den første raden forbli uendret på slutten av transformasjonene. Derfor vil det være mer lønnsomt hvis det øvre venstre elementet i matrisen er det minste - deretter de første elementeneresten av radene etter operasjonene vil bli null. Dette betyr at i den kompilerte matrisen vil det være fordelaktig å sette den andre raden i stedet for den første.
Deretter må du endre den andre og tredje linjen slik at de første elementene blir null. For å gjøre dette, legg dem til den første, multiplisert med en koeffisient:
andre linje: 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 linje: 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
Nå, for ikke å bli forvirret, må du skrive en matrise med mellomresultater av transformasjoner.
Det er klart at en slik matrise kan gjøres mer lesbar ved hjelp av enkelte operasjoner. Du kan for eksempel fjerne alle "minuser" fra den andre linjen ved å multiplisere hvert element med "-1".
Det er også verdt å merke seg at i tredje linje er alle elementer multipler av tre. Da kan dukutt strengen med dette tallet, multipliser hvert element med "-1/3" (minus - samtidig for å fjerne negative verdier).
Ser mye finere ut. Nå må vi la den første linjen være i fred og jobbe med den andre og tredje. Oppgaven er å legge den andre raden til den tredje raden, multiplisert med en slik faktor at elementet a32 blir null.
k=(-a32/a22)=(-3/7)=-3/7 (hvis under noen transformasjoner i svaret viste seg å ikke være et heltall, anbefales det å la det være "som det er", i form av en vanlig brøk, og først da, når svarene er mottatt, bestemmer du om du skal avrunde og konvertere til en annen form for notasjon)
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 skrives på nytt med nye verdier.
1 | 2 | 4 | 12 |
0 | 7 | 11 | 24 |
0 | 0 | -9/7 | -61/7 |
Som du kan se, har den resulterende matrisen allerede en trinnformet form. Derfor er det ikke nødvendig med ytterligere transformasjoner av systemet ved Gauss-metoden. Det som kan gjøres her er å fjerne den totale koeffisienten "-1/7" fra den tredje linjen.
Nå alle sammenhyggelig. Poenget er lite - skriv matrisen på nytt i form av et ligningssystem og regn ut røttene
x + 2y + 4z=12 (1)
7y + 11z=24 (2)
9z=61 (3)
Algorithmen som røttene nå vil bli funnet med kalles det omvendte trekk i Gauss-metoden. Ligning (3) inneholder verdien z:
z=61/9
Deretter går du tilbake til den andre ligningen:
y=(24 - 11×(61/9))/7=-65/9
Og den første ligningen lar deg finne x:
x=(12 - 4z - 2y)/1=12 - 4×(61/9) - 2×(-65/9)=-6/9=-2/3
Vi har rett til å kalle et slikt system felles, og til og med bestemt, det vil si å ha en unik løsning. Svaret er skrevet på følgende måte:
x1=-2/3, y=-65/9, z=61/9.
Eksempel på et ubestemt system
Varianten med å løse et bestemt system ved Gauss-metoden er analysert, nå er det nødvendig å vurdere saken hvis systemet er ubestemt, det vil si at det kan finnes uendelig mange løsninger for 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)
Selve formen på systemet er allerede alarmerende, fordi antallet ukjente er n=5, og rangeringen av systemmatrisen er allerede nøyaktig mindre enn dette tallet, fordi antall rader er m=4, det vil si at den største rekkefølgen av kvadratdeterminanten er 4. Så,Det finnes et uendelig antall løsninger, og vi må se etter dens generelle form. Gauss-metoden for lineære ligninger lar deg gjøre dette.
Først, som vanlig, kompileres den utvidede matrisen.
Andre linje: koeffisient k=(-a21/a11)=-3. I den tredje linjen er det første elementet før transformasjonene, så du trenger ikke å røre noe, du må la det være som det er. Fjerde linje: k=(-a41/a11)=-5
Ved å multiplisere elementene i den første raden med hver av koeffisientene deres etter tur og legge dem til de nødvendige radene, får vi en matrise med følgende form:
Som du kan se, består andre, tredje og fjerde rad av elementer proporsjonale med hverandre. Den andre og den fjerde er generelt like, så en av dem kan fjernes umiddelbart, og resten multiplisert med koeffisienten "-1" og få linje nummer 3. Og igjen, la en av to identiske linjer.
Resultatet er en slik matrise. Systemet er ennå ikke skrevet ned, her er det nødvendig å bestemme grunnvariablene - ved koeffisientene a11=1 og a22=1, og gratis - alt det andre.
Det er bare én grunnleggende variabel i den andre ligningen - x2. Derfor kan det uttrykkes derfra ved å skrive gjennom variablene x3, x4, x5, som er gratis.
Sett det resulterende uttrykket inn i den første ligningen.
Det ble en ligning derden eneste grunnleggende variabelen er x1. La oss gjøre det samme med den som med x2.
Alle grunnleggende variabler, hvorav det er to, er uttrykt i form av tre frie, nå kan du skrive svaret i generell form.
Du kan også spesifisere en av de spesielle løsningene til systemet. For slike tilfeller velges som regel nuller som verdier for frie variabler. Da blir svaret:
-16, 23, 0, 0, 0.
Et eksempel på et inkonsekvent system
Løsning av inkonsistente ligningssystemer ved Gauss-metoden er den raskeste. Den avsluttes så snart det på et av trinnene oppnås en ligning som ikke har noen løsning. Det vil si at stadiet med beregning av røttene, som er ganske langt og trist, forsvinner. Følgende system vurderes:
x + y - z=0 (1)
2x - y - z=-2 (2)
4x + y - 3z=5 (3)
Som vanlig er matrisen kompilert:
1 | 1 | -1 | 0 |
2 | -1 | -1 | -2 |
4 | 1 | -3 | 5 |
Og redusert til en trinnvis form:
k1 =-2k2 =-4
1 | 1 | -1 | 0 |
0 | -3 | 1 | -2 |
0 | 0 | 0 | 7 |
Etter den første transformasjonen inneholder den tredje linjen en ligning av formen
0=7, ingen løsning. Derfor systemeter inkonsekvent, og svaret er det tomme settet.
Fordeler og ulemper med metoden
Hvis du velger hvilken metode du skal løse SLAE på papir med en penn, så ser metoden som ble vurdert i denne artikkelen mest attraktiv ut. I elementære transformasjoner er det mye vanskeligere å bli forvirret enn det skjer hvis du manuelt må lete etter determinanten eller en vanskelig invers matrise. Men hvis du bruker programmer for å jobbe med data av denne typen, for eksempel regneark, viser det seg at slike programmer allerede inneholder algoritmer for å beregne hovedparametrene til matriser - determinanten, minor, invers og transponert matriser, og så videre. Og hvis du er sikker på at maskinen vil beregne disse verdiene selv og ikke vil gjøre en feil, er det mer hensiktsmessig å bruke matrisemetoden eller Cramers formler, fordi applikasjonen deres begynner og slutter med beregningen av determinanter og inverse matriser.
Application
Siden den gaussiske løsningen er en algoritme, og matrisen faktisk er en todimensjonal matrise, kan den brukes i programmering. Men siden artikkelen posisjonerer seg som en guide «for dummies», skal det sies at det enkleste stedet å legge metoden inn er regneark, for eksempel Excel. Igjen, enhver SLAE som er lagt inn i en tabell i form av en matrise, vil bli vurdert av Excel som en todimensjonal matrise. Og for operasjoner med dem er det mange fine kommandoer: addisjon (du kan bare legge til matriser av samme størrelse!), Multiplikasjon med et tall, matrisemultiplikasjon (også medvisse restriksjoner), finne de inverse og transponerte matrisene og, viktigst av alt, beregne determinanten. Hvis denne tidkrevende oppgaven erstattes av en enkelt kommando, er det mye raskere å bestemme rangeringen til en matrise og derfor etablere dens kompatibilitet eller inkonsekvens.