unbroke a number of classes in linear, testing them with gtsam_experimental/matlab code
parent
ad4299e468
commit
168ad81230
|
@ -1,15 +1,6 @@
|
||||||
// These are considered to be broken and will be added back as they start working
|
// These are considered to be broken and will be added back as they start working
|
||||||
// It's assumed that there have been interface changes that might break this
|
// It's assumed that there have been interface changes that might break this
|
||||||
|
|
||||||
class SharedGaussian {
|
|
||||||
SharedGaussian(Matrix covariance);
|
|
||||||
SharedGaussian(Vector sigmas);
|
|
||||||
};
|
|
||||||
|
|
||||||
class SharedDiagonal {
|
|
||||||
SharedDiagonal(Vector sigmas);
|
|
||||||
};
|
|
||||||
|
|
||||||
class Ordering {
|
class Ordering {
|
||||||
Ordering();
|
Ordering();
|
||||||
void print(string s) const;
|
void print(string s) const;
|
||||||
|
@ -17,55 +8,11 @@ class Ordering {
|
||||||
void push_back(string s);
|
void push_back(string s);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class VectorValues {
|
|
||||||
VectorValues();
|
|
||||||
VectorValues(size_t nVars, size_t varDim);
|
|
||||||
void print(string s) const;
|
|
||||||
bool equals(const VectorValues& expected, double tol) const;
|
|
||||||
size_t size() const;
|
|
||||||
};
|
|
||||||
|
|
||||||
class GaussianFactor {
|
|
||||||
void print(string s) const;
|
|
||||||
bool equals(const GaussianFactor& lf, double tol) const;
|
|
||||||
bool empty() const;
|
|
||||||
Vector getb() const;
|
|
||||||
double error(const VectorValues& c) const;
|
|
||||||
};
|
|
||||||
|
|
||||||
class GaussianFactorSet {
|
class GaussianFactorSet {
|
||||||
GaussianFactorSet();
|
GaussianFactorSet();
|
||||||
void push_back(GaussianFactor* factor);
|
void push_back(GaussianFactor* factor);
|
||||||
};
|
};
|
||||||
|
|
||||||
class GaussianConditional {
|
|
||||||
GaussianConditional();
|
|
||||||
void print(string s) const;
|
|
||||||
bool equals(const GaussianConditional &cg, double tol) const;
|
|
||||||
Vector solve(const VectorValues& x);
|
|
||||||
};
|
|
||||||
|
|
||||||
class GaussianBayesNet {
|
|
||||||
GaussianBayesNet();
|
|
||||||
void print(string s) const;
|
|
||||||
bool equals(const GaussianBayesNet& cbn, double tol) const;
|
|
||||||
void push_back(GaussianConditional* conditional);
|
|
||||||
void push_front(GaussianConditional* conditional);
|
|
||||||
};
|
|
||||||
|
|
||||||
class GaussianFactorGraph {
|
|
||||||
GaussianFactorGraph();
|
|
||||||
void print(string s) const;
|
|
||||||
bool equals(const GaussianFactorGraph& lfgraph, double tol) const;
|
|
||||||
|
|
||||||
size_t size() const;
|
|
||||||
void push_back(GaussianFactor* ptr_f);
|
|
||||||
double error(const VectorValues& c) const;
|
|
||||||
double probPrime(const VectorValues& c) const;
|
|
||||||
void combine(const GaussianFactorGraph& lfg);
|
|
||||||
};
|
|
||||||
|
|
||||||
class Simulated2DValues {
|
class Simulated2DValues {
|
||||||
Simulated2DValues();
|
Simulated2DValues();
|
||||||
void print(string s) const;
|
void print(string s) const;
|
||||||
|
|
125
gtsam.h
125
gtsam.h
|
@ -1,41 +1,108 @@
|
||||||
class Point2 {
|
class Point2 {
|
||||||
Point2();
|
Point2();
|
||||||
Point2(double x, double y);
|
Point2(double x, double y);
|
||||||
void print(string s) const;
|
void print(string s) const;
|
||||||
double x();
|
double x();
|
||||||
double y();
|
double y();
|
||||||
};
|
};
|
||||||
|
|
||||||
class Point3 {
|
class Point3 {
|
||||||
Point3();
|
Point3();
|
||||||
Point3(double x, double y, double z);
|
Point3(double x, double y, double z);
|
||||||
Point3(Vector v);
|
Point3(Vector v);
|
||||||
void print(string s) const;
|
void print(string s) const;
|
||||||
Vector vector() const;
|
Vector vector() const;
|
||||||
double x();
|
double x();
|
||||||
double y();
|
double y();
|
||||||
double z();
|
double z();
|
||||||
};
|
};
|
||||||
|
|
||||||
class Rot2 {
|
class Rot2 {
|
||||||
Rot2();
|
Rot2();
|
||||||
};
|
};
|
||||||
|
|
||||||
class Pose2 {
|
class Pose2 {
|
||||||
Pose2();
|
Pose2();
|
||||||
Pose2(const Pose2& pose);
|
Pose2(const Pose2& pose);
|
||||||
Pose2(double x, double y, double theta);
|
Pose2(double x, double y, double theta);
|
||||||
Pose2(double theta, const Point2& t);
|
Pose2(double theta, const Point2& t);
|
||||||
Pose2(const Rot2& r, const Point2& t);
|
Pose2(const Rot2& r, const Point2& t);
|
||||||
void print(string s) const;
|
void print(string s) const;
|
||||||
bool equals(const Pose2& pose, double tol) const;
|
bool equals(const Pose2& pose, double tol) const;
|
||||||
double x() const;
|
double x() const;
|
||||||
double y() const;
|
double y() const;
|
||||||
double theta() const;
|
double theta() const;
|
||||||
size_t dim() const;
|
size_t dim() const;
|
||||||
Pose2 expmap(Vector v) const;
|
};
|
||||||
Vector logmap(const Pose2& pose) const;
|
|
||||||
Point2 t() const;
|
class SharedGaussian {
|
||||||
Rot2 r() const;
|
SharedGaussian(Matrix covariance);
|
||||||
|
SharedGaussian(Vector sigmas);
|
||||||
|
};
|
||||||
|
|
||||||
|
class SharedDiagonal {
|
||||||
|
SharedDiagonal(Vector sigmas);
|
||||||
|
};
|
||||||
|
|
||||||
|
class VectorValues {
|
||||||
|
VectorValues();
|
||||||
|
VectorValues(size_t nVars, size_t varDim);
|
||||||
|
void print(string s) const;
|
||||||
|
bool equals(const VectorValues& expected, double tol) const;
|
||||||
|
size_t size() const;
|
||||||
|
void reserve(size_t nVars, size_t totalDims);
|
||||||
|
size_t push_back_preallocated(Vector vector);
|
||||||
|
};
|
||||||
|
|
||||||
|
class GaussianConditional {
|
||||||
|
GaussianConditional(size_t key, Vector d, Matrix R, Vector sigmas);
|
||||||
|
GaussianConditional(size_t key, Vector d, Matrix R, size_t name1, Matrix S,
|
||||||
|
Vector sigmas);
|
||||||
|
GaussianConditional(size_t key, Vector d, Matrix R, size_t name1, Matrix S,
|
||||||
|
size_t name2, Matrix T, Vector sigmas);
|
||||||
|
void print(string s) const;
|
||||||
|
bool equals(const GaussianConditional &cg, double tol) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GaussianBayesNet {
|
||||||
|
GaussianBayesNet();
|
||||||
|
void print(string s) const;
|
||||||
|
bool equals(const GaussianBayesNet& cbn, double tol) const;
|
||||||
|
void push_back(GaussianConditional* conditional);
|
||||||
|
void push_front(GaussianConditional* conditional);
|
||||||
|
};
|
||||||
|
|
||||||
|
class GaussianFactor {
|
||||||
|
void print(string s) const;
|
||||||
|
bool equals(const GaussianFactor& lf, double tol) const;
|
||||||
|
double error(const VectorValues& c) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
class JacobianFactor {
|
||||||
|
JacobianFactor();
|
||||||
|
JacobianFactor(Vector b_in);
|
||||||
|
JacobianFactor(size_t i1, Matrix A1, Vector b, const SharedDiagonal& model);
|
||||||
|
JacobianFactor(size_t i1, Matrix A1, size_t i2, Matrix A2, Vector b,
|
||||||
|
const SharedDiagonal& model);
|
||||||
|
JacobianFactor(size_t i1, Matrix A1, size_t i2, Matrix A2, size_t i3,
|
||||||
|
Matrix A3, Vector b, const SharedDiagonal& model);
|
||||||
|
void print(string s) const;
|
||||||
|
bool equals(const GaussianFactor& lf, double tol) const;
|
||||||
|
bool empty() const;
|
||||||
|
Vector getb() const;
|
||||||
|
double error(const VectorValues& c) const;
|
||||||
|
GaussianConditional* eliminateFirst();
|
||||||
|
};
|
||||||
|
|
||||||
|
class GaussianFactorGraph {
|
||||||
|
GaussianFactorGraph();
|
||||||
|
void print(string s) const;
|
||||||
|
bool equals(const GaussianFactorGraph& lfgraph, double tol) const;
|
||||||
|
|
||||||
|
size_t size() const;
|
||||||
|
void push_back(GaussianFactor* ptr_f);
|
||||||
|
double error(const VectorValues& c) const;
|
||||||
|
double probPrime(const VectorValues& c) const;
|
||||||
|
void combine(const GaussianFactorGraph& lfg);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue