25 #define MKL_BLAS MKL_DOMAIN_BLAS 38 typedef Eigen::VectorXd Vector;
41 typedef Eigen::Matrix<double, 1, 1> Vector1;
42 typedef Eigen::Vector2d Vector2;
43 typedef Eigen::Vector3d Vector3;
45 static const Eigen::MatrixBase<Vector2>::ConstantReturnType Z_2x1 = Vector2::Zero();
46 static const Eigen::MatrixBase<Vector3>::ConstantReturnType Z_3x1 = Vector3::Zero();
50 #define GTSAM_MAKE_VECTOR_DEFS(N) \ 51 using Vector##N = Eigen::Matrix<double, N, 1>; \ 52 static const Eigen::MatrixBase<Vector##N>::ConstantReturnType Z_##N##x1 = Vector##N::Zero(); 54 GTSAM_MAKE_VECTOR_DEFS(4)
55 GTSAM_MAKE_VECTOR_DEFS(5)
56 GTSAM_MAKE_VECTOR_DEFS(6)
57 GTSAM_MAKE_VECTOR_DEFS(7)
58 GTSAM_MAKE_VECTOR_DEFS(8)
59 GTSAM_MAKE_VECTOR_DEFS(9)
60 GTSAM_MAKE_VECTOR_DEFS(10)
61 GTSAM_MAKE_VECTOR_DEFS(11)
62 GTSAM_MAKE_VECTOR_DEFS(12)
63 GTSAM_MAKE_VECTOR_DEFS(15)
65 typedef Eigen::VectorBlock<Vector> SubVector;
66 typedef Eigen::VectorBlock<const Vector> ConstSubVector;
73 #if defined(GTSAM_EIGEN_VERSION_WORLD) 75 GTSAM_EIGEN_VERSION_WORLD==EIGEN_WORLD_VERSION &&
76 GTSAM_EIGEN_VERSION_MAJOR==EIGEN_MAJOR_VERSION,
77 "Error: GTSAM was built against a different version of Eigen");
96 GTSAM_EXPORT
bool fpEqual(
double a,
double b,
double tol,
97 bool check_relative_also =
true);
102 GTSAM_EXPORT
void print(
const Vector& v,
const std::string& s, std::ostream& stream);
107 GTSAM_EXPORT
void print(
const Vector& v,
const std::string& s =
"");
112 GTSAM_EXPORT
void save(
const Vector& A,
const std::string &s,
const std::string& filename);
117 GTSAM_EXPORT
bool operator==(
const Vector& vec1,
const Vector& vec2);
129 GTSAM_EXPORT
bool equal_with_abs_tol(
const Vector& vec1,
const Vector& vec2,
double tol=1e-9);
130 GTSAM_EXPORT
bool equal_with_abs_tol(
const SubVector& vec1,
const SubVector& vec2,
double tol=1e-9);
135 inline bool equal(
const Vector& vec1,
const Vector& vec2,
double tol) {
142 inline bool equal(
const Vector& vec1,
const Vector& vec2) {
153 GTSAM_EXPORT
bool assert_equal(
const Vector& vec1,
const Vector& vec2,
double tol=1e-9);
162 GTSAM_EXPORT
bool assert_inequal(
const Vector& vec1,
const Vector& vec2,
double tol=1e-9);
171 GTSAM_EXPORT
bool assert_equal(
const SubVector& vec1,
const SubVector& vec2,
double tol=1e-9);
172 GTSAM_EXPORT
bool assert_equal(
const ConstSubVector& vec1,
const ConstSubVector& vec2,
double tol=1e-9);
181 GTSAM_EXPORT
bool linear_dependent(
const Vector& vec1,
const Vector& vec2,
double tol=1e-9);
189 GTSAM_EXPORT Vector
ediv_(
const Vector &a,
const Vector &b);
194 template<
class V1,
class V2>
195 inline double dot(
const V1 &a,
const V2& b) {
196 assert (b.size()==a.size());
201 template<
class V1,
class V2>
203 assert (b.size()==a.size());
212 GTSAM_EXPORT std::pair<double,Vector>
house(
const Vector &x);
227 GTSAM_EXPORT std::pair<Vector, double>
240 GTSAM_EXPORT Vector
concatVectors(
const std::list<Vector>& vs);
GTSAM_EXPORT Vector ediv_(const Vector &a, const Vector &b)
GTSAM_EXPORT std::pair< Vector, double > weightedPseudoinverse(const Vector &v, const Vector &weights)
GTSAM_EXPORT bool assert_inequal(const Matrix &A, const Matrix &B, double tol=1e-9)
double dot(const V1 &a, const V2 &b)
Definition: Vector.h:195
GTSAM_EXPORT bool linear_dependent(const Matrix &A, const Matrix &B, double tol=1e-9)
GTSAM_EXPORT bool fpEqual(double a, double b, double tol, bool check_relative_also=true)
GTSAM_EXPORT bool greaterThanOrEqual(const Vector &v1, const Vector &v2)
bool operator==(const Matrix &A, const Matrix &B)
Definition: Matrix.h:99
Included from all GTSAM files.
GTSAM_EXPORT double houseInPlace(Vector &x)
GTSAM_EXPORT void print(const Matrix &A, const std::string &s, std::ostream &stream)
GTSAM_EXPORT void save(const Matrix &A, const std::string &s, const std::string &filename)
bool equal_with_abs_tol(const Eigen::DenseBase< MATRIX > &A, const Eigen::DenseBase< MATRIX > &B, double tol=1e-9)
Definition: Matrix.h:80
Definition: chartTesting.h:28
GTSAM_EXPORT bool assert_equal(const Matrix &A, const Matrix &B, double tol=1e-9)
double inner_prod(const V1 &a, const V2 &b)
Definition: Vector.h:202
bool equal(const T &obj1, const T &obj2, double tol)
Definition: Testable.h:85
GTSAM_EXPORT Vector concatVectors(const std::list< Vector > &vs)
GTSAM_EXPORT std::pair< double, Vector > house(const Vector &x)