DirectSparseSolver that takes care of the memory management details.
More...
#include <AbstractLinAlgPack_DirectSparseSolverImp.hpp>
Inheritance diagram for AbstractLinAlgPack::DirectSparseSolverImp:

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. | |
| virtual const Teuchos::RCP< FactorizationNonzeros > | create_fact_nonzeros () const =0 |
Create a new, uninitialized FactorizationNonzeros object. | |
| 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. | |
| 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. | |
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... | |
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 50 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.
| void AbstractLinAlgPack::DirectSparseSolverImp::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 AbstractLinAlgPack::DirectSparseSolverImp::factor | ( | const AbstractLinAlgPack::MatrixConvertToSparse & | A, | |
| BasisMatrix * | basis_matrix, | |||
| const BasisMatrix::fact_struc_ptr_t & | fact_struc, | |||
| std::ostream * | out | |||
| ) |
| const DirectSparseSolver::BasisMatrix::fact_struc_ptr_t & AbstractLinAlgPack::DirectSparseSolverImp::get_fact_struc | ( | ) | const [virtual] |
Implements AbstractLinAlgPack::DirectSparseSolver.
Definition at line 230 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
| void AbstractLinAlgPack::DirectSparseSolverImp::set_uninitialized | ( | ) | [virtual] |
Implements AbstractLinAlgPack::DirectSparseSolver.
Definition at line 235 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
| virtual const Teuchos::RCP<FactorizationStructure> AbstractLinAlgPack::DirectSparseSolverImp::create_fact_struc | ( | ) | const [protected, pure virtual] |
Create a new, uninitialized FactorizationStructure object.
Implemented in AbstractLinAlgPack::DirectSparseSolverDense, and AbstractLinAlgPack::DirectSparseSolverMA28.
| virtual const Teuchos::RCP<FactorizationNonzeros> AbstractLinAlgPack::DirectSparseSolverImp::create_fact_nonzeros | ( | ) | const [protected, pure virtual] |
Create a new, uninitialized FactorizationNonzeros object.
Implemented in AbstractLinAlgPack::DirectSparseSolverDense, and AbstractLinAlgPack::DirectSparseSolverMA28.
| virtual void AbstractLinAlgPack::DirectSparseSolverImp::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 | |||
| ) | [protected, pure virtual] |
Called to implement the analyze_and_factor() without having to worry about memory mangagment details.
ToDo: Finish documentation!
| virtual void AbstractLinAlgPack::DirectSparseSolverImp::imp_factor | ( | const AbstractLinAlgPack::MatrixConvertToSparse & | A, | |
| const FactorizationStructure & | fact_struc, | |||
| FactorizationNonzeros * | fact_nonzeros, | |||
| std::ostream * | out = NULL | |||
| ) | [protected, pure virtual] |
Called to implement the analyze_and_factor() without having to worry about memory mangagment details.
ToDo: Finish documentation!
1.4.7