AbstractLinAlgPack::DirectSparseSolverImp Class Reference

Implementation node class for DirectSparseSolver that takes care of the memory management details. More...

#include <AbstractLinAlgPack_DirectSparseSolverImp.hpp>

Inheritance diagram for AbstractLinAlgPack::DirectSparseSolverImp:
Inheritance graph
[legend]

List of all members.

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...

Private Attributes

FactorizationStructure * fact_struc

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.

Detailed Description

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 50 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.


Member Function Documentation

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 
) [virtual]
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]
void AbstractLinAlgPack::DirectSparseSolverImp::set_uninitialized (  )  [virtual]
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]
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!


Member Data Documentation

FactorizationStructure* AbstractLinAlgPack::DirectSparseSolverImp::fact_struc [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 10:17:33 2011 for MOOCHO (Single Doxygen Collection) by  doxygen 1.6.3