65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
| /* ----------------------------------------------------------------------------
 | |
| 
 | |
|  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
 | |
|  * Atlanta, Georgia 30332-0415
 | |
|  * All Rights Reserved
 | |
|  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
 | |
| 
 | |
|  * See LICENSE for the license information
 | |
| 
 | |
|  * -------------------------------------------------------------------------- */
 | |
| 
 | |
| /*
 | |
|  *  @file   ConjugateGradientSolver.cpp
 | |
|  *  @brief  Implementation of Conjugate Gradient solver for a linear system
 | |
|  *  @author Yong-Dian Jian
 | |
|  *  @author Sungtae An
 | |
|  *  @date   Nov 6, 2014
 | |
|  */
 | |
| 
 | |
| #include <gtsam/linear/ConjugateGradientSolver.h>
 | |
| #include <iostream>
 | |
| 
 | |
| using namespace std;
 | |
| 
 | |
| namespace gtsam {
 | |
| 
 | |
| /*****************************************************************************/
 | |
| void ConjugateGradientParameters::print(ostream &os) const {
 | |
|    Base::print(os);
 | |
|    cout << "ConjugateGradientParameters" << endl
 | |
|         << "minIter:       " << minIterations_ << endl
 | |
|         << "maxIter:       " << maxIterations_ << endl
 | |
|         << "resetIter:     " << reset_ << endl
 | |
|         << "eps_rel:       " << epsilon_rel_ << endl
 | |
|         << "eps_abs:       " << epsilon_abs_ << endl;
 | |
| }
 | |
| 
 | |
| /*****************************************************************************/
 | |
| std::string ConjugateGradientParameters::blasTranslator(const BLASKernel value) {
 | |
|   std::string s;
 | |
|   switch (value) {
 | |
|   case ConjugateGradientParameters::GTSAM:      s = "GTSAM" ;      break;
 | |
|   default:                                      s = "UNDEFINED" ;  break;
 | |
|   }
 | |
|   return s;
 | |
| }
 | |
| 
 | |
| /*****************************************************************************/
 | |
| ConjugateGradientParameters::BLASKernel ConjugateGradientParameters::blasTranslator(
 | |
|     const std::string &src) {
 | |
|   std::string s = src;
 | |
|   // Convert to upper case
 | |
|   std::transform(s.begin(), s.end(), s.begin(), ::toupper);
 | |
|   if (s == "GTSAM")  return ConjugateGradientParameters::GTSAM;
 | |
| 
 | |
|   /* default is SBM */
 | |
|   return ConjugateGradientParameters::GTSAM;
 | |
| }
 | |
| 
 | |
| /*****************************************************************************/
 | |
| 
 | |
| }
 | |
| 
 | |
| 
 |