Public Types | |
typedef Block< MatrixType, MatrixType::ColsAtCompileTime, MatrixType::ColsAtCompileTime > | MatrixRBlockType |
typedef Matrix< Scalar, MatrixType::ColsAtCompileTime, MatrixType::ColsAtCompileTime > | MatrixTypeR |
typedef MatrixType::RealScalar | RealScalar |
typedef MatrixType::Scalar | Scalar |
typedef Matrix< Scalar, MatrixType::ColsAtCompileTime, 1 > | VectorType |
Public Member Functions | |
void | compute (const MatrixType &matrix) |
int | dimensionOfKernel () const |
EIGEN_DEPRECATED bool | isFullRank () const |
bool | isInjective () const |
bool | isInvertible () const |
bool | isSurjective () const |
MatrixType | matrixQ (void) const |
const Part< NestByValue < MatrixRBlockType > , UpperTriangular > | matrixR (void) const |
QR (const MatrixType &matrix) | |
QR () | |
Default Constructor. | |
int | rank () const |
template<typename OtherDerived , typename ResultType > | |
bool | solve (const MatrixBase< OtherDerived > &b, ResultType *result) const |
Protected Attributes | |
VectorType | m_hCoeffs |
bool | m_isInitialized |
MatrixType | m_qr |
int | m_rank |
bool | m_rankIsUptodate |
MatrixType | the type of the matrix of which we are computing the QR decomposition |
QR | ( | ) | [inline] |
Default Constructor.
The default constructor is useful in cases in which the user intends to perform decompositions via QR::compute(const MatrixType&).
int dimensionOfKernel | ( | ) | const [inline] |
EIGEN_DEPRECATED bool isFullRank | ( | ) | const [inline] |
bool isInjective | ( | ) | const [inline] |
bool isInvertible | ( | ) | const [inline] |
bool isSurjective | ( | ) | const [inline] |
MatrixType matrixQ | ( | void | ) | const [inline] |
const Part<NestByValue<MatrixRBlockType>, UpperTriangular> matrixR | ( | void | ) | const [inline] |
int rank | ( | ) | const [inline] |
bool solve | ( | const MatrixBase< OtherDerived > & | b, | |
ResultType * | result | |||
) | const [inline] |
This method finds a solution x to the equation Ax=b, where A is the matrix of which *this is the QR decomposition, if any exists.
b | the right-hand-side of the equation to solve. | |
result | a pointer to the vector/matrix in which to store the solution, if any exists. Resized if necessary, so that result->rows()==A.cols() and result->cols()==b.cols(). If no solution exists, *result is left with undefined coefficients. |
The case where b is a matrix is not yet implemented. Also, this code is space inefficient.