Click or drag to resize
QR Class
QR Decomposition of a matrix.
Inheritance Hierarchy
SystemObject
  Imsl.MathQR

Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.2.0
Syntax
[SerializableAttribute]
public class QR

The QR type exposes the following members.

Constructors
  NameDescription
Public methodQR
Constructs the QR decomposition of a matrix with elements of type double.
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetPermute
Returns an int array containing information about the permutation of the elements of the matrix during pivoting.
Public methodGetQ
The orthogonal or unitary matrix Q.
Public methodGetR
The upper trapezoidal matrix R.
Public methodGetRank
Returns the rank of the matrix used to construct this instance.
Public methodGetRank(Double)
Returns the rank of the matrix given an input tolerance.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodSolve(Double)
Returns the solution to the least-squares problem Ax = b.
Public methodSolve(Double, Double)
Returns the solution to the least-squares problem Ax = b using an input tolerance.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyNumberOfProcessors
Perform the parallel calculations with the maximum possible number of processors set to NumberOfProcessors.
Top
Remarks

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

I - \frac{{u_k u_k^T }}{{P_k }}

for k = 1, 2, \ldots, 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.

See Also

Reference

Other Resources