Doolittle-decompositie

Uit Wikipedia, de vrije encyclopedie

De Doolittle-decompositie is een algoritme voor de LU-decompositie van een vierkante niet-singuliere matrix in een benedendriehoeksmatrix en een bovendriehoeksmatrix . In de matrix zijn de elementen op de hoofddiagonaal gelijk aan 1.

De methode werd in 1878 voorgesteld door Myrick H. Doolittle, een wiskundige verbonden aan de U.S. Coast and Geodetic Survey.[1]

Beschrijving[bewerken | brontekst bewerken]

Via Gauss-eliminatie[bewerken | brontekst bewerken]

Zij een -matrix met elementen ai,j. De Doolittle-decompositie is formeel gezien een Gauss-eliminatie. Het algoritme begint dan met als de -eenheidsmatrix en gelijk aan . In stappen wordt herleid tot een bovendriehoeksmatrix en tot een benedendriehoeksmatrix, zodanig dat het matrixproduct steeds gelijk blijft aan .

In de -de stap worden de elementen onder de hoofddiagonaal in de -de kolom van op nul gebracht. Dit gebeurt door rij met de juiste factor te vermenigvuldigen en dan af te trekken van rij , wat een nieuwe rij geeft . De factoren zijn de verhoudingen van de elementen in de rijen en in kolom . Die factoren, , kopiëren we in de corresponderende kolom van .

Indien een element op de hoofddiagonaal heeft dat nul is, gaat dit natuurlijk niet op. In dat geval moet de rij verwisseld worden met een onderliggende rij waarin niet nul is. De verwisseling gebeurt ook in . De verwisselingen kunnen bijgehouden worden in een permutatiematrix . In het begin is de eenheidsmatrix. Wanneer twee rijen in en verwisseld worden, worden dezelfde rijen in verwisseld. De decompositie is dan niet langer maar .

Rechtstreekse berekening[bewerken | brontekst bewerken]

Indien men rekening houdt met de specifieke structuur van en , kan men de coëfficiënten ervan een voor een berekenen. Immers als men het matrixproduct uitschrijft, verkrijgt men een stelsel van lineaire vergelijkingen in de onbekende coëfficiënten van en . Maar deze vergelijkingen kan men zo rangschikken dat elke volgende vergelijking een nieuwe coëfficiënt geeft; bijvoorbeeld:

of
of enz.;
of
of enz.;
of
of enz.

Op deze manier kan men de coëfficiënten van en , een voor een, rechtstreeks berekenen. Dit is de "compacte" vorm van de Doolittle-decompositie.

Voorbeeld[bewerken | brontekst bewerken]

Gegeven:

We beginnen met als matrix de eenheidsmatrix en gelijk aan :

Eerste stap[bewerken | brontekst bewerken]

In de eerste stap zijn de factoren om de elementen onder de diagonaal in de eerste kolom van op nul te krijgen, respectievelijk −1, 2 en −3. Die komen onder de diagonaal in de eerste kolom van . In vermenigvuldigen we de eerste rij met −1 en trekken die af van de tweede rij; dat wordt de nieuwe tweede rij; analoog voor de derde en vierde rij. Dit geeft als tussenstand:

Men kan nagaan dat het product van deze twee matrices de oorspronkelijk matrix is.

Tweede stap[bewerken | brontekst bewerken]

Om de elementen onder de diagonaal in de tweede kolom van op nul te krijgen moeten we van de derde rij van de tweede rij van vermenigvuldigd met −5 aftrekken, en van de vierde rij van de tweede rij vermenigvuldigd met 8. Dit geeft:

Derde stap[bewerken | brontekst bewerken]

In de laatste stap staat het enige overgebleven element onder de hoofddiagonaal van in de derde kolom. Door de derde rij van te vermenigvuldigen met 3 en af te trekken van de vierde rij wordt dit nul:

Daarmee is de decompositie van in beëindigd. In dit geval was er geen verwisseling van rijen nodig.

Bemerkingen[bewerken | brontekst bewerken]

Om een stelsel van lineaire vergelijkingen op te lossen gaat men als volgt te werk:

  1. Vorm de matrices en : . We noemen het (voorlopig onbekende) product .
  2. Los op door voorwaartse substitutie.
  3. Los op door achterwaartse substitutie.

Wanneer bijvoorbeeld , vinden we achtereenvolgens:

  • waaruit
  • waaruit
  • waaruit

en:

  • of
  • waaruit
  • waaruit
  • waaruit

Indien deze methode in een computerprogramma wordt geïmplementeerd, is het niet nodig om twee afzonderlijke matrices voor en te gebruiken. Ze kunnen compact in een enkele matrix bewaard worden (daarvoor kan zelfs de matrix dienen als deze mag overschreden worden). Het is immers niet nodig om de elementen op de hoofddiagonaal van te bewaren, die per definitie gelijk zijn aan 1. De rij-permutaties kunnen bijgehouden worden in een permutatievector van elementen; als twee rijen verwisseld worden worden de corresponderende elementen in de permutatievector verwisseld. De Doolittle-decompositie gelijkt sterk op de Crout-decompositie. Dit is ook een LU-decompositie met dit verschil dat in een Crout-decompositie de elementen op de hoofddiagonaal van de bovendriehoeksmatrix gelijk zijn aan 1.

Websites[bewerken | brontekst bewerken]