ConstrainedOptPack::MatrixDecompRangeOrthog Class Reference

Matrix subclass for variable reduction orthogonal matrix R = Gc(:,con_decomp)'*Y. More...

#include <ConstrainedOptPack_MatrixDecompRangeOrthog.hpp>

Inheritance diagram for ConstrainedOptPack::MatrixDecompRangeOrthog:

[legend]
List of all members.

Constructors/initializers

 MatrixDecompRangeOrthog ()
 Constructs uninitialized.
 MatrixDecompRangeOrthog (const C_ptr_t &C_ptr, const D_ptr_t &D_ptr, const S_ptr_t &S_ptr)
 Calls this->initialize().
void initialize (const C_ptr_t &C_ptr, const D_ptr_t &D_ptr, const S_ptr_t &S_ptr)
 Initialize the matrix object.
void set_uninitialized ()
 Make uninitialized.

Access

const C_ptr_t & C_ptr () const
 
const D_ptr_t & D_ptr () const
 
const S_ptr_t & S_ptr () const
 

Overridden from MatrixOp

size_type rows () const
 
size_type cols () const
 
const VectorSpace & space_cols () const
 
const VectorSpace & space_rows () const
 
std::ostream & output (std::ostream &out) const
 
void Vp_StMtV (VectorMutable *v_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2, value_type beta) const
 

Overridden from MatrixOpNonsing

void V_InvMtV (VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2) const
 

Detailed Description

Matrix subclass for variable reduction orthogonal matrix R = Gc(:,con_decomp)'*Y.

This matrix class is used to represent the matrix:


 R = C*(I + D*D')

 inv(R) =  inv(I + D*D') * inv(C)

        = (I - D * inv(I + D'*D) * D') * inv(C)
                       \______/
                          S
 
Above, the expresion for inv(R) is derived using the Sherman-Morrison-Woodbury formula. The nonsingular matrix S = I + D'*D is setup by the client, along with the basis matrix C and the direct sensitivity matrix D.

Definition at line 54 of file ConstrainedOptPack_MatrixDecompRangeOrthog.hpp.


Constructor & Destructor Documentation

ConstrainedOptPack::MatrixDecompRangeOrthog::MatrixDecompRangeOrthog  ) 
 

Constructs uninitialized.

Postconditions:

Definition at line 43 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.

ConstrainedOptPack::MatrixDecompRangeOrthog::MatrixDecompRangeOrthog const C_ptr_t &  C_ptr,
const D_ptr_t &  D_ptr,
const S_ptr_t &  S_ptr
 

Calls this->initialize().

Definition at line 46 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.


Member Function Documentation

void ConstrainedOptPack::MatrixDecompRangeOrthog::initialize const C_ptr_t &  C_ptr,
const D_ptr_t &  D_ptr,
const S_ptr_t &  S_ptr
 

Initialize the matrix object.

Parameters:
C_ptr [in]
D_ptr [in]
S_ptr [in]
Preconditions:
  • C_ptr.get() != NULL (throw std::invalid_argument)
  • D_ptr.get() != NULL (throw std::invalid_argument)
  • S_ptr.get() != NULL (throw std::invalid_argument)
  • C_ptr->space_rows().is_compatible(D_ptr->space_cols()) == true (throw VectorSpace::IncompatibleVectorSpaces)
  • S_ptr->space_cols().is_compatible(D_ptr->space_rows()) == true (throw VectorSpace::IncompatibleVectorSpaces)

Postconditions:

Definition at line 55 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.

void ConstrainedOptPack::MatrixDecompRangeOrthog::set_uninitialized  ) 
 

Make uninitialized.

Postconditions:

Definition at line 86 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.

const MatrixDecompRangeOrthog::C_ptr_t & ConstrainedOptPack::MatrixDecompRangeOrthog::C_ptr  )  const [inline]
 

Definition at line 201 of file ConstrainedOptPack_MatrixDecompRangeOrthog.hpp.

const MatrixDecompRangeOrthog::D_ptr_t & ConstrainedOptPack::MatrixDecompRangeOrthog::D_ptr  )  const [inline]
 

Definition at line 208 of file ConstrainedOptPack_MatrixDecompRangeOrthog.hpp.

const MatrixDecompRangeOrthog::S_ptr_t & ConstrainedOptPack::MatrixDecompRangeOrthog::S_ptr  )  const [inline]
 

Definition at line 215 of file ConstrainedOptPack_MatrixDecompRangeOrthog.hpp.

size_type ConstrainedOptPack::MatrixDecompRangeOrthog::rows  )  const [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 96 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.

size_type ConstrainedOptPack::MatrixDecompRangeOrthog::cols  )  const [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixBase.

Definition at line 101 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.

const VectorSpace & ConstrainedOptPack::MatrixDecompRangeOrthog::space_cols  )  const [virtual]
 

Implements AbstractLinAlgPack::MatrixBase.

Definition at line 106 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.

const VectorSpace & ConstrainedOptPack::MatrixDecompRangeOrthog::space_rows  )  const [virtual]
 

Implements AbstractLinAlgPack::MatrixBase.

Definition at line 111 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.

std::ostream & ConstrainedOptPack::MatrixDecompRangeOrthog::output std::ostream &  out  )  const [virtual]
 

Reimplemented from AbstractLinAlgPack::MatrixOp.

Definition at line 116 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.

void ConstrainedOptPack::MatrixDecompRangeOrthog::Vp_StMtV VectorMutable *  v_lhs,
value_type  alpha,
BLAS_Cpp::Transp  trans_rhs1,
const Vector &  v_rhs2,
value_type  beta
const [virtual]
 

Implements AbstractLinAlgPack::MatrixOp.

Definition at line 130 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.

void ConstrainedOptPack::MatrixDecompRangeOrthog::V_InvMtV VectorMutable *  v_lhs,
BLAS_Cpp::Transp  trans_rhs1,
const Vector &  v_rhs2
const [virtual]
 

Implements AbstractLinAlgPack::MatrixNonsing.

Definition at line 192 of file ConstrainedOptPack_MatrixDecompRangeOrthog.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:34:17 2008 for ConstrainedOptPack: C++ Tools for Constrained (and Unconstrained) Optimization by doxygen 1.3.9.1