gnpplib.h

Go to the documentation of this file.
00001 /*-----------------------------------------------------------------------
00002  *
00003  * This program is free software; you can redistribute it and/or modify
00004  * it under the terms of the GNU General Public License as published by
00005  * the Free Software Foundation; either version 3 of the License, or
00006  * (at your option) any later version.
00007  *
00008  * Library of solvers for Generalized Nearest Point Problem (GNPP).
00009  *
00010  * Written (W) 1999-2008 Vojtech Franc, xfrancv@cmp.felk.cvut.cz
00011  * Copyright (C) 1999-2008 Center for Machine Perception, CTU FEL Prague 
00012  *
00013 -------------------------------------------------------------------- */
00014 
00015 #ifndef GNPPLIB_H__ 
00016 #define GNPPLIB_H__ 
00017 
00018 #include <math.h>
00019 #include <limits.h>
00020 
00021 #include "base/SGObject.h"
00022 #include "lib/io.h"
00023 #include "lib/common.h"
00024 #include "kernel/Kernel.h"
00025 
00027 class CGNPPLib: public CSGObject
00028 {
00029  public:
00037   CGNPPLib(DREAL* vector_y, CKernel* kernel, INT num_data, DREAL reg_const);
00038   ~CGNPPLib();
00039 
00046   int gnpp_mdm(double *diag_H,
00047                double *vector_c,
00048                double *vector_y,
00049                INT dim, 
00050                INT tmax,
00051                double tolabs,
00052                double tolrel,
00053                double th,
00054                double *alpha,
00055                INT  *ptr_t, 
00056                double *ptr_aHa11,
00057                double *ptr_aHa22,
00058                double **ptr_History,
00059                INT verb);
00060 
00067   int gnpp_imdm(double *diag_H,
00068                 double *vector_c,
00069                 double *vector_y,
00070                 INT dim, 
00071                 INT tmax,
00072                 double tolabs,
00073                 double tolrel,
00074                 double th,
00075                 double *alpha,
00076                 INT  *ptr_t, 
00077                 double *ptr_aHa11,
00078                 double *ptr_aHa22,
00079                 double **ptr_History,
00080                 INT verb);
00081 
00082  protected:
00089   DREAL* get_col( long a, long b );
00090 
00092   DREAL** kernel_columns;
00094   DREAL* cache_index;
00096   INT first_kernel_inx;
00098   LONG Cache_Size;
00100   INT m_num_data;
00102   DREAL m_reg_const;
00104   DREAL* m_vector_y;
00106   CKernel* m_kernel;
00107 
00108 };
00109 
00110 #endif // GNPPLIB_H__ 
00111 

SHOGUN Machine Learning Toolbox - Documentation