QR decomposition of a matrix
QRdecomp(A, arg2, arg3, ...)
QRdecomp(A, Q='q', rank='r', fullspan=value)
(optional) is of the form name=val
(optional) for returning the rank of A
(optional) for returning the Q factor of A
(optional) include null span in Q
Important: The linalg package has been deprecated. Use the superseding command LinearAlgebra[QRDecomposition], instead.
- For information on migrating linalg code to the new packages, see examples/LinearAlgebraMigration.
The routine QRdecomp computes the QR decomposition of the matrix A.
For matrices of floating-point entries, the numerically stable Householder-transformations are used. For symbolic computation, the Gram-Schmidt process is applied.
The result is an upper triangular matrix R. The orthonormal (unitary) factor Q is passed back to the Q parameter.
The default factorization is the full QR where R will have the same dimension as A. Q will be a full rank square matrix whose first n columns span the column space of A and whose last m-n columns span the null space of A.
If the (optional) fullspan arg is set to false, a Q1R1 factorization will be given where the Q1 factor will have the same dimension as A and, assuming A has full column rank, the columns of Q will span the column space of A. The R factor will be square and agree in dimension with Q. The default for fullspan is true.
If A is an n by n matrix then ∏i],i=1..n⁢R[i.
If A contains complex entries, the Q factor will be unitary.
The QR factorization can be used to generate a least squares solution to an overdetermined system of linear equations. If Ax=b, and QR=A then Rx=transpose⁡Q⁢b can be solved through backsubstitution.
The command with(linalg,QRdecomp) allows the use of the abbreviated form of this command.
A ≔ matrix⁡3,3,1,2,3,0,0,1,2,3,4
R ≔ QRdecomp⁡A,Q='q',rank='r'
A ≔ matrix⁡4,2,1,2,3,0,0,1,2,3
R ≔ QRdecomp⁡A,Q='q',fullspan=false
Download Help Document