CAPD DynSys Library  5.2.0
capd::dynset::FactorPolicy< BasePolicy > Class Template Reference

#include <capd/dynset/reorganization/FactorPolicy.h>

Public Member Functions

 FactorPolicy ()
 
template<class SetType >
void reorganize (SetType &result) const
 
template<class Matrix1 , class Matrix2 , class Vector >
void reorganize (Matrix1 &B, Matrix2 &invB, Vector &r, Matrix1 &C, Vector &r0) const
 
template<class SetType >
void reorganizeC1 (SetType &result) const
 
template<class Matrix >
void reorganizeC1 (Matrix &B, Matrix &invB, Matrix &R, Matrix &C, Matrix &R0) const
 
template<class Matrix , class HessianT >
void reorganizeC2 (Matrix &B, Matrix &invB, HessianT &R, Matrix &C, HessianT &R0) const
 
void setFactor (double A_factor)
 sets c0,c1,c2 factors to new value More...
 
void setC0Factor (double A_factor)
 sets new value of c0Factor; More...
 
void setC1Factor (double A_factor)
 sets new value of c1Factor; More...
 
void setC2Factor (double A_factor)
 sets new value of c2Factor; More...
 
double getC0Factor () const
 returns current value of c0Factor; More...
 
double getC1Factor () const
 returns current value of c1Factor; More...
 
double getC2Factor () const
 returns current value of c2Factor; More...
 
void onoffReorganization (bool flag)
 sets the flag which controls possibility of reorganization to new value More...
 
bool isReorganizationEnabled () const
 returns current value of the flag which controls possibility of reorganization More...
 
std::string toString () const
 
template<class VectorT , class MatrixT >
void computeBinvB (MatrixT &B, MatrixT &invB, const VectorT &) const
 
template<class SetType >
bool isReorganizationNeeded (const SetType &) const
 
template<class SetType >
bool reorganizeIfNeeded (SetType &) const
 
template<class Matrix1 , class Matrix2 , class Vector >
bool reorganizeIfNeeded (Matrix1 &, Matrix2 &, Vector &, Matrix1 &, Vector &) const
 
template<class Matrix >
bool reorganizeC1IfNeeded (Matrix &, Matrix &, Matrix &, Matrix &, Matrix &) const
 
template<class Matrix , class Hessian >
bool reorganizeC2IfNeeded (Matrix &, Matrix &, Hessian &, Matrix &, Hessian &) const
 
void disableReorganization ()
 
std::string name () const
 

Protected Attributes

double m_c0Factor
 
double m_c1Factor
 
double m_c2Factor
 
bool m_onoff
 

Constructor & Destructor Documentation

◆ FactorPolicy()

template<typename BasePolicy = DefaultPolicy>
capd::dynset::FactorPolicy< BasePolicy >::FactorPolicy ( )
inline

Member Function Documentation

◆ disableReorganization()

void capd::dynset::NoReorganization::disableReorganization ( )
inlineinherited

◆ getC0Factor()

template<typename BasePolicy = DefaultPolicy>
double capd::dynset::FactorPolicy< BasePolicy >::getC0Factor ( ) const
inline

returns current value of c0Factor;

◆ getC1Factor()

template<typename BasePolicy = DefaultPolicy>
double capd::dynset::FactorPolicy< BasePolicy >::getC1Factor ( ) const
inline

returns current value of c1Factor;

◆ getC2Factor()

template<typename BasePolicy = DefaultPolicy>
double capd::dynset::FactorPolicy< BasePolicy >::getC2Factor ( ) const
inline

returns current value of c2Factor;

◆ isReorganizationEnabled()

template<typename BasePolicy = DefaultPolicy>
bool capd::dynset::FactorPolicy< BasePolicy >::isReorganizationEnabled ( ) const
inline

returns current value of the flag which controls possibility of reorganization

◆ isReorganizationNeeded()

template<class SetType >
bool capd::dynset::NoReorganization::isReorganizationNeeded ( const SetType &  ) const
inlineinherited

◆ name()

std::string capd::dynset::NoReorganization::name ( ) const
inlineinherited

◆ onoffReorganization()

template<typename BasePolicy = DefaultPolicy>
void capd::dynset::FactorPolicy< BasePolicy >::onoffReorganization ( bool  flag)
inline

sets the flag which controls possibility of reorganization to new value

◆ reorganize() [1/2]

template<typename BasePolicy = DefaultPolicy>
template<class Matrix1 , class Matrix2 , class Vector >
void capd::dynset::FactorPolicy< BasePolicy >::reorganize ( Matrix1 &  B,
Matrix2 &  invB,
Vector &  r,
Matrix1 &  C,
Vector &  r0 
) const
inline

◆ reorganize() [2/2]

template<typename BasePolicy = DefaultPolicy>
template<class SetType >
void capd::dynset::FactorPolicy< BasePolicy >::reorganize ( SetType &  result) const
inline

◆ reorganizeC1() [1/2]

template<typename BasePolicy = DefaultPolicy>
template<class Matrix >
void capd::dynset::FactorPolicy< BasePolicy >::reorganizeC1 ( Matrix &  B,
Matrix &  invB,
Matrix &  R,
Matrix &  C,
Matrix &  R0 
) const
inline

◆ reorganizeC1() [2/2]

template<typename BasePolicy = DefaultPolicy>
template<class SetType >
void capd::dynset::FactorPolicy< BasePolicy >::reorganizeC1 ( SetType &  result) const
inline

◆ reorganizeC1IfNeeded()

template<class Matrix >
bool capd::dynset::NoReorganization::reorganizeC1IfNeeded ( Matrix &  ,
Matrix &  ,
Matrix &  ,
Matrix &  ,
Matrix &   
) const
inlineinherited

◆ reorganizeC2()

template<typename BasePolicy = DefaultPolicy>
template<class Matrix , class HessianT >
void capd::dynset::FactorPolicy< BasePolicy >::reorganizeC2 ( Matrix &  B,
Matrix &  invB,
HessianT &  R,
Matrix &  C,
HessianT &  R0 
) const
inline

◆ reorganizeC2IfNeeded()

template<class Matrix , class Hessian >
bool capd::dynset::NoReorganization::reorganizeC2IfNeeded ( Matrix &  ,
Matrix &  ,
Hessian &  ,
Matrix &  ,
Hessian &   
) const
inlineinherited

◆ reorganizeIfNeeded() [1/2]

template<class Matrix1 , class Matrix2 , class Vector >
bool capd::dynset::NoReorganization::reorganizeIfNeeded ( Matrix1 &  ,
Matrix2 &  ,
Vector &  ,
Matrix1 &  ,
Vector &   
) const
inlineinherited

◆ reorganizeIfNeeded() [2/2]

template<class SetType >
bool capd::dynset::NoReorganization::reorganizeIfNeeded ( SetType &  ) const
inlineinherited

◆ setC0Factor()

template<typename BasePolicy = DefaultPolicy>
void capd::dynset::FactorPolicy< BasePolicy >::setC0Factor ( double  A_factor)
inline

sets new value of c0Factor;

◆ setC1Factor()

template<typename BasePolicy = DefaultPolicy>
void capd::dynset::FactorPolicy< BasePolicy >::setC1Factor ( double  A_factor)
inline

sets new value of c1Factor;

◆ setC2Factor()

template<typename BasePolicy = DefaultPolicy>
void capd::dynset::FactorPolicy< BasePolicy >::setC2Factor ( double  A_factor)
inline

sets new value of c2Factor;

◆ setFactor()

template<typename BasePolicy = DefaultPolicy>
void capd::dynset::FactorPolicy< BasePolicy >::setFactor ( double  A_factor)
inline

sets c0,c1,c2 factors to new value

◆ toString()

template<typename BasePolicy = DefaultPolicy>
std::string capd::dynset::FactorPolicy< BasePolicy >::toString ( ) const
inline

Member Data Documentation

◆ m_c0Factor

template<typename BasePolicy = DefaultPolicy>
double capd::dynset::FactorPolicy< BasePolicy >::m_c0Factor
protected

◆ m_c1Factor

template<typename BasePolicy = DefaultPolicy>
double capd::dynset::FactorPolicy< BasePolicy >::m_c1Factor
protected

◆ m_c2Factor

template<typename BasePolicy = DefaultPolicy>
double capd::dynset::FactorPolicy< BasePolicy >::m_c2Factor
protected

◆ m_onoff

template<typename BasePolicy = DefaultPolicy>
bool capd::dynset::FactorPolicy< BasePolicy >::m_onoff
protected