make PCGSolverParameters a public struct
parent
df1c008955
commit
49a3b2e8a2
|
@ -34,17 +34,13 @@ namespace gtsam {
|
|||
void PCGSolverParameters::print(ostream &os) const {
|
||||
Base::print(os);
|
||||
os << "PCGSolverParameters:" << endl;
|
||||
preconditioner_->print(os);
|
||||
preconditioner->print(os);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
PCGSolver::PCGSolver(const PCGSolverParameters &p) {
|
||||
parameters_ = p;
|
||||
preconditioner_ = createPreconditioner(p.preconditioner());
|
||||
}
|
||||
|
||||
void PCGSolverParameters::setPreconditionerParams(const std::shared_ptr<PreconditionerParameters> preconditioner) {
|
||||
preconditioner_ = preconditioner;
|
||||
preconditioner_ = createPreconditioner(p.preconditioner);
|
||||
}
|
||||
|
||||
void PCGSolverParameters::print(const std::string &s) const {
|
||||
|
|
|
@ -33,30 +33,19 @@ struct PreconditionerParameters;
|
|||
/**
|
||||
* Parameters for Preconditioned Conjugate Gradient solver.
|
||||
*/
|
||||
struct GTSAM_EXPORT PCGSolverParameters: public ConjugateGradientParameters {
|
||||
public:
|
||||
struct GTSAM_EXPORT PCGSolverParameters : public ConjugateGradientParameters {
|
||||
typedef ConjugateGradientParameters Base;
|
||||
typedef std::shared_ptr<PCGSolverParameters> shared_ptr;
|
||||
|
||||
protected:
|
||||
std::shared_ptr<PreconditionerParameters> preconditioner_;
|
||||
std::shared_ptr<PreconditionerParameters> preconditioner;
|
||||
|
||||
public:
|
||||
PCGSolverParameters() {}
|
||||
|
||||
PCGSolverParameters(
|
||||
const std::shared_ptr<PreconditionerParameters> &preconditioner)
|
||||
: preconditioner_(preconditioner) {}
|
||||
: preconditioner(preconditioner) {}
|
||||
|
||||
void print(std::ostream &os) const override;
|
||||
|
||||
const std::shared_ptr<PreconditionerParameters> preconditioner() const {
|
||||
return preconditioner_;
|
||||
}
|
||||
|
||||
void setPreconditionerParams(
|
||||
const std::shared_ptr<PreconditionerParameters> preconditioner);
|
||||
|
||||
void print(const std::string &s) const;
|
||||
};
|
||||
|
||||
|
|
|
@ -710,17 +710,11 @@ virtual class IterativeOptimizationParameters {
|
|||
#include <gtsam/linear/ConjugateGradientSolver.h>
|
||||
virtual class ConjugateGradientParameters : gtsam::IterativeOptimizationParameters {
|
||||
ConjugateGradientParameters();
|
||||
int getMinIterations() const ;
|
||||
int getMaxIterations() const ;
|
||||
int getReset() const;
|
||||
double getEpsilon_rel() const;
|
||||
double getEpsilon_abs() const;
|
||||
|
||||
void setMinIterations(int value);
|
||||
void setMaxIterations(int value);
|
||||
void setReset(int value);
|
||||
void setEpsilon_rel(double value);
|
||||
void setEpsilon_abs(double value);
|
||||
int minIterations;
|
||||
int maxIterations;
|
||||
int reset;
|
||||
double epsilon_rel;
|
||||
double epsilon_abs;
|
||||
};
|
||||
|
||||
#include <gtsam/linear/Preconditioner.h>
|
||||
|
@ -739,8 +733,10 @@ virtual class BlockJacobiPreconditionerParameters : gtsam::PreconditionerParamet
|
|||
#include <gtsam/linear/PCGSolver.h>
|
||||
virtual class PCGSolverParameters : gtsam::ConjugateGradientParameters {
|
||||
PCGSolverParameters();
|
||||
PCGSolverParameters(gtsam::PreconditionerParameters* preconditioner);
|
||||
void print(string s = "");
|
||||
void setPreconditionerParams(gtsam::PreconditionerParameters* preconditioner);
|
||||
|
||||
gtsam::PreconditionerParameters* preconditioner;
|
||||
};
|
||||
|
||||
#include <gtsam/linear/SubgraphSolver.h>
|
||||
|
|
Loading…
Reference in New Issue