MoochoPack::CheckDescentQuasiNormalStep_Step Class Reference

Checks for descent in the decomposed equality constraints with respect to the range space step Ypy using finite differences. More...

#include <MoochoPack_CheckDescentQuasiNormalStep_Step.hpp>

Inheritance diagram for MoochoPack::CheckDescentQuasiNormalStep_Step:

[legend]
List of all members.

Overridden from AlgorithmStep

bool do_step (Algorithm &algo, poss_type step_poss, IterationPack::EDoStepType type, poss_type assoc_step_poss)
 
void print_step (const Algorithm &algo, poss_type step_poss, IterationPack::EDoStepType type, poss_type assoc_step_poss, std::ostream &out, const std::string &leading_str) const
 

Public Member Functions

void set_calc_fd_prod (const Teuchos::RefCountPtr< CalcFiniteDiffProd > &calc_fd_prod)
 Set the object that will compute the finite difference products.
 CheckDescentQuasiNormalStep_Step (const calc_fd_prod_ptr_t &calc_fd_prod)
 Constructor.

Detailed Description

Checks for descent in the decomposed equality constraints with respect to the range space step Ypy using finite differences.

This step class checks for descent in the feasibility measure q(x) = 1/2 * cd(x)'*cd(x) <: REAL of the decomposed equality constraints cd(x) = c(equ_decomp)(x) with respect to the range space step Ypy_k. The gradient of this feasibility measure is:


 grad(q(x),x) = grad(cd(x),x) * cd(x)
 
Therefore, we can determine if we have descent by checking grad(q(x),x)'*Ypy_k = cd(x)'*grad(cd(x),x)'*Ypy_k< 0. The product grad(c(x),x)'*Ypy_k is approximated with finite differences using the class MoochoPack::CalcFiniteDiffProd.

Definition at line 53 of file MoochoPack_CheckDescentQuasiNormalStep_Step.hpp.


Constructor & Destructor Documentation

MoochoPack::CheckDescentQuasiNormalStep_Step::CheckDescentQuasiNormalStep_Step const calc_fd_prod_ptr_t calc_fd_prod  ) 
 

Constructor.

Definition at line 45 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.


Member Function Documentation

void MoochoPack::CheckDescentQuasiNormalStep_Step::set_calc_fd_prod const Teuchos::RefCountPtr< CalcFiniteDiffProd > &  calc_fd_prod  )  [inline]
 

Set the object that will compute the finite difference products.

Definition at line 59 of file MoochoPack_CheckDescentQuasiNormalStep_Step.hpp.

bool MoochoPack::CheckDescentQuasiNormalStep_Step::do_step Algorithm algo,
poss_type  step_poss,
IterationPack::EDoStepType  type,
poss_type  assoc_step_poss
 

Definition at line 51 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.

void MoochoPack::CheckDescentQuasiNormalStep_Step::print_step const Algorithm algo,
poss_type  step_poss,
IterationPack::EDoStepType  type,
poss_type  assoc_step_poss,
std::ostream &  out,
const std::string &  leading_str
const
 

Definition at line 139 of file MoochoPack_CheckDescentQuasiNormalStep_Step.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:34:29 2008 for MoochoPack : Framework for Large-Scale Optimization Algorithms by doxygen 1.3.9.1