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

Reorganization is performed if r is bigger than r0 but in coordinate system of r. More...

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

Public Member Functions

template<class SetType >
void reorganizeIfNeeded (SetType &result) const
 
std::string name () const
 
std::string toString () const
 
template<class VectorT , class MatrixT >
void computeBinvB (MatrixT &B, MatrixT &invB, const VectorT &) const
 
template<class SetType >
void reorganize (SetType &) const
 
template<class SetType >
bool isReorganizationNeeded (const 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 ()
 
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 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 ()
 

Protected Attributes

double m_c0Factor
 
double m_c1Factor
 
double m_c2Factor
 
bool m_onoff
 

Detailed Description

template<typename BasePolicy = DefaultPolicy>
class capd::dynset::SwapReorganization< BasePolicy >

Reorganization is performed if r is bigger than r0 but in coordinate system of r.

Works for doubleton sets, represented as: x + C*r0 + B*r.

Reorganization takes place if size of r is greater then size of B^{-1}*C*r0 times given factor.

Member Function Documentation

◆ disableReorganization() [1/2]

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

◆ disableReorganization() [2/2]

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

◆ getC0Factor()

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

returns current value of c0Factor;

◆ getC1Factor()

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

returns current value of c1Factor;

◆ getC2Factor()

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

returns current value of c2Factor;

◆ isReorganizationEnabled()

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

returns current value of the flag which controls possibility of reorganization

◆ isReorganizationNeeded() [1/2]

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

◆ isReorganizationNeeded() [2/2]

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

◆ name()

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

◆ onoffReorganization()

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

sets the flag which controls possibility of reorganization to new value

◆ reorganize() [1/3]

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
inlineinherited

◆ reorganize() [2/3]

template<class SetType >
void capd::dynset::NoReorganization::reorganize ( SetType &  ) const
inlineinherited

◆ reorganize() [3/3]

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

◆ 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
inlineinherited

◆ reorganizeC1() [2/2]

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

◆ reorganizeC1IfNeeded() [1/2]

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

◆ reorganizeC1IfNeeded() [2/2]

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
inlineinherited

◆ reorganizeC2IfNeeded() [1/2]

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

◆ reorganizeC2IfNeeded() [2/2]

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

◆ reorganizeIfNeeded() [1/3]

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

◆ reorganizeIfNeeded() [2/3]

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

◆ reorganizeIfNeeded() [3/3]

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

◆ setC0Factor()

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

sets new value of c0Factor;

◆ setC1Factor()

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

sets new value of c1Factor;

◆ setC2Factor()

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

sets new value of c2Factor;

◆ setFactor()

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

sets c0,c1,c2 factors to new value

◆ toString()

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

Member Data Documentation

◆ m_c0Factor

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

◆ m_c1Factor

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

◆ m_c2Factor

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

◆ m_onoff

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