MOOCHO (Single Doxygen Collection)
Version of the Day
|
Implementation node subclass that combines factorization structure and factorization nonzeros into a single basis matrix object. More...
#include <AbstractLinAlgPack_DirectSparseSolverImp.hpp>
Inherits BasisMatrix.
Private Attributes | |
FactorizationStructure * | fact_struc |
FactorizationNonzeros * | fact_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 !!!! More... | |
Public types | |
typedef Teuchos::RCP < FactorizationNonzeros > | fact_nonzeros_ptr_t |
Access | |
virtual const fact_nonzeros_ptr_t & | get_fact_nonzeros () const |
Return a reference to a smart pointer to the object that represents the factorization nonzeros. More... | |
Overridden from MatrixBase | |
const VectorSpace & | space_cols () const |
const VectorSpace & | space_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/initializers | |
BasisMatrixImp () | |
Default initializers to uninitialized. More... | |
BasisMatrixImp (size_type dim, const fact_struc_ptr_t &fact_struc, const fact_nonzeros_ptr_t &fact_nonzeros) | |
Calls this->initialize() More... | |
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. More... | |
void | set_uninitialized () |
Make uninitialized. More... | |
Factory methods to be overridden by subclasses | |
virtual Teuchos::RCP < BasisMatrixImp > | create_matrix () const =0 |
Called by this->clone-mns (). More... | |
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 98 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.
typedef Teuchos::RCP<FactorizationNonzeros> AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::fact_nonzeros_ptr_t |
Definition at line 105 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.
|
protected |
Default initializers to uninitialized.
Definition at line 54 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
|
protected |
Calls this->initialize()
Definition at line 58 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
|
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 94 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
const VectorSpace & AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::space_cols | ( | ) | const |
Definition at line 101 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
const VectorSpace & AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::space_rows | ( | ) | const |
Definition at line 106 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
size_type AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::rows | ( | ) | const |
Definition at line 111 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
size_type AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::cols | ( | ) | const |
Definition at line 116 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
MatrixNonsing::mat_mns_mut_ptr_t AbstractLinAlgPack::DirectSparseSolverImp::BasisMatrixImp::clone_mns | ( | ) |
Definition at line 124 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
|
virtual |
Definition at line 136 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
|
protectedvirtual |
Initialize given initialized factorization structure and factorization nonzeros objects.
Definition at line 67 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
|
protected |
Make uninitialized.
Postconditions:
this->dim() == 0
this->get_fact_struc().get() == NULL
this->get_fact_nonzeros().get() == NULL
Definition at line 85 of file AbstractLinAlgPack_DirectSparseSolverImp.cpp.
|
protectedpure virtual |
Called by this->clone-mns
().
|
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 205 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.
|
private |
Definition at line 208 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.
|
private |
Definition at line 209 of file AbstractLinAlgPack_DirectSparseSolverImp.hpp.