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:

[legend]
List of all members.

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.

Private Attributes

FactorizationStructure * fact_struc

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

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 
)

Definition at line 133 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 187 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

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!


Member Data Documentation

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

Definition at line 279 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.


The documentation for this class was generated from the following files:
Generated on Tue Oct 20 12:54:09 2009 for MOOCHO (Single Doxygen Collection) by doxygen 1.4.7