Inplace LU decomposition of a skyline matrix and associated features. More...
Public Member Functions | |
void | compute () |
void | computeRowMajor () |
int | flags () const |
int | orderingMethod () const |
RealScalar | precision () const |
void | setFlags (int f) |
void | setOrderingMethod (int m) |
void | setPrecision (RealScalar v) |
SkylineInplaceLU (MatrixType &matrix, int flags=0) | |
template<typename BDerived , typename XDerived > | |
bool | solve (const MatrixBase< BDerived > &b, MatrixBase< XDerived > *x, const int transposed=0) const |
bool | succeeded (void) const |
Protected Types | |
typedef MatrixType::Index | Index |
typedef NumTraits< typename MatrixType::Scalar >::Real | RealScalar |
typedef MatrixType::Scalar | Scalar |
Protected Attributes | |
int | m_flags |
MatrixType & | m_lu |
RealScalar | m_precision |
int | m_status |
bool | m_succeeded |
Inplace LU decomposition of a skyline matrix and associated features.
MatrixType | the type of the matrix of which we are computing the LU factorization |
SkylineInplaceLU | ( | MatrixType & | matrix, |
int | flags = 0 |
||
) | [inline] |
Creates a LU object and compute the respective factorization of matrix using flags flags.
void compute | ( | ) |
Computes/re-computes the LU factorization
Computes / recomputes the in place LU decomposition of the SkylineInplaceLU. using the default algorithm.
int flags | ( | ) | const [inline] |
RealScalar precision | ( | ) | const [inline] |
void setFlags | ( | int | f | ) | [inline] |
Sets the flags. Possible values are:
void setPrecision | ( | RealScalar | v | ) | [inline] |
Sets the relative threshold value used to prune zero coefficients during the decomposition.
Setting a value greater than zero speeds up computation, and yields to an imcomplete factorization with fewer non zero coefficients. Such approximate factors are especially useful to initialize an iterative solver.
Note that the exact meaning of this parameter might depends on the actual backend. Moreover, not all backends support this feature.
bool solve | ( | const MatrixBase< BDerived > & | b, |
MatrixBase< XDerived > * | x, | ||
const int | transposed = 0 |
||
) | const |
Computes *x = U^-1 L^-1 b
If transpose is set to SvTranspose or SvAdjoint, the solution of the transposed/adjoint system is computed instead.
Not all backends implement the solution of the transposed or adjoint system.
bool succeeded | ( | void | ) | const [inline] |