QR Decomposition of a matrix.
For a list of all members of this type, see QR Members.
System.Object
Imsl.Math.QR
Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.
Class QR
computes the QR decomposition of a matrix using Householder transformations. It is based on the LINPACK routine SQRDC
; see Dongarra et al. (1979).
QR
determines an orthogonal matrix Q, a permutation matrix P, and an upper trapezoidal matrix R with diagonal elements of nonincreasing magnitude, such that AP = QR. The Householder transformation for column k is of the form
for , min(number of rows of A, number of columns of A), where u has zeros in the first k - 1 positions. The matrix Q is not produced directly by QR
. Instead the information needed to reconstruct the Householder transformations is saved. If the matrix Q is needed explicitly, use the Q
property. This method accumulates Q from its factored form.
Before the decomposition is computed, initial columns are moved to the beginning of the array A and the final columns to the end. Both initial and final columns are frozen in place during the computation. Only free columns are pivoted. Pivoting is done on the free columns of largest reduced norm.
Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll)
QR Members | Imsl.Math Namespace | Example