QR-decompositie

In de lineaire algebra is een QR-decompositie van een vierkante matrix A {\displaystyle A} een opsplitsing van die matrix in een product

A = Q R {\displaystyle A=QR}

van een orthogonale matrix Q {\displaystyle Q} en een bovendriehoeksmatrix R {\displaystyle R} . QR-decompositie kan gegeneraliseerd worden voor niet-vierkante matrices, waarbij de bovendriehoeksmatrix geen vierkante matrix is, maar dezelfde afmetingen heeft als A {\displaystyle A} .

QR-decompositie wordt bij de kleinste-kwadratenmethode veel gebruikt voor het oplossen van het stelsel lineaire vergelijkingen. Het is de basis voor het QR-algoritme, een speciaal algoritme voor het eigenwaarde-probleem.

Als de matrix A {\displaystyle A} n {\displaystyle n} lineair onafhankelijke kolommen heeft, vormen de eerste n {\displaystyle n} kolommen van Q {\displaystyle Q} een orthonormale basis voor de kolommenruimte van A {\displaystyle A} . In het bijzonder vormen voor 1 k n {\displaystyle 1\leq k\leq n} de eerste k {\displaystyle k} kolommen van Q {\displaystyle Q} een orthonormale basis voor de ruimte die wordt opgespannen door de eerste k {\displaystyle k} kolommen van A {\displaystyle A} .[1] Als gevolg hiervan is de matrix R {\displaystyle R} een driehoeksmatrix.[1]

De QR-decompositie kan op verschillende manieren worden berekend :

  • met de Gram-Schmidtmethode. Deze methode is numeriek niet stabiel.
  • met householdertransformaties
  • met givens-rotaties
voetnoten
  1. a b L. N. Trefethen en D. Bau, Numerical Linear Algebra (SIAM, 1997).
websites
  • Online Matrix Calculator Performs QR decomposition of matrices.
  • LAPACK users manual gives details of subroutines to calculate the QR decomposition
  • Mathematica users manual gives details and examples of routines to calculate QR decomposition
  • ALGLIB includes a partial port of the LAPACK to C++, C#, Delphi, etc.
  • Eigen::QR Includes C++ implementation of QR decomposition.
  • Into contains an open source implementation of QR decomposition in C++.