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'
Warning, unable to find a provably non-zero pivot
A ≔ matrix⁡4,2,1,2,3,0,0,1,2,3
R ≔ QRdecomp⁡A,Q='q',fullspan=false
Download Help Document
What kind of issue would you like to report? (Optional)
Thank you for submitting feedback on this help document. Your feedback will be used
to improve Maple's help in the future.