diff --git a/gtsam_unstable/linear/EqualityFactorGraph.h b/gtsam_unstable/linear/EqualityFactorGraph.h index 62865dbde..43befdbe0 100644 --- a/gtsam_unstable/linear/EqualityFactorGraph.h +++ b/gtsam_unstable/linear/EqualityFactorGraph.h @@ -22,18 +22,16 @@ #include namespace gtsam { + /** - * This class is used to represent an equality constraint on - * a Programming problem of the form Ax = b. + * Collection of all Linear Equality constraints Ax=b of + * a Programming problem as a Factor Graph */ class EqualityFactorGraph: public FactorGraph { public: typedef boost::shared_ptr shared_ptr; - /** compute error of a guess. - * TODO: This code is duplicated in GaussianFactorGraph and NonlinearFactorGraph!! - * Remove it! - */ + /// Compute error of a guess. double error(const VectorValues& x) const { double total_error = 0.; for (const sharedFactor& factor : *this) { diff --git a/gtsam_unstable/linear/InequalityFactorGraph.h b/gtsam_unstable/linear/InequalityFactorGraph.h index c6a0fb46d..f8aa0dc2b 100644 --- a/gtsam_unstable/linear/InequalityFactorGraph.h +++ b/gtsam_unstable/linear/InequalityFactorGraph.h @@ -25,6 +25,10 @@ namespace gtsam { +/** + * Collection of all Linear Inequality constraints Ax-b <= 0 of + * a Programming problem as a Factor Graph + */ class InequalityFactorGraph: public FactorGraph { private: typedef FactorGraph Base; diff --git a/gtsam_unstable/linear/LinearInequality.h b/gtsam_unstable/linear/LinearInequality.h index be3a6eb3c..1a31bd4e4 100644 --- a/gtsam_unstable/linear/LinearInequality.h +++ b/gtsam_unstable/linear/LinearInequality.h @@ -14,6 +14,7 @@ * @brief LinearInequality derived from Base with constrained noise model * @date Nov 27, 2014 * @author Duy-Nguyen Ta + * @author Ivan Dario Jimenez */ #pragma once @@ -26,7 +27,7 @@ namespace gtsam { typedef Eigen::RowVectorXd RowVector; /** - * This class defines a linear inequality constraint g(x)<=0, + * This class defines a linear inequality constraint Ax-b <= 0, * inheriting JacobianFactor with the special Constrained noise model */ class LinearInequality: public JacobianFactor { diff --git a/gtsam_unstable/linear/tests/testQPSolver.cpp b/gtsam_unstable/linear/tests/testQPSolver.cpp index 737b28f15..56c0c38a8 100644 --- a/gtsam_unstable/linear/tests/testQPSolver.cpp +++ b/gtsam_unstable/linear/tests/testQPSolver.cpp @@ -237,23 +237,21 @@ pair testParser(QPSParser parser) { TEST(QPSolver, ParserSyntaticTest) { auto expectedActual = testParser(QPSParser("QPExample.QPS")); - CHECK( - assert_equal(expectedActual.first.cost, expectedActual.second.cost, 1e-7)); - CHECK( - assert_equal(expectedActual.first.inequalities, - expectedActual.second.inequalities, 1e-7)); - CHECK( - assert_equal(expectedActual.first.equalities, - expectedActual.second.equalities, 1e-7)); + CHECK(assert_equal(expectedActual.first.cost, expectedActual.second.cost, + 1e-7)); + CHECK(assert_equal(expectedActual.first.inequalities, + expectedActual.second.inequalities, 1e-7)); + CHECK(assert_equal(expectedActual.first.equalities, + expectedActual.second.equalities, 1e-7)); } TEST(QPSolver, ParserSemanticTest) { auto expected_actual = testParser(QPSParser("QPExample.QPS")); VectorValues actualSolution, expectedSolution; - boost::tie(expectedSolution, boost::tuples::ignore) = QPSolver( - expected_actual.first).optimize(); - boost::tie(actualSolution, boost::tuples::ignore) = QPSolver( - expected_actual.second).optimize(); + boost::tie(expectedSolution, boost::tuples::ignore) = + QPSolver(expected_actual.first).optimize(); + boost::tie(actualSolution, boost::tuples::ignore) = + QPSolver(expected_actual.second).optimize(); CHECK(assert_equal(actualSolution, expectedSolution, 1e-7)); }