ConstrainedOptPack: C++ Tools for Constrained (and Unconstrained) Optimization Version of the Day
ConstrainedOptPack::DecompositionSystemOrthogonal Class Reference

Orthogonal variable reduction subclass. More...

#include <ConstrainedOptPack_DecompositionSystemOrthogonal.hpp>

Inheritance diagram for ConstrainedOptPack::DecompositionSystemOrthogonal:
Inheritance graph

List of all members.

Constructors / initializers

 DecompositionSystemOrthogonal (const VectorSpace::space_ptr_t &space_x=Teuchos::null, const VectorSpace::space_ptr_t &space_c=Teuchos::null, const basis_sys_ptr_t &basis_sys=Teuchos::null, const basis_sys_tester_ptr_t &basis_sys_tester=Teuchos::null, EExplicitImplicit D_imp=MAT_IMP_EXPLICIT, EExplicitImplicit Uz_imp=MAT_IMP_EXPLICIT)

Overridden from DecompositionSystem

const mat_fcty_ptr_t factory_Y () const
const mat_nonsing_fcty_ptr_t factory_R () const
const mat_fcty_ptr_t factory_Uy () const

Overridden from DecompositionSystemVarReductImp

void update_D_imp_used (EExplicitImplicit *D_imp_used) const
mat_nonsing_fcty_ptr_t::element_type::obj_ptr_t uninitialize_matrices (std::ostream *out, EOutputLevel olevel, MatrixOp *Y, MatrixOpNonsing *R, MatrixOp *Uy) const
void initialize_matrices (std::ostream *out, EOutputLevel olevel, const mat_nonsing_fcty_ptr_t::element_type::obj_ptr_t &C, const mat_fcty_ptr_t::element_type::obj_ptr_t &D, MatrixOp *Y, MatrixOpNonsing *R, MatrixOp *Uy, EMatRelations mat_rel) const
void print_update_matrices (std::ostream &out, const std::string &leading_str) const

Detailed Description

Orthogonal variable reduction subclass.

This is the interface for the coordinate variable reduction decomposition where:

  Y = [      I     ] = [  I  ]  (class MatrixIdentConcatStd)
      [ N'*inv(C') ]   [ -D' ]

  R = Gc(:,con_decomp)'*Y = [ C   N ] * [     I      ] = (C + N*N'*inv(C'))
                                        [ N'*inv(C') ]
    = C*(I + inv(C)*N*N'*inv(C'))
    = C*(I + D*D')

  Uy = Gc(:,con_undecomp)'*Y = [ E  F ] * [  I  ]
                                          [ -D' ]
      = E - F*D'


See the matrix subclass MatrixDecompRangeOrthog for details on how linear systems with R are solved for.

For now the copy constructor and the assignment operator are not defined.

Definition at line 74 of file ConstrainedOptPack_DecompositionSystemOrthogonal.hpp.

Constructor & Destructor Documentation

ConstrainedOptPack::DecompositionSystemOrthogonal::DecompositionSystemOrthogonal ( const VectorSpace::space_ptr_t &  space_x = Teuchos::null,
const VectorSpace::space_ptr_t &  space_c = Teuchos::null,
const basis_sys_ptr_t basis_sys = Teuchos::null,
const basis_sys_tester_ptr_t &  basis_sys_tester = Teuchos::null,
EExplicitImplicit  D_imp = MAT_IMP_EXPLICIT,
EExplicitImplicit  Uz_imp = MAT_IMP_EXPLICIT 

Member Function Documentation

const DecompositionSystem::mat_fcty_ptr_t ConstrainedOptPack::DecompositionSystemOrthogonal::factory_Y ( ) const [virtual]
const DecompositionSystem::mat_nonsing_fcty_ptr_t ConstrainedOptPack::DecompositionSystemOrthogonal::factory_R ( ) const [virtual]
const DecompositionSystem::mat_fcty_ptr_t ConstrainedOptPack::DecompositionSystemOrthogonal::factory_Uy ( ) const [virtual]
void ConstrainedOptPack::DecompositionSystemOrthogonal::update_D_imp_used ( EExplicitImplicit D_imp_used) const [protected, virtual]
DecompositionSystem::mat_nonsing_fcty_ptr_t::element_type::obj_ptr_t ConstrainedOptPack::DecompositionSystemOrthogonal::uninitialize_matrices ( std::ostream *  out,
EOutputLevel  olevel,
MatrixOp *  Y,
MatrixOpNonsing R,
MatrixOp *  Uy 
) const [protected, virtual]
void ConstrainedOptPack::DecompositionSystemOrthogonal::initialize_matrices ( std::ostream *  out,
EOutputLevel  olevel,
const mat_nonsing_fcty_ptr_t::element_type::obj_ptr_t &  C,
const mat_fcty_ptr_t::element_type::obj_ptr_t &  D,
MatrixOp *  Y,
MatrixOpNonsing R,
MatrixOp *  Uy,
EMatRelations  mat_rel 
) const [protected, virtual]
void ConstrainedOptPack::DecompositionSystemOrthogonal::print_update_matrices ( std::ostream &  out,
const std::string &  leading_str 
) const [protected, virtual]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends