CAPD::DynSys Library  6.0.0
capd::dynset::InvBByCFactorReorganization< BasePolicy > Class Template Reference

Factor based reorganization for C1 sets. More...

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

Public Member Functions

template<class Matrix , class Vector >
bool isReorganizationNeeded (const Matrix &invB, const Matrix &C, const Vector &r, const Vector &r0) const
 
template<class SetType >
bool isReorganizationNeeded (const SetType &result) const
 
template<class SetType >
bool reorganizeIfNeeded (SetType &result) const
 makes reorganization if needed. More...
 
template<class Matrix , class Vector >
bool reorganizeIfNeeded (Matrix &B, Matrix &invB, Vector &r, Matrix &C, Vector &r0) const
 
template<class SetType >
bool isC1ReorganizationNeeded (const SetType &result) const
 
template<class Matrix >
bool isC1ReorganizationNeeded (const Matrix &invB, const Matrix &C, const Matrix &R, const Matrix &R0) const
 
template<class Matrix >
bool reorganizeC1IfNeeded (Matrix &B, Matrix &invB, Matrix &R, Matrix &C, Matrix &R0) const
 
template<class SetType >
bool reorganizeC1IfNeeded (SetType &result) const
 makes reorganization if needed. return true if reorganization was performed More...
 
std::string name () const
 
void reorganize (SetType &result) const
 
void reorganize (Matrix1 &B, Matrix2 &invB, Vector &r, Matrix1 &C, Vector &r0) const
 
void reorganizeC1 (SetType &result) const
 
void reorganizeC1 (Matrix &B, Matrix &invB, Matrix &R, Matrix &C, Matrix &R0) const
 
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 Matrix1 , class Matrix2 , class Vector >
bool reorganizeIfNeeded (Matrix1 &, Matrix2 &, Vector &, Matrix1 &, Vector &) 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::InvBByCFactorReorganization< BasePolicy >

Factor based reorganization for C1 sets.

Works for C1 doubleton sets. We assume that C1 part is represented as: X + Cjac*R0 + Bjac*R.

Reorganization of C1 part takes place if size of R is greater then size of R0 times given C1factor.

Reorganization of C0 part depends on C0ReorganizationT base class.

Previously it was built-in into C1Rect2.

Member Function Documentation

◆ disableReorganization()

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

◆ getC0Factor()

double capd::dynset::FactorPolicy< DefaultPolicy >::getC0Factor ( ) const
inlineinherited

returns current value of c0Factor;

◆ getC1Factor()

double capd::dynset::FactorPolicy< DefaultPolicy >::getC1Factor ( ) const
inlineinherited

returns current value of c1Factor;

◆ getC2Factor()

double capd::dynset::FactorPolicy< DefaultPolicy >::getC2Factor ( ) const
inlineinherited

returns current value of c2Factor;

◆ isReorganizationEnabled()

bool capd::dynset::FactorPolicy< DefaultPolicy >::isReorganizationEnabled ( ) const
inlineinherited

returns current value of the flag which controls possibility of reorganization

◆ onoffReorganization()

void capd::dynset::FactorPolicy< DefaultPolicy >::onoffReorganization ( bool  flag)
inlineinherited

sets the flag which controls possibility of reorganization to new value

◆ reorganize() [1/2]

void capd::dynset::FactorPolicy< DefaultPolicy >::reorganize ( Matrix1 &  B,
Matrix2 &  invB,
Vector &  r,
Matrix1 &  C,
Vector &  r0 
) const
inlineinherited

◆ reorganize() [2/2]

void capd::dynset::FactorPolicy< DefaultPolicy >::reorganize ( SetType &  result) const
inlineinherited

◆ reorganizeC1() [1/2]

void capd::dynset::FactorPolicy< DefaultPolicy >::reorganizeC1 ( Matrix &  B,
Matrix &  invB,
Matrix &  R,
Matrix &  C,
Matrix &  R0 
) const
inlineinherited

◆ reorganizeC1() [2/2]

void capd::dynset::FactorPolicy< DefaultPolicy >::reorganizeC1 ( SetType &  result) const
inlineinherited

◆ reorganizeC2()

void capd::dynset::FactorPolicy< DefaultPolicy >::reorganizeC2 ( Matrix &  B,
Matrix &  invB,
HessianT &  R,
Matrix &  C,
HessianT &  R0 
) const
inlineinherited

◆ reorganizeC2IfNeeded()

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

◆ reorganizeIfNeeded()

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

◆ setC0Factor()

void capd::dynset::FactorPolicy< DefaultPolicy >::setC0Factor ( double  A_factor)
inlineinherited

sets new value of c0Factor;

◆ setC1Factor()

void capd::dynset::FactorPolicy< DefaultPolicy >::setC1Factor ( double  A_factor)
inlineinherited

sets new value of c1Factor;

◆ setC2Factor()

void capd::dynset::FactorPolicy< DefaultPolicy >::setC2Factor ( double  A_factor)
inlineinherited

sets new value of c2Factor;

◆ setFactor()

void capd::dynset::FactorPolicy< DefaultPolicy >::setFactor ( double  A_factor)
inlineinherited

sets c0,c1,c2 factors to new value

◆ toString()

std::string capd::dynset::FactorPolicy< DefaultPolicy >::toString ( ) const
inlineinherited

Member Data Documentation

◆ m_c0Factor

double capd::dynset::FactorPolicy< DefaultPolicy >::m_c0Factor
protectedinherited

◆ m_c1Factor

double capd::dynset::FactorPolicy< DefaultPolicy >::m_c1Factor
protectedinherited

◆ m_c2Factor

double capd::dynset::FactorPolicy< DefaultPolicy >::m_c2Factor
protectedinherited

◆ m_onoff

bool capd::dynset::FactorPolicy< DefaultPolicy >::m_onoff
protectedinherited

The documentation for this class was generated from the following file: