AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | List of all members
AbstractLinAlgPack::DirectSparseSolverImp Class Referenceabstract

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]

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

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 63 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
protectedpure virtual

Create a new, uninitialized FactorizationStructure object.

Implemented in AbstractLinAlgPack::DirectSparseSolverMA28, and AbstractLinAlgPack::DirectSparseSolverDense.

virtual const Teuchos::RCP<FactorizationNonzeros> AbstractLinAlgPack::DirectSparseSolverImp::create_fact_nonzeros ( ) const
protectedpure 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 
)
protectedpure 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 
)
protectedpure virtual

Called to implement the analyze_and_factor() without having to worry about memory mangagment details.

ToDo: Finish documentation!


The documentation for this class was generated from the following files: