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

Factor based reorganization. More...

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

Public Member Functions

template<class Vector >
bool isReorganizationNeeded (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 Matrix1 , class Matrix2 , class Vector >
bool reorganizeIfNeeded (Matrix1 &B, Matrix2 &invB, Vector &r, Matrix1 &C, Vector &r0) const
 
template<class SetType >
bool isC1ReorganizationNeeded (const SetType &result) const
 
template<class Matrix >
bool isC1ReorganizationNeeded (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...
 
template<class HessianT >
bool isC2ReorganizationNeeded (const HessianT &R, const HessianT &R0) const
 
template<class MatrixT , class HessianT >
bool reorganizeC2IfNeeded (MatrixT &B, MatrixT &invB, HessianT &R, MatrixT &C, HessianT &R0) const
 
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
 
std::string toString () const
 
template<class VectorT , class MatrixT >
void computeBinvB (MatrixT &B, MatrixT &invB, const VectorT &) 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::FactorReorganization< BasePolicy >

Factor based reorganization.

It reorganizes a doubleton set when size(r) > factor * size(r0)

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;

◆ isC1ReorganizationNeeded() [1/2]

template<typename BasePolicy = DefaultPolicy>
template<class Matrix >
bool capd::dynset::FactorReorganization< BasePolicy >::isC1ReorganizationNeeded ( const Matrix &  R,
const Matrix &  R0 
) const
inline

◆ isC1ReorganizationNeeded() [2/2]

template<typename BasePolicy = DefaultPolicy>
template<class SetType >
bool capd::dynset::FactorReorganization< BasePolicy >::isC1ReorganizationNeeded ( const SetType &  result) const
inline

◆ isC2ReorganizationNeeded()

template<typename BasePolicy = DefaultPolicy>
template<class HessianT >
bool capd::dynset::FactorReorganization< BasePolicy >::isC2ReorganizationNeeded ( const HessianT &  R,
const HessianT &  R0 
) const
inline

◆ isReorganizationEnabled()

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

returns current value of the flag which controls possibility of reorganization

◆ isReorganizationNeeded() [1/2]

template<typename BasePolicy = DefaultPolicy>
template<class SetType >
bool capd::dynset::FactorReorganization< BasePolicy >::isReorganizationNeeded ( const SetType &  result) const
inline

◆ isReorganizationNeeded() [2/2]

template<typename BasePolicy = DefaultPolicy>
template<class Vector >
bool capd::dynset::FactorReorganization< BasePolicy >::isReorganizationNeeded ( const Vector &  r,
const Vector &  r0 
) const
inline

◆ name()

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

◆ 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

◆ reorganizeC1IfNeeded() [1/2]

template<typename BasePolicy = DefaultPolicy>
template<class Matrix >
bool capd::dynset::FactorReorganization< BasePolicy >::reorganizeC1IfNeeded ( Matrix &  B,
Matrix &  invB,
Matrix &  R,
Matrix &  C,
Matrix &  R0 
) const
inline

◆ reorganizeC1IfNeeded() [2/2]

template<typename BasePolicy = DefaultPolicy>
template<class SetType >
bool capd::dynset::FactorReorganization< BasePolicy >::reorganizeC1IfNeeded ( SetType &  result) const
inline

makes reorganization if needed. return true if reorganization was performed

◆ reorganizeC2()

void capd::dynset::FactorPolicy< DefaultPolicy >::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<typename BasePolicy = DefaultPolicy>
template<class MatrixT , class HessianT >
bool capd::dynset::FactorReorganization< BasePolicy >::reorganizeC2IfNeeded ( MatrixT &  B,
MatrixT &  invB,
HessianT &  R,
MatrixT &  C,
HessianT &  R0 
) const
inline

◆ reorganizeIfNeeded() [1/2]

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

◆ reorganizeIfNeeded() [2/2]

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

makes reorganization if needed.

◆ 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