AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects
Version of the Day
|
Implementation node class for DirectSparseSolver
that takes care of the memory management details.
More...
#include <AbstractLinAlgPack_DirectSparseSolverImp.hpp>
Classes | |
class | BasisMatrixImp |
Implementation node subclass that combines factorization structure and factorization nonzeros into a single basis matrix object. More... | |
class | FactorizationNonzeros |
Abstract class for objects that represent the factorization nonzeros of a particular matrix. More... | |
Overridden from DirectSparseSolver | |
void | analyze_and_factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, DenseLinAlgPack::IVector *row_perm, DenseLinAlgPack::IVector *col_perm, size_type *rank, BasisMatrix *basis_matrix, std::ostream *out) |
void | factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, BasisMatrix *basis_matrix, const BasisMatrix::fact_struc_ptr_t &fact_struc, std::ostream *out) |
const BasisMatrix::fact_struc_ptr_t & | get_fact_struc () const |
void | set_uninitialized () |
Protected pure virtual methods to be overridden by concrete direct solver subclasses | |
virtual const Teuchos::RCP < FactorizationStructure > | create_fact_struc () const =0 |
Create a new, uninitialized FactorizationStructure object. More... | |
virtual const Teuchos::RCP < FactorizationNonzeros > | create_fact_nonzeros () const =0 |
Create a new, uninitialized FactorizationNonzeros object. More... | |
virtual void | imp_analyze_and_factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, FactorizationStructure *fact_struc, FactorizationNonzeros *fact_nonzeros, DenseLinAlgPack::IVector *row_perm, DenseLinAlgPack::IVector *col_perm, size_type *rank, std::ostream *out=NULL)=0 |
Called to implement the analyze_and_factor() without having to worry about memory mangagment details. More... | |
virtual void | imp_factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, const FactorizationStructure &fact_struc, FactorizationNonzeros *fact_nonzeros, std::ostream *out=NULL)=0 |
Called to implement the analyze_and_factor() without having to worry about memory mangagment details. More... | |
Additional Inherited Members | |
Public Types inherited from AbstractLinAlgPack::DirectSparseSolver | |
typedef Teuchos::RCP< const Teuchos::AbstractFactory < BasisMatrix > > | basis_matrix_factory_ptr_t |
Public Member Functions inherited from AbstractLinAlgPack::DirectSparseSolver | |
virtual | ~DirectSparseSolver () |
virtual const basis_matrix_factory_ptr_t | basis_matrix_factory () const =0 |
Return a factory object that can create the basis matrix. More... | |
virtual void | estimated_fillin_ratio (value_type estimated_fillin_ratio)=0 |
Set the estimate of the fill-in ratio of the factorization. More... | |
virtual void | factor (const AbstractLinAlgPack::MatrixConvertToSparse &A, BasisMatrix *basis_matrix, const BasisMatrix::fact_struc_ptr_t &fact_struc=Teuchos::null, std::ostream *out=NULL)=0 |
Factor a matrix given its factorization structure. More... | |
Implementation node class for DirectSparseSolver
that takes care of the memory management details.
ToDo: Finish documentation!
Subclasses must override the following methods which are pure virtual and are not implemented here: basis_matrix_factory()
, estimated_fillin_ratio()
, create_fact_struc()
, create_fact_nonzeros()
, imp_analyze_and_factor()
and imp_factor()
.
Definition at line 63 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.
|
virtual |
Implements AbstractLinAlgPack::DirectSparseSolver.
Definition at line 146 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
void AbstractLinAlgPack::DirectSparseSolverImp::factor | ( | const AbstractLinAlgPack::MatrixConvertToSparse & | A, |
BasisMatrix * | basis_matrix, | ||
const BasisMatrix::fact_struc_ptr_t & | fact_struc, | ||
std::ostream * | out | ||
) |
Definition at line 200 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
|
virtual |
Implements AbstractLinAlgPack::DirectSparseSolver.
Definition at line 243 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
|
virtual |
Implements AbstractLinAlgPack::DirectSparseSolver.
Definition at line 248 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
|
protectedpure virtual |
Create a new, uninitialized FactorizationStructure
object.
Implemented in AbstractLinAlgPack::DirectSparseSolverMA28, and AbstractLinAlgPack::DirectSparseSolverDense.
|
protectedpure virtual |
Create a new, uninitialized FactorizationNonzeros
object.
Implemented in AbstractLinAlgPack::DirectSparseSolverMA28, and AbstractLinAlgPack::DirectSparseSolverDense.
|
protectedpure virtual |
Called to implement the analyze_and_factor()
without having to worry about memory mangagment details.
ToDo: Finish documentation!
|
protectedpure virtual |
Called to implement the analyze_and_factor()
without having to worry about memory mangagment details.
ToDo: Finish documentation!