Diana
0.8.3
|
Public Member Functions | |
DianaNormalEquationsSolver (const DianaSparseArray &spar) throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeSolvingError, Common::Error::ECapeNoMemory) | |
DianaNormalEquationsSolver & | operator= (const DianaSparseArray &spar) throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeSolvingError, Common::Error::ECapeNoMemory) |
void | decompose () throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeSolvingError, Common::Error::ECapeNoMemory) |
void | solve (const Common::Types::CapeArrayDouble &rhs, Common::Types::CapeArrayDouble &sol, Common::Types::CapeBoolean transpose=false) throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeSolvingError, Common::Error::ECapeNoMemory) |
void | solve (int n, const double *rhs, double *sol, Common::Types::CapeBoolean transpose=false) throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeSolvingError, Common::Error::ECapeNoMemory) |
void | mulvec (const Common::Types::CapeArrayDouble &vec, Common::Types::CapeArrayDouble &res, Common::Types::CapeBoolean transpose=false) throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeSolvingError, Common::Error::ECapeNoMemory) |
void | mulvec (int nvec, const double *vec, int nres, double *res, Common::Types::CapeBoolean transpose=false) throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeSolvingError, Common::Error::ECapeNoMemory) |
Private Member Functions | |
void | init_matrix (const DianaSparseArray &spar) throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeSolvingError, Common::Error::ECapeNoMemory) |
void | lusymb () throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadArgument, Common::Error::ECapeOutOfBounds,Common::Error::ECapeSolvingError, Common::Error::ECapeNoMemory) |
void | free_cholmod () |
Private Attributes | |
Common::Types::CapeBoolean | bNewStructure |
Common::Types::CapeBoolean | bNewValues |
DianaSparseArray::crc_type | crc32sa |
long | nRows |
long | nCols |
long | nNoneZeros |
void * | pCM |
void * | cspA |
void * | cdeB |
void * | cdeX |
void * | cdeAtB |
void * | csfL |
Common::Types::CapeDouble | dblUround |
void solve | ( | int | n, |
const double * | rhs, | ||
double * | sol, | ||
Common::Types::CapeBoolean | transpose = false |
||
) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadArgument, Common::Error::ECapeOutOfBounds, Common::Error::ECapeSolvingError, Common::Error::ECapeNoMemory) [virtual] |
Solves normal equations A^{T}Ax=A^{T}b
Implements IDianaLinearAlgebraSolver.
References Common::Error::ECodeError.