42 #ifndef BASIS_SYSTEM_COMPOSITE_STD_H
43 #define BASIS_SYSTEM_COMPOSITE_STD_H
45 #include "AbstractLinAlgPack_BasisSystem.hpp"
46 #include "AbstractLinAlgPack_VectorSpace.hpp"
48 namespace AbstractLinAlgPack {
363 #ifndef DOXYGEN_COMPILE
376 #endif // BASIS_SYSTEM_COMPOSITE_STD_H
const mat_fcty_ptr_t factory_D() const
static void get_C_N(MatrixOp *Gc, MatrixOpNonsing **C, MatrixOp **N)
Get the non-const aggregate matrices C and N (or NULL pointers if not initialized).
Interface for the creation and maintainance of a basis matrix for a decomposition of linearlized cons...
static void initialize_Gc(const VectorSpace::space_ptr_t &space_x, const Range1D &var_dep, const Range1D &var_indep, const VectorSpace::space_ptr_t &space_c, const C_ptr_t &C, const N_ptr_t &N, MatrixOp *Gc)
Initialize the Gc matrix object given created from space_Gc()->create().
const VectorSpace::space_ptr_t & space_x() const
virtual void update_D(const MatrixOpNonsing &C, const MatrixOp &N, MatrixOp *D, EMatRelations mat_rel) const
Overridden by subclasses to update D if a specialized implementation is needed.
Teuchos::RCP< MatrixOp > N_ptr_t
void update_basis(const MatrixOp &Gc, MatrixOpNonsing *C, MatrixOp *D, MatrixOp *GcUP, EMatRelations mat_rel, std::ostream *out) const
Teuchos::RCP< const Teuchos::AbstractFactory< MatrixOp > > fcty_Gc_ptr_t
static void initialize_space_x(const VectorSpace::space_ptr_t &space_xD, const VectorSpace::space_ptr_t &space_xI, Range1D *var_dep, Range1D *var_indep, VectorSpace::space_ptr_t *space_x)
Initialize the composite vector space for x = [ xD; xI ] as well as var_dep and var_indep.
const VectorSpace::space_ptr_t & space_c() const
const mat_nonsing_fcty_ptr_t factory_C() const
Base class for all matrices that support basic matrix operations.
Teuchos::RCP< MatrixOpNonsing > C_ptr_t
virtual void set_uninitialized()
Set uninitialized.
virtual const mat_sym_nonsing_fcty_ptr_t factory_S() const
Returns a matrix factory for the result of S = I + D'*D
void initialize(const VectorSpace::space_ptr_t &space_x, const Range1D &var_dep, const Range1D &var_indep, const VectorSpace::space_ptr_t &space_c, const mat_nonsing_fcty_ptr_t &factory_C, const mat_sym_fcty_ptr_t &factory_transDtD, const mat_sym_nonsing_fcty_ptr_t &factory_S, const mat_fcty_ptr_t &factory_D=Teuchos::null)
Initialize.
virtual const mat_sym_fcty_ptr_t factory_transDtD() const
Returns a matrix factory for the result of J = D'*D
Abstract base class for all nonsingular polymorphic matrices that can be used to compute matrix-vecto...
Range1D var_indep() const
Simple BasisSystem subclass the case where the client sets up seperate C and N matrices.
static const fcty_Gc_ptr_t factory_Gc()
Return a matrix factory object for the composte Gc matrix object.