MoochoPack::CheckDecompositionFromPy_Step Class Reference

Check if the decomposition is going singular and if it is select a new decomposition. More...

#include <MoochoPack_CheckDecompositionFromPy_Step.hpp>

Inheritance diagram for MoochoPack::CheckDecompositionFromPy_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 Types

typedef Teuchos::RefCountPtr<
NewDecompositionSelection_Strategy
new_decomp_strategy_ptr_t

Public Member Functions

void set_new_decomp_strategy (const Teuchos::RefCountPtr< NewDecompositionSelection_Strategy > &new_decomp_strategy)
 
Teuchos::RefCountPtr< NewDecompositionSelection_Strategyget_new_decomp_strategy () const
NewDecompositionSelection_Strategynew_decomp_strategy ()
const NewDecompositionSelection_Strategynew_decomp_strategy () const
void max_decomposition_cond_change_frac (const value_type &max_decomposition_cond_change_frac)
 
const value_typemax_decomposition_cond_change_frac () const
void max_cond (const value_type &max_cond)
 
const value_typemax_cond () const
 CheckDecompositionFromPy_Step (const new_decomp_strategy_ptr_t &new_decomp_strategy, value_type max_decomposition_cond_change_frac=100.0)
 
void reset ()
 Call the reset initialization of all defaults.

Private Member Functions

 CheckDecompositionFromPy_Step ()

Private Attributes

Teuchos::RefCountPtr< NewDecompositionSelection_Strategynew_decomp_strategy_
value_type max_decomposition_cond_change_frac_
value_type max_cond_
value_type beta_min_

Detailed Description

Check if the decomposition is going singular and if it is select a new decomposition.

This steps checks if the decomposition is going singular by looking to see if the computation for the range space step looks bad.

In particular we want to know how cond(R) is changing. We know that:

 py = -inv(R) * c
 --> ||py|| <= ||inv(R)|| * ||c||
 --> ||py|| / ||c|| <= ||inv(R)||
 --> ( ||py|| / ||c|| ) * ||R|| <= ||inv(R)|| * ||R|| = cond(R)
 

If we assume ||R|| > 1 we know that cond(R) > beta = ||py||/||c|| so if beta is very large then cond(R) is even larger. Since the best decomposition we can find may be fairly illconditioned we may not want to use and absolute measure of beta to determine if the decomposition is illconditioned. Instead we will look at the change in beta between iterations and if beta gets very much larger than its minimum value (i.e. beta / beta_min > max_cond_change ( default = 10000 ) ) then we will select a new decomposition. Also if beta > max_cond ( default = 0.01 / mach_eps ) then we know we will be computing inacurate solutions so we must select a new decomposition.

Definition at line 63 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.


Member Typedef Documentation

typedef Teuchos::RefCountPtr< NewDecompositionSelection_Strategy > MoochoPack::CheckDecompositionFromPy_Step::new_decomp_strategy_ptr_t
 

Definition at line 69 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.


Constructor & Destructor Documentation

MoochoPack::CheckDecompositionFromPy_Step::CheckDecompositionFromPy_Step const new_decomp_strategy_ptr_t new_decomp_strategy,
value_type  max_decomposition_cond_change_frac = 100.0
 

Definition at line 40 of file MoochoPack_CheckDecompositionFromPy_Step.cpp.

MoochoPack::CheckDecompositionFromPy_Step::CheckDecompositionFromPy_Step  )  [private]
 


Member Function Documentation

void MoochoPack::CheckDecompositionFromPy_Step::set_new_decomp_strategy const Teuchos::RefCountPtr< NewDecompositionSelection_Strategy > &  new_decomp_strategy  )  [inline]
 

Definition at line 69 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

Teuchos::RefCountPtr< NewDecompositionSelection_Strategy > MoochoPack::CheckDecompositionFromPy_Step::get_new_decomp_strategy  )  const [inline]
 

Definition at line 69 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

NewDecompositionSelection_Strategy& MoochoPack::CheckDecompositionFromPy_Step::new_decomp_strategy  )  [inline]
 

Definition at line 69 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

const NewDecompositionSelection_Strategy& MoochoPack::CheckDecompositionFromPy_Step::new_decomp_strategy  )  const [inline]
 

Definition at line 69 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

void MoochoPack::CheckDecompositionFromPy_Step::max_decomposition_cond_change_frac const value_type max_decomposition_cond_change_frac  )  [inline]
 

Definition at line 71 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

const value_type& MoochoPack::CheckDecompositionFromPy_Step::max_decomposition_cond_change_frac  )  const [inline]
 

Definition at line 71 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

void MoochoPack::CheckDecompositionFromPy_Step::max_cond const value_type max_cond  )  [inline]
 

Definition at line 73 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

const value_type& MoochoPack::CheckDecompositionFromPy_Step::max_cond  )  const [inline]
 

Definition at line 73 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

void MoochoPack::CheckDecompositionFromPy_Step::reset  ) 
 

Call the reset initialization of all defaults.

Definition at line 51 of file MoochoPack_CheckDecompositionFromPy_Step.cpp.

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

Definition at line 57 of file MoochoPack_CheckDecompositionFromPy_Step.cpp.

void MoochoPack::CheckDecompositionFromPy_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 128 of file MoochoPack_CheckDecompositionFromPy_Step.cpp.


Member Data Documentation

Teuchos::RefCountPtr< NewDecompositionSelection_Strategy > MoochoPack::CheckDecompositionFromPy_Step::new_decomp_strategy_ [private]
 

Definition at line 69 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

value_type MoochoPack::CheckDecompositionFromPy_Step::max_decomposition_cond_change_frac_ [private]
 

Definition at line 71 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

value_type MoochoPack::CheckDecompositionFromPy_Step::max_cond_ [private]
 

Definition at line 73 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.

value_type MoochoPack::CheckDecompositionFromPy_Step::beta_min_ [private]
 

Definition at line 96 of file MoochoPack_CheckDecompositionFromPy_Step.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:36:19 2008 for MOOCHO (Single Doxygen Collection) by doxygen 1.3.9.1