/** * @file CholeskyRobustAuto.h * @author Erik Rodner * @date 01/06/2010 */ #ifndef _NICE_OBJREC_CHOLESKYROBUSTAUTOINCLUDE #define _NICE_OBJREC_CHOLESKYROBUSTAUTOINCLUDE #include #include "core/vector/MatrixT.h" #include "CholeskyRobust.h" namespace OBJREC { /** @class CholeskyRobustAuto * robust cholesky decomposition by adding some noise * * @author Erik Rodner */ class CholeskyRobustAuto : public CholeskyRobust { protected: public: CholeskyRobustAuto ( const CholeskyRobustAuto & src ); CholeskyRobustAuto ( bool verbose = true, double noiseStep = 1e-8, double minMatrixLogDeterminant = - std::numeric_limits::max(), bool useCuda = true ); virtual ~CholeskyRobustAuto (); virtual double robustChol ( const NICE::Matrix & A, NICE::Matrix & cholA ); virtual CholeskyRobustAuto *clone(void) const; }; } #endif