42 #ifndef ABSTRACT_LIN_ALG_PACK_BASIS_SYSTEM_H
43 #define ABSTRACT_LIN_ALG_PACK_BASIS_SYSTEM_H
45 #include "AbstractLinAlgPack_Types.hpp"
46 #include "Teuchos_AbstractFactory.hpp"
49 namespace AbstractLinAlgPack {
248 {
public:
SingularBasis(
const std::string& what_arg) : std::runtime_error(what_arg) {}};
450 ,std::ostream *out = NULL
466 #endif // ABSTRACT_LIN_ALG_PACK_BASIS_SYSTEM_H
Interface for the creation and maintainance of a basis matrix for a decomposition of linearlized cons...
virtual Range1D equ_undecomp() const
Range of undecomposed general equality constriants.
Teuchos::RCP< const Teuchos::AbstractFactory< MatrixOp > > mat_fcty_ptr_t
Teuchos::RCP< const Teuchos::AbstractFactory< MatrixOpNonsing > > mat_nonsing_fcty_ptr_t
virtual void update_basis(const MatrixOp &Gc, MatrixOpNonsing *C, MatrixOp *D, MatrixOp *GcUP, EMatRelations mat_rel=MATRICES_INDEP_IMPS, std::ostream *out=NULL) const =0
Update a basis and posssibly the direct sensitivity matrix for a set of Jacobian matrices.
virtual const mat_fcty_ptr_t factory_GcUP() const
Return a matrix factory object for auxiliary sensitivity matrix GcUP = Gc(var_indep,equ_undecomp)' + Gc(var_dep,equ_undecomp)'*D.
virtual Range1D var_indep() const =0
Range of independnet (nonbasic) variables.
virtual void initialize(const mat_sym_fcty_ptr_t &factory_transDtD, const mat_sym_nonsing_fcty_ptr_t &factory_S)
Initialize the factory objects for the special matrices for D'*D and S = I + D'*D.
Teuchos::RCP< const Teuchos::AbstractFactory< MatrixSymOp > > mat_sym_fcty_ptr_t
virtual const mat_fcty_ptr_t factory_D() const =0
Return a matrix factory object for sensitivity matrix D = -inv(C)*N.
Base class for all matrices that support basic matrix operations.
Teuchos::RCP< const Teuchos::AbstractFactory< MatrixSymOpNonsing > > mat_sym_nonsing_fcty_ptr_t
virtual Range1D var_dep() const =0
Range of dependent (basic) variables.
virtual Range1D equ_decomp() const
Range of decomposed general equality constraints.
virtual const mat_sym_nonsing_fcty_ptr_t factory_S() const
Returns a matrix factory for the result of S = I + D'*D
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...
virtual const mat_nonsing_fcty_ptr_t factory_C() const =0
Return a matrix factory object for basis C = [ Gc(var_dep,equ_decomp)'; Gh(var_dep,inequ_decomp)' ].