IterativeLinearSolver.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * @file IterativeLinearSolver.h
  3. * @author Erik Rodner
  4. * @date 12/21/2011
  5. */
  6. #ifndef _NICE_ITERATIVELINEARSOLVERINCLUDE
  7. #define _NICE_ITERATIVELINEARSOLVERINCLUDE
  8. #include "core/vector/VectorT.h"
  9. #include "GenericMatrix.h"
  10. namespace NICE {
  11. /** @class IterativeLinearSolver
  12. * abstract interface for iterative linear solvers working with GenericMatrix
  13. *
  14. * @author Erik Rodner
  15. */
  16. class IterativeLinearSolver
  17. {
  18. protected:
  19. public:
  20. /** simple constructor */
  21. IterativeLinearSolver();
  22. /** simple destructor */
  23. virtual ~IterativeLinearSolver();
  24. /**
  25. * @brief Solve the linear System A*x = b, where A is indirectly presented
  26. * by the GenericMatrix gm
  27. *
  28. * @param gm GenericMatrix providing matrix-vector multiplications
  29. * @param b Vector on the right hand side of the system
  30. * @param x initial and final estimate
  31. *
  32. * @return method specific status information
  33. */
  34. virtual int solveLin ( const GenericMatrix & gm, const Vector & b, Vector & x ) = 0;
  35. };
  36. }
  37. #endif