Doolittle-decompositie

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

Via Gauss-eliminatie

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

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

Gegeven:

 

We beginnen met als matrix   de eenheidsmatrix en   gelijk aan  :

 

Eerste stap

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

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

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

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