SHOGUN  5.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
LinearOperator.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 LINEAR_OPERATOR_H_
11 #define LINEAR_OPERATOR_H_
12 
13 #include <shogun/lib/config.h>
14 #include <shogun/base/SGObject.h>
15 
16 namespace shogun
17 {
18 
22 template<class T>
23 class CLinearOperator : public CSGObject
24 {
25 public:
28 
34  CLinearOperator(index_t dimension);
35 
37  virtual ~CLinearOperator();
38 
40  const index_t get_dimension() const;
41 
48  virtual SGVector<T> apply(SGVector<T> b) const=0;
49 
51  virtual const char* get_name() const
52  {
53  return "LinearOperator";
54  }
55 
56 protected:
59 
60 private:
62  void init();
63 
64 };
65 
66 }
67 
68 #endif // LINEAR_OPERATOR_H_
const index_t get_dimension() const
int32_t index_t
Definition: common.h:62
virtual const char * get_name() const
virtual SGVector< T > apply(SGVector< T > b) const =0
all of classes and functions are contained in the shogun namespace
Definition: class_list.h:18

SHOGUN Machine Learning Toolbox - Documentation