diff --git a/gtsam/linear/ConjugateGradientSolver.h b/gtsam/linear/ConjugateGradientSolver.h index b09b1a352..ccdab45da 100644 --- a/gtsam/linear/ConjugateGradientSolver.h +++ b/gtsam/linear/ConjugateGradientSolver.h @@ -24,20 +24,22 @@ namespace gtsam { /** - * parameters for the conjugate gradient method + * Parameters for the Conjugate Gradient method */ class GTSAM_EXPORT ConjugateGradientParameters : public IterativeOptimizationParameters { -public: + public: typedef IterativeOptimizationParameters Base; typedef std::shared_ptr shared_ptr; + protected: size_t minIterations_; ///< minimum number of cg iterations size_t maxIterations_; ///< maximum number of cg iterations size_t reset_; ///< number of iterations before reset double epsilon_rel_; ///< threshold for relative error decrease double epsilon_abs_; ///< threshold for absolute error decrease + public: /* Matrix Operation Kernel */ enum BLASKernel { GTSAM = 0, ///< Jacobian Factor Graph of GTSAM diff --git a/gtsam/linear/PCGSolver.h b/gtsam/linear/PCGSolver.h index a6a16f722..cb671f288 100644 --- a/gtsam/linear/PCGSolver.h +++ b/gtsam/linear/PCGSolver.h @@ -31,7 +31,7 @@ class VectorValues; struct PreconditionerParameters; /** - * Parameters for PCG + * Parameters for Preconditioned Conjugate Gradient solver. */ struct GTSAM_EXPORT PCGSolverParameters: public ConjugateGradientParameters { public: @@ -91,8 +91,8 @@ public: * System class needed for calling preconditionedConjugateGradient */ class GTSAM_EXPORT GaussianFactorGraphSystem { - GaussianFactorGraph gfg_; - Preconditioner preconditioner_; + const GaussianFactorGraph &gfg_; + const Preconditioner &preconditioner_; KeyInfo keyInfo_; std::map lambda_;