Konjugaattigradienttimenetelmä on numeerinen menetelmä lineaaristen algebrallisten yhtälöiden ratkaisemiseksi , se on Krylov-tyyppinen iteratiivinen menetelmä .
Olkoon lineaarinen yhtälöjärjestelmä annettu: . Lisäksi järjestelmän matriisi on reaalimatriisi , jolla on seuraavat ominaisuudet: , eli se on symmetrinen positiivinen-määräinen matriisi . Sitten SLAE:n ratkaisuprosessi voidaan esittää seuraavien toimintojen minimoimisena:
Takana on skalaaritulo . Minimoimalla tämän funktion käyttämällä Krylov-aliavaruuksia , saamme konjugaattigradienttimenetelmän algoritmin.
Koska minimoitava funktio on neliöllinen, prosessin on annettava vastaus th iteraatioon, mutta menetelmää tietokoneella toteutettaessa tapahtuu reaalilukujen esittämisessä virhe, jonka seurauksena iteraatioita voi tulla lisää. vaaditaan. Voit myös arvioida tarkkuuden suhteellisella erolla ja lopettaa iteratiivisen prosessin, kun ero on pienempi kuin annettu luku.
Olkoon esiehdotulla järjestelmällä muoto: , niin menetelmän algoritmi tällaiselle järjestelmälle voidaan kirjoittaa seuraavasti:
Valmistelu ennen iteratiivista prosessiaTässä tapauksessa voit käyttää samoja pysäytyskriteerejä kuin perinteisessä järjestelmässä, vain esikäsittely huomioiden. Suhteellinen poikkeama lasketaan esimerkiksi seuraavasti: Voit kuitenkin käyttää myös alkuperäisen järjestelmän poikkeamaa, joka lasketaan seuraavasti:
Kuten kaikki Krylov-aliavaruuksien menetelmät, konjugaattigradienttimenetelmä matriisista vaatii vain kyvyn kertoa se vektorilla, mikä johtaa kykyyn käyttää erityisiä matriisitallennusmuotoja (kuten harvaa) ja säästää muistia matriisin tallennusta varten.
Menetelmää käytetään usein elementtien SLAE:n ratkaisemiseen.
Menetelmässä on yleistyksiä: bikonjugaattigradienttien menetelmä epäsymmetristen matriisien kanssa työskentelyyn. Ja kompleksikonjugaattigradienttimenetelmä, jossa matriisi voi sisältää kompleksilukuja, mutta sen täytyy täyttää ehto: , eli olla itseadjungoitu positiivinen määrätty matriisi.
SLAE :n ratkaisemiseksi | Menetelmät|
---|---|
Suorat menetelmät | |
Iteratiiviset menetelmät | |
Kenraali |
|