00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Copyright (C) 2012 Jacob Walker 00008 */ 00009 00010 #ifndef CMEANFUNCTION_H_ 00011 #define CMEANFUNCTION_H_ 00012 00013 #include <shogun/base/SGObject.h> 00014 #include <shogun/lib/SGMatrix.h> 00015 #include <shogun/lib/SGVector.h> 00016 00017 namespace shogun { 00018 00027 class CMeanFunction: public shogun::CSGObject 00028 { 00029 00030 public: 00031 00032 /*Constructor*/ 00033 CMeanFunction(); 00034 00035 /*Destructor*/ 00036 virtual ~CMeanFunction(); 00037 00045 virtual SGVector<float64_t> get_mean_vector(SGMatrix<float64_t>& data) = 0; 00046 00057 virtual SGVector<float64_t> get_parameter_derivative(TParameter* param, 00058 CSGObject* obj, SGMatrix<float64_t>& data, index_t index = -1); 00059 00060 }; 00061 00062 } 00063 00064 #endif /* CMEANFUNCTION_H_ */