IGLib
1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
|
QR Decomposition. For an m-by-n matrix A with m >= n, the QR decomposition is an m-by-n orthogonal matrix Q and an n-by-n upper triangular matrix R so that A = Q*R. More...
Public Member Functions | |
QRDecomposition (GeneralMatrix A) | |
QR Decomposition, computed by Householder reflections. More... | |
virtual GeneralMatrix | Solve (GeneralMatrix B) |
Least squares solution of A*X = B More... | |
QRDecomposition (GeneralMatrix A) | |
QR Decomposition, computed by Householder reflections. More... | |
virtual GeneralMatrix | Solve (GeneralMatrix B) |
Least squares solution of A*X = B More... | |
Properties | |
virtual bool | FullRank [get] |
Is the matrix full rank? More... | |
virtual GeneralMatrix | H [get] |
Return the Householder vectors More... | |
virtual GeneralMatrix | R [get] |
Return the upper triangular factor More... | |
virtual GeneralMatrix | Q [get] |
Generate and return the (economy-sized) orthogonal factor More... | |
Private Member Functions | |
void ISerializable. | GetObjectData (SerializationInfo info, StreamingContext context) |
void ISerializable. | GetObjectData (SerializationInfo info, StreamingContext context) |
Private Attributes | |
double[][] | QR |
Array for internal storage of decomposition. internal array storage. More... | |
int | m |
Row and column dimensions. column dimension. row dimension. More... | |
int | n |
double[] | Rdiag |
Array for internal storage of diagonal of R. diagonal of R. More... | |
QR Decomposition. For an m-by-n matrix A with m >= n, the QR decomposition is an m-by-n orthogonal matrix Q and an n-by-n upper triangular matrix R so that A = Q*R.
The QR decompostion always exists, even if the matrix does not have full rank, so the constructor will never fail. The primary use of the QR decomposition is in the least squares solution of nonsquare systems of simultaneous linear equations. This will fail if IsFullRank() returns false.
|
inline |
QR Decomposition, computed by Householder reflections.
A | Rectangular matrix |
References DotNetMatrix.GeneralMatrix.ArrayCopy, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.QRDecomposition.m, DotNetMatrix.QRDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.
|
inline |
QR Decomposition, computed by Householder reflections.
A | Rectangular matrix |
References DotNetMatrix.GeneralMatrix.ArrayCopy, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.QRDecomposition.m, DotNetMatrix.QRDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.
|
inlinevirtual |
Least squares solution of A*X = B
B | A Matrix with as many rows as A and any number of columns. |
System.ArgumentException | Matrix row dimensions must agree. |
System.SystemException | Matrix is rank deficient. |
References DotNetMatrix.GeneralMatrix.ArrayCopy, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.QRDecomposition.FullRank, DotNetMatrix.GeneralMatrix.GetMatrix(), DotNetMatrix.QRDecomposition.m, DotNetMatrix.QRDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.
|
inlineprivate |
|
inlinevirtual |
Least squares solution of A*X = B
B | A Matrix with as many rows as A and any number of columns. |
System.ArgumentException | Matrix row dimensions must agree. |
System.SystemException | Matrix is rank deficient. |
References DotNetMatrix.GeneralMatrix.ArrayCopy, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.QRDecomposition.FullRank, DotNetMatrix.GeneralMatrix.GetMatrix(), DotNetMatrix.QRDecomposition.m, DotNetMatrix.QRDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.
|
inlineprivate |
|
private |
Array for internal storage of decomposition. internal array storage.
|
private |
Row and column dimensions. column dimension. row dimension.
Referenced by DotNetMatrix.QRDecomposition.QRDecomposition(), and DotNetMatrix.QRDecomposition.Solve().
|
private |
Referenced by DotNetMatrix.QRDecomposition.QRDecomposition(), and DotNetMatrix.QRDecomposition.Solve().
|
private |
Array for internal storage of diagonal of R. diagonal of R.
|
get |
Is the matrix full rank?
Referenced by DotNetMatrix.QRDecomposition.Solve().
|
get |
Return the Householder vectors
|
get |
Return the upper triangular factor
Referenced by DotNetMatrix.test.TestMatrix.Main(), and DotNetMatrix.examples.MagicSquareExample.Main().
|
get |
Generate and return the (economy-sized) orthogonal factor
Referenced by DotNetMatrix.test.TestMatrix.Main(), and DotNetMatrix.examples.MagicSquareExample.Main().