CholeskyRobustAuto.h 889 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * @file CholeskyRobustAuto.h
  3. * @author Erik Rodner
  4. * @date 01/06/2010
  5. */
  6. #ifndef _NICE_OBJREC_CHOLESKYROBUSTAUTOINCLUDE
  7. #define _NICE_OBJREC_CHOLESKYROBUSTAUTOINCLUDE
  8. #include <limits>
  9. #include "core/vector/MatrixT.h"
  10. #include "CholeskyRobust.h"
  11. namespace OBJREC {
  12. /** @class CholeskyRobustAuto
  13. * robust cholesky decomposition by adding some noise
  14. *
  15. * @author Erik Rodner
  16. */
  17. class CholeskyRobustAuto : public CholeskyRobust
  18. {
  19. protected:
  20. public:
  21. CholeskyRobustAuto ( const CholeskyRobustAuto & src );
  22. CholeskyRobustAuto ( bool verbose = true, double noiseStep = 1e-8, double minMatrixLogDeterminant = - std::numeric_limits<double>::max(),
  23. bool useCuda = true );
  24. virtual ~CholeskyRobustAuto ();
  25. virtual double robustChol ( const NICE::Matrix & A, NICE::Matrix & cholA );
  26. virtual CholeskyRobustAuto *clone(void) const;
  27. };
  28. }
  29. #endif