SHOGUN
v3.2.0
|
00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General turalPublic 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 * Written (W) 2013 Soumyajit De 00008 */ 00009 00010 #ifndef DIRECT_SPARSE_LINEAR_SOLVER_H_ 00011 #define DIRECT_SPARSE_LINEAR_SOLVER_H_ 00012 00013 #include <shogun/lib/config.h> 00014 00015 #ifdef HAVE_EIGEN3 00016 #include <shogun/mathematics/linalg/linsolver/LinearSolver.h> 00017 00018 namespace shogun 00019 { 00020 00024 class CDirectSparseLinearSolver : public CLinearSolver<float64_t, float64_t> 00025 { 00026 public: 00028 CDirectSparseLinearSolver(); 00029 00031 virtual ~CDirectSparseLinearSolver(); 00032 00040 virtual SGVector<float64_t> solve(CLinearOperator<float64_t>* A, 00041 SGVector<float64_t> b); 00042 00044 virtual const char* get_name() const 00045 { 00046 return "DirectSparseLinearSolver"; 00047 } 00048 00049 }; 00050 00051 } 00052 00053 #endif // HAVE_EIGEN3 00054 #endif // DIRECT_SPARSE_LINEAR_SOLVER_H_