42 #ifndef ABSTRACT_LIN_ALG_PACK_BASIS_PERM_DIRECT_SPARSE_SYSTEM_H
43 #define ABSTRACT_LIN_ALG_PACK_BASIS_PERM_DIRECT_SPARSE_SYSTEM_H
45 #include "AbstractLinAlgPack_DirectSparseSolver.hpp"
46 #include "AbstractLinAlgPack_BasisSystemPerm.hpp"
47 #include "DenseLinAlgPack_IVector.hpp"
49 namespace AbstractLinAlgPack {
165 IVector init_var_inv_perm_;
167 IVector init_equ_inv_perm_;
189 void update_basis_and_auxiliary_matrices(
197 void do_some_basis_stuff(
210 #endif // ABSTRACT_LIN_ALG_PACK_BASIS_PERM_DIRECT_SPARSE_SYSTEM_H
Range1D equ_undecomp() const
const perm_fcty_ptr_t factory_P_inequ() const
Abstract interface for immutable, finite dimensional, coordinate vectors {abstract}.
BasisSystemPermDirectSparse(const direct_solver_ptr_t &direct_solver=Teuchos::null)
Calls this->initialize()
void initialize(const direct_solver_ptr_t &direct_solver)
Initialize given a direct sparse solver object.
Aggregate matrix class for a matrix and its permuted view.
const perm_fcty_ptr_t factory_P_var() const
Range1D var_indep() const
const mat_fcty_ptr_t factory_D() const
const perm_fcty_ptr_t factory_P_equ() const
Base class for all matrices that support basic matrix operations.
const mat_nonsing_fcty_ptr_t factory_C() const
const mat_fcty_ptr_t factory_GcUP() const
Permutatble basis system subclass that uses a direct sparse solver.
Abstract interface to permutation matrices.
void set_basis(const Permutation &P_var, const Range1D &var_dep, const Permutation *P_equ, const Range1D *equ_decomp, const MatrixOp &Gc, MatrixOpNonsing *C, MatrixOp *D, MatrixOp *GcUP, EMatRelations mat_rel, std::ostream *out)
Interface for setting and selecting a basis from the Jacobian from a set of equations.
Abstract base class for all nonsingular polymorphic matrices that can be used to compute matrix-vecto...
Teuchos::RCP< DirectSparseSolver > direct_solver_ptr_t
void select_basis(const Vector *nu, MatrixOp *Gc, Permutation *P_var, Range1D *var_dep, Permutation *P_equ, Range1D *equ_decomp, MatrixOpNonsing *C, MatrixOp *D, MatrixOp *GcUP, EMatRelations mat_rel, std::ostream *out)
Sparse conversion subclass based on views of a MatrixExtractSparseElements object.
void update_basis(const MatrixOp &Gc, MatrixOpNonsing *C, MatrixOp *D, MatrixOp *GcUP, EMatRelations mat_rel, std::ostream *out) const
Aggregate matrix class pulling together a MatrixOp object and a MatrixNonsing object into a unified m...
Range1D equ_decomp() const