50 namespace ConstrainedOptPack {
62 this->
initialize(decomp_sys_imp,basis_sys,basis_selected,D_imp,Uz_imp);
107 const VectorSpace::space_ptr_t
113 const VectorSpace::space_ptr_t
135 if( factory_R.
get() != NULL )
168 out,olevel,test_what,Gc,Z,Y
174 std::ostream&
out,
const std::string& L )
const
215 ,
const Permutation &P_var
217 ,
const Permutation *P_equ
237 out, olevel, test_what
252 ? BasisSystem::MATRICES_INDEP_IMPS : BasisSystem::MATRICES_ALLOW_DEP_IMPS )
256 catch(
const BasisSystem::SingularBasis& except ) {
258 *out <<
"Passed in basis is singular, throwing SingularDecomposition: "
259 << except.what() << std::endl;
262 ,
"DecompositionSystemVarReductPermStd::set_decomp(...): Passed in basis selection "
263 "gave a singular basis matrix! : " << except.what() );
272 out, olevel, test_what
281 out,olevel,test_what,Gc,Z,Y,R
318 out, olevel, test_what
333 ? BasisSystem::MATRICES_INDEP_IMPS : BasisSystem::MATRICES_ALLOW_DEP_IMPS )
340 <<
"\nSelected a new basis\n"
341 <<
"\nbs.var_dep() = ["<<var_dep->lbound()<<
","<<var_dep->ubound()<<
"]"
342 <<
"\nds.var_indep() = ["<<var_indep.lbound()<<
","<<var_indep.ubound()<<
"]"
343 <<
"\nds.equ_decomp() = ["<<equ_decomp->lbound()<<
","<<equ_decomp->ubound()<<
"]"
349 <<
"\nP_var =\n" << *P_var
350 <<
"\nP_equ =\n" << *P_equ
355 <<
"\nGc =\n" << *Gc;
366 out, olevel, test_what
375 out,olevel,test_what,*Gc,Z,Y,R
390 ,
"DecompositionSystemVarReductPermStd::assert_basis_selected(): Error, "
391 "the methods set_decomp() or select_decomp() must be called first!" );
basis_sys_ptr_t basis_sys_
f_dbl_prec const f_int f_dbl_prec * Y
const mat_fcty_ptr_t factory_Y() const
AbstractLinAlgPack::size_type size_type
const decomp_sys_imp_ptr_t & decomp_sys_imp() const
Range1D equ_decomp() const
void initialize(const decomp_sys_imp_ptr_t &decomp_sys_imp, const basis_sys_ptr_t &basis_sys, bool basis_selected=false, EExplicitImplicit D_imp=MAT_IMP_AUTO, EExplicitImplicit Uz_imp=MAT_IMP_AUTO)
Initialize given decomposition system and basis system objects.
EOutputLevel
Enumeration for the amount of output to create from update_decomp().
void assert_basis_selected() const
ERunTests
Enumeration for if to run internal tests or not.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
void set_decomp(std::ostream *out, EOutputLevel olevel, ERunTests test_what, const Permutation &P_var, const Range1D &var_dep, const Permutation *P_equ, const Range1D *equ_decomp, const MatrixOp &Gc, MatrixOp *Z, MatrixOp *Y, MatrixOpNonsing *R, MatrixOp *Uz, MatrixOp *Uy, EMatRelations mat_rel)
void update_decomp(std::ostream *out, EOutputLevel olevel, ERunTests test_what, const MatrixOp &Gc, MatrixOp *Z, MatrixOp *Y, MatrixOpNonsing *R, MatrixOp *Uz, MatrixOp *Uy, EMatRelations mat_rel) const
const mat_nonsing_fcty_ptr_t factory_R() const
Range1D var_indep() const
const mat_fcty_ptr_t factory_Z() const
void print_update_decomp(std::ostream &out, const std::string &leading_str) const
const mat_fcty_ptr_t factory_Uz() const
const perm_fcty_ptr_t factory_P_var() const
const mat_fcty_ptr_t factory_Uy() const
const perm_fcty_ptr_t factory_P_equ() const
const VectorSpace::space_ptr_t space_range() const
DecompositionSystemVarReductPermStd()
const VectorSpace::space_ptr_t space_null() const
const basis_sys_ptr_t & basis_sys() const
void select_decomp(std::ostream *out, EOutputLevel olevel, ERunTests test_what, const Vector *nu, MatrixOp *Gc, Permutation *P_var, Range1D *var_dep, Permutation *P_equ, Range1D *equ_decomp, MatrixOp *Z, MatrixOp *Y, MatrixOpNonsing *R, MatrixOp *Uz, MatrixOp *Uy, EMatRelations mat_rel)
RangePack::Range1D Range1D
Range1D equ_undecomp() const
decomp_sys_imp_ptr_t decomp_sys_imp_