DecompositionSystem for variable reduction decompositions.
More...
#include <ConstrainedOptPack_DecompositionSystemVarReductImp.hpp>
Inheritance diagram for ConstrainedOptPack::DecompositionSystemVarReductImp:
Public types | |
| typedef DecompositionSystem | inherited |
| | |
| typedef Teuchos::RefCountPtr< const BasisSystem > | basis_sys_ptr_t |
| | |
Constructors / initializers | |
| void | set_basis_sys_tester (const Teuchos::RefCountPtr< BasisSystemTester > &basis_sys_tester) |
| Set the BasisSystem tester object. | |
| DecompositionSystemVarReductImp (const VectorSpace::space_ptr_t &space_x, const VectorSpace::space_ptr_t &space_c, const basis_sys_ptr_t &basis_sys, const basis_sys_tester_ptr_t &basis_sys_tester, EExplicitImplicit D_imp, EExplicitImplicit Uz_imp) | |
| Construct a variable reduction decomposition. | |
Access | |
| const VectorSpace::space_ptr_t & | space_x () const |
| | |
| const VectorSpace::space_ptr_t & | space_c () const |
| | |
| const basis_sys_ptr_t & | basis_sys () const |
| | |
Basis manipulation | |
| void | get_basis_matrices (std::ostream *out, EOutputLevel olevel, ERunTests test_what, MatrixOp *Z, MatrixOp *Y, MatrixOpNonsing *R, MatrixOp *Uz, MatrixOp *Uy, Teuchos::RefCountPtr< MatrixOpNonsing > *C_ptr, Teuchos::RefCountPtr< MatrixOp > *D_ptr) |
| Called by client to uninitialize decomposition matrices in prepairation for selecting a different basis. | |
| void | set_basis_matrices (std::ostream *out, EOutputLevel olevel, ERunTests test_what, const Teuchos::RefCountPtr< MatrixOpNonsing > &C_ptr, const Teuchos::RefCountPtr< MatrixOp > &D_ptr, MatrixOp *Uz, const basis_sys_ptr_t &basis_sys=Teuchos::null) |
| Set updated basis matrices along with a possibly updated basis system object. | |
| EExplicitImplicit | D_imp_used () const |
| Get the type of D matrix to be used or is being used (returns MAT_IMP_EXPLICIT or MAT_IMP_IMPLICIT only). | |
Overridden from DecompositionSystem | |
| size_type | n () const |
Returns this->space_x()->dim(). | |
| size_type | m () const |
Returns this->space_c()->dim(). | |
| size_type | r () const |
Returns this->basis_sys()->equ_decomp().size(). | |
| const VectorSpace::space_ptr_t | space_range () const |
Returns this->space_x()->sub_space(var_dep). | |
| const VectorSpace::space_ptr_t | space_null () const |
Returns this->space_x()->sub_space(var_indep). | |
| const mat_fcty_ptr_t | factory_Z () const |
| | |
| const mat_fcty_ptr_t | factory_Uz () const |
| | |
| 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 |
| void | print_update_decomp (std::ostream &out, const std::string &leading_str) const |
| | |
Overridden from DecompositionSystemVarReduct | |
| Range1D | var_indep () const |
| | |
| Range1D | var_dep () const |
| | |
Public Member Functions | |
| void | initialize (const VectorSpace::space_ptr_t &space_x, const VectorSpace::space_ptr_t &space_c, const basis_sys_ptr_t &basis_sys) |
| Initialize. | |
Protected Member Functions | |
| virtual void | update_D_imp_used (EExplicitImplicit *D_imp_used) const |
| Update D_imp_used. | |
| virtual mat_nonsing_fcty_ptr_t::element_type::obj_ptr_t | uninitialize_matrices (std::ostream *out, EOutputLevel olevel, MatrixOp *Y, MatrixOpNonsing *R, MatrixOp *Uy) const =0 |
| Overridden by subclasses to uninitialized Y, R and Uy then return C if referenced. | |
| virtual void | initialize_matrices (std::ostream *out, EOutputLevel olevel, const mat_nonsing_fcty_ptr_t::element_type::obj_ptr_t &C_ptr, const mat_fcty_ptr_t::element_type::obj_ptr_t &D_ptr, MatrixOp *Y, MatrixOpNonsing *R, MatrixOp *Uy, EMatRelations mat_rel) const =0 |
| Overridden by subclasses to initialize Y, R and Uy given C and D. | |
| virtual void | print_update_matrices (std::ostream &out, const std::string &leading_str) const =0 |
| Print the sub-algorithm by which the matrices Y, R, Uy and Uy are updated. | |
DecompositionSystem for variable reduction decompositions.
This interface abstracts a variable reduction decomposition where:
Gc' = [ C N ]
[ E F ]
Z = [ D ]
[ I ]
Uz = F + E * D
where:
C = Gc(var_dep,equ_decomp)' [nonsingular]
N = Gc(var_indep,equ_decomp)'
E = Gc(var_dep,equ_undecomp)'
F = Gc(var_indep,equ_undecomp)'
D = -inv(C) * N
Above, C is a r x r nonsingular matrix. Subclasses define how Y is defined which in turn determines how R and Uy are defined.
The implementation of this subclass is completly determined by an aggregate BasisSytem object. Since the BasisSystem interface does not allow any permutations of the basis to be performed ???.
Subclass implementors notes:
It is up to subclasses to override factory_R() and factory_Uy() in order to define the types for R and Uy respectively.
ToDo: Finish documentation!
Definition at line 79 of file ConstrainedOptPack_DecompositionSystemVarReductImp.hpp.
|
|
Definition at line 86 of file ConstrainedOptPack_DecompositionSystemVarReductImp.hpp. |
|
|
Definition at line 88 of file ConstrainedOptPack_DecompositionSystemVarReductImp.hpp. |
|
||||||||||||||||||||||||||||
|
Construct a variable reduction decomposition.
Calls Preconditions:
Postconditions:
Definition at line 42 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
|
Set the BasisSystem tester object.
Definition at line 96 of file ConstrainedOptPack_DecompositionSystemVarReductImp.hpp. |
|
||||||||||||||||
|
Initialize.
Postconditions:
Definition at line 57 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
Called by client to uninitialize decomposition matrices in prepairation for selecting a different basis.
Postconditions:
Definition at line 101 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
||||||||||||||||||||||||||||||||
|
Set updated basis matrices along with a possibly updated basis system object.
It is expected that immediatly after this method is called that Definition at line 271 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
|
Get the type of D matrix to be used or is being used (returns MAT_IMP_EXPLICIT or MAT_IMP_IMPLICIT only).
Definition at line 420 of file ConstrainedOptPack_DecompositionSystemVarReductImp.hpp. |
|
|
Returns
Reimplemented from ConstrainedOptPack::DecompositionSystem. Definition at line 293 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
|
Returns
Implements ConstrainedOptPack::DecompositionSystem. Definition at line 301 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
|
Returns
Reimplemented from ConstrainedOptPack::DecompositionSystem. Definition at line 309 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
|
Returns
Implements ConstrainedOptPack::DecompositionSystem. |
|
|
Returns
Implements ConstrainedOptPack::DecompositionSystem. |
|
|
Implements ConstrainedOptPack::DecompositionSystem. Definition at line 334 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
|
Implements ConstrainedOptPack::DecompositionSystem. Definition at line 343 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
||||||||||||||||||||||||||||||||||||||||||||
|
Preconditions:
Implements ConstrainedOptPack::DecompositionSystem. Definition at line 348 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
||||||||||||
|
Implements ConstrainedOptPack::DecompositionSystem. Definition at line 613 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
|
Implements ConstrainedOptPack::DecompositionSystemVarReduct. Definition at line 638 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
|
Implements ConstrainedOptPack::DecompositionSystemVarReduct. Definition at line 643 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
|
Update D_imp_used.
Reimplemented in ConstrainedOptPack::DecompositionSystemOrthogonal. Definition at line 650 of file ConstrainedOptPack_DecompositionSystemVarReductImp.cpp. |
|
||||||||||||||||||||||||
|
Overridden by subclasses to uninitialized Y, R and Uy then return C if referenced.
Note that the returned smart pointer to ToDo: Finish documentatation! ` Implemented in ConstrainedOptPack::DecompositionSystemCoordinate, and ConstrainedOptPack::DecompositionSystemOrthogonal. |
|
||||||||||||||||||||||||||||||||||||
|
Overridden by subclasses to initialize Y, R and Uy given C and D. If C_ptr.has_ownership() == false, then the subclass implementation of this method will use clone_mwons() to clone it so that the output matrices are independent. ToDo: Finish documentatation! ` Implemented in ConstrainedOptPack::DecompositionSystemCoordinate, and ConstrainedOptPack::DecompositionSystemOrthogonal. |
|
||||||||||||
|
Print the sub-algorithm by which the matrices Y, R, Uy and Uy are updated. ToDo: Finish documentatation! Implemented in ConstrainedOptPack::DecompositionSystemCoordinate, and ConstrainedOptPack::DecompositionSystemOrthogonal. |
1.3.9.1