SHOGUN  4.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ConjugateGradientSolver.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * Written (W) 2013 Soumyajit De
8  */
9 
10 #ifndef CONJUGATE_GRADIENT_SOLVER_H_
11 #define CONJUGATE_GRADIENT_SOLVER_H_
12 
13 #include <shogun/lib/config.h>
14 
16 
17 namespace shogun
18 {
19 template<class T> class CLinearOperator;
20 template<class T> class SGVector;
21 
27 class CConjugateGradientSolver : public CIterativeLinearSolver<float64_t, float64_t>
28 {
29 
30 public:
33 
35  CConjugateGradientSolver(bool store_residuals);
36 
38  virtual ~CConjugateGradientSolver();
39 
49 
51  virtual const char* get_name() const
52  {
53  return "ConjugateGradientSolver";
54  }
55 
56 };
57 
58 }
59 
60 #endif // CONJUGATE_GRADIENT_SOLVER_H_
virtual SGVector< float64_t > solve(CLinearOperator< float64_t > *A, SGVector< float64_t > b)
class that uses conjugate gradient method of solving a linear system involving a real valued linear o...
virtual const char * get_name() const
abstract template base for all iterative linear solvers such as conjugate gradient (CG) solvers...
all of classes and functions are contained in the shogun namespace
Definition: class_list.h:18

SHOGUN Machine Learning Toolbox - Documentation