AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp Class Reference

Implementation node subclass that combines factorization structure and factorization nonzeros into a single basis matrix object. More...

#include <AbstractLinAlgPack_DirectSparseSolverImp.hpp>

List of all members.

Public types

typedef Teuchos::RCP< FactorizationNonzerosfact_nonzeros_ptr_t
 

Access

virtual const fact_nonzeros_ptr_tget_fact_nonzeros () const
 Return a reference to a smart pointer to the object that represents the factorization nonzeros.

Overridden from MatrixBase

const VectorSpacespace_cols () const
 
const VectorSpacespace_rows () const
 
size_type rows () const
 
size_type cols () const
 

Overridden from MatrixNonsinguar

mat_mns_mut_ptr_t clone_mns ()
 

Overridden from BasisMatrix

virtual const fact_struc_ptr_t & get_fact_struc () const
 

Constructors/initailizers

 BasisMatrixImp ()
 Default initializers to uninitialized.
 BasisMatrixImp (size_type dim, const fact_struc_ptr_t &fact_struc, const fact_nonzeros_ptr_t &fact_nonzeros)
 Calls this->initialize().
virtual void initialize (size_type dim, const fact_struc_ptr_t &fact_struc, const fact_nonzeros_ptr_t &fact_nonzeros)
 Initialize given initialized factorization structure and factorization nonzeros objects.
void set_uninitialized ()
 Make uninitialized.

Factory methods to be overridden by subclasses

virtual Teuchos::RCP< BasisMatrixImpcreate_matrix () const =0
 Called by this->clone-mns().

Private Attributes

FactorizationStructure * fact_struc
FactorizationNonzerosfact_nonzeros

Friends

class DirectSparseSolverImp
 Allow only DirectSparseSolverImp to initialize objects of this type. Important !!!!! Even though DirectSparseSolverImp has access to these private members it is strictly not to access them directly !!!!


Detailed Description

Implementation node subclass that combines factorization structure and factorization nonzeros into a single basis matrix object.

The only methods that subclasses must override for a complete basis matrix object are:

AbstractLinAlgPack::MatrixNonsing::V_InvMtV(), and create_matrix().

Note that is if very important that subclasses do not maintain their own copies of smart reference counting pointer objects to the factorization structure or factorization nonzeros. Instead, the methods get_fact_struc() and get_fact_nonzeros() should be called inside of the implementation of the the V_InvMtV() method and then dynamic_cast<> used to get at the concreate objects.

Definition at line 85 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.


Member Typedef Documentation

typedef Teuchos::RCP<FactorizationNonzeros> AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::fact_nonzeros_ptr_t

Definition at line 92 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.


Constructor & Destructor Documentation

AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::BasisMatrixImp (  )  [protected]

Default initializers to uninitialized.

Definition at line 41 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::BasisMatrixImp ( size_type  dim,
const fact_struc_ptr_t &  fact_struc,
const fact_nonzeros_ptr_t fact_nonzeros 
) [protected]

Calls this->initialize().

Definition at line 45 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.


Member Function Documentation

const DirectSparseSolverImp::BasisMatrixImp::fact_nonzeros_ptr_t & AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::get_fact_nonzeros (  )  const [virtual]

Return a reference to a smart pointer to the object that represents the factorization nonzeros.

Returning a reference to a RCP<> object verses returning a RCP<> object itself is critical so that we can rely on RCP<>::count() to tell us how many clients have a reference to this object.

Definition at line 81 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

const VectorSpace & AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::space_cols (  )  const

Definition at line 88 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

const VectorSpace & AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::space_rows (  )  const

Definition at line 93 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

size_type AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::rows (  )  const

Definition at line 98 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

size_type AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::cols (  )  const

Definition at line 103 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

MatrixNonsing::mat_mns_mut_ptr_t AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::clone_mns (  ) 

Definition at line 111 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

const DirectSparseSolver::BasisMatrix::fact_struc_ptr_t & AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::get_fact_struc (  )  const [virtual]

Definition at line 123 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

void AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::initialize ( size_type  dim,
const fact_struc_ptr_t &  fact_struc,
const fact_nonzeros_ptr_t fact_nonzeros 
) [protected, virtual]

Initialize given initialized factorization structure and factorization nonzeros objects.

Definition at line 54 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

void AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::set_uninitialized (  )  [protected]

Make uninitialized.

Postconditions:

Definition at line 72 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.

virtual Teuchos::RCP<BasisMatrixImp> AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::create_matrix (  )  const [protected, pure virtual]

Called by this->clone-mns().


Friends And Related Function Documentation

friend class DirectSparseSolverImp [friend]

Allow only DirectSparseSolverImp to initialize objects of this type. Important !!!!! Even though DirectSparseSolverImp has access to these private members it is strictly not to access them directly !!!!

Definition at line 192 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.


Member Data Documentation

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

Definition at line 195 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.

FactorizationNonzeros* AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::fact_nonzeros [private]

Definition at line 196 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:57:09 2010 for MOOCHO (Single Doxygen Collection) by  doxygen 1.4.7