2.1.17.6.7 ocmath_qr
Description
Get matrix decomposition that can be used to solve linear systems of equations.
Syntax
int ocmath_qr( const double * pMatI, double * pQ, double * pR, int rows, int cols )
Parameters
- pMatI
- [input] pointer to the original matrix
- pQ
- [output] pointer to matrix Q
- pR
- [output] pointer to matrix R
- rows
- [input] row number of the original matrix
- cols
- [input] column number of the original matrix
Return
0 : success
-1 : rows or cols is not positive
Examples
EX1
void ocmath_qr_ex1()
{
matrix mat0={{2,3,5,7},{11,13,17,19},{23,29,31,37}};
matrix matQ,matR;
int m = mat0.GetNumRows();
int n = mat0.GetNumCols();
matQ.SetSize(m, m);
matR.SetSize(m, n);
int iRet = ocmath_qr(mat0, matQ, matR, m, n);
}
Remark
QR decomposition. Given a Matrix A, its QR-decomposition is of the form A = QR.
where R is an upper Triangular Matrix and Q is an Orthogonal Matrix, i.e., one satisfying Q'Q = I where I is the Identity Matrix.
This matrix decomposition can be used to solve linear systems of equations.
See Also
Header to Include
origin.h
Reference
|