Inplace LU decomposition of a skyline matrix and associated features. More...
#include <SkylineInplaceLU.h>
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 |
Definition at line 38 of file SkylineInplaceLU.h.
typedef MatrixType::Index SkylineInplaceLU< MatrixType >::Index [protected] |
Definition at line 41 of file SkylineInplaceLU.h.
typedef NumTraits<typename MatrixType::Scalar>::Real SkylineInplaceLU< MatrixType >::RealScalar [protected] |
Definition at line 43 of file SkylineInplaceLU.h.
typedef MatrixType::Scalar SkylineInplaceLU< MatrixType >::Scalar [protected] |
Definition at line 40 of file SkylineInplaceLU.h.
SkylineInplaceLU< MatrixType >::SkylineInplaceLU | ( | MatrixType & | matrix, |
int | flags = 0 |
||
) | [inline] |
Creates a LU object and compute the respective factorization of matrix using flags flags.
Definition at line 49 of file SkylineInplaceLU.h.
void SkylineInplaceLU< MatrixType >::compute | ( | ) |
Computes/re-computes the LU factorization
Computes / recomputes the in place LU decomposition of the SkylineInplaceLU. using the default algorithm.
Definition at line 133 of file SkylineInplaceLU.h.
void SkylineInplaceLU< MatrixType >::computeRowMajor | ( | ) |
Definition at line 197 of file SkylineInplaceLU.h.
int SkylineInplaceLU< MatrixType >::flags | ( | ) | const [inline] |
Definition at line 89 of file SkylineInplaceLU.h.
int SkylineInplaceLU< MatrixType >::orderingMethod | ( | ) | const [inline] |
Definition at line 97 of file SkylineInplaceLU.h.
RealScalar SkylineInplaceLU< MatrixType >::precision | ( | ) | const [inline] |
Definition at line 72 of file SkylineInplaceLU.h.
void SkylineInplaceLU< MatrixType >::setFlags | ( | int | f | ) | [inline] |
Sets the flags. Possible values are:
Definition at line 84 of file SkylineInplaceLU.h.
void SkylineInplaceLU< MatrixType >::setOrderingMethod | ( | int | m | ) | [inline] |
Definition at line 93 of file SkylineInplaceLU.h.
void SkylineInplaceLU< MatrixType >::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.
Definition at line 65 of file SkylineInplaceLU.h.
bool SkylineInplaceLU< MatrixType >::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.
Definition at line 320 of file SkylineInplaceLU.h.
bool SkylineInplaceLU< MatrixType >::succeeded | ( | void | ) | const [inline] |
Definition at line 116 of file SkylineInplaceLU.h.
int SkylineInplaceLU< MatrixType >::m_flags [protected] |
Definition at line 122 of file SkylineInplaceLU.h.
MatrixType& SkylineInplaceLU< MatrixType >::m_lu [protected] |
Definition at line 125 of file SkylineInplaceLU.h.
RealScalar SkylineInplaceLU< MatrixType >::m_precision [protected] |
Definition at line 121 of file SkylineInplaceLU.h.
int SkylineInplaceLU< MatrixType >::m_status [mutable, protected] |
Definition at line 123 of file SkylineInplaceLU.h.
bool SkylineInplaceLU< MatrixType >::m_succeeded [protected] |
Definition at line 124 of file SkylineInplaceLU.h.