diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..84c048a73 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/CMakeLists.txt b/CMakeLists.txt index e14444ad8..567393a9e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,7 +130,12 @@ endif() ############################################################################### # Option for using system Eigen or GTSAM-bundled Eigen -option(GTSAM_USE_SYSTEM_EIGEN "Find and use system-installed Eigen. If 'off', use the one bundled with GTSAM" OFF) +### Disabled until our patches are included in Eigen ### +### See: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=704 (Householder QR MKL selection) +### http://eigen.tuxfamily.org/bz/show_bug.cgi?id=705 (Fix MKL LLT return code) +### http://eigen.tuxfamily.org/bz/show_bug.cgi?id=716 (Improved comma initialization) +# option(GTSAM_USE_SYSTEM_EIGEN "Find and use system-installed Eigen. If 'off', use the one bundled with GTSAM" OFF) +set(GTSAM_USE_SYSTEM_EIGEN OFF) # Switch for using system Eigen or GTSAM-bundled Eigen if(GTSAM_USE_SYSTEM_EIGEN) diff --git a/gtsam/geometry/EssentialMatrix.h b/gtsam/geometry/EssentialMatrix.h index 991d8c922..4257b867b 100644 --- a/gtsam/geometry/EssentialMatrix.h +++ b/gtsam/geometry/EssentialMatrix.h @@ -38,6 +38,11 @@ public: /// @name Constructors and named constructors /// @{ + /// Default constructor + EssentialMatrix() : + aTb_(1, 0, 0), E_(aTb_.skew()) { + } + /// Construct from rotation and translation EssentialMatrix(const Rot3& aRb, const Sphere2& aTb) : aRb_(aRb), aTb_(aTb), E_(aTb_.skew() * aRb_.matrix()) { diff --git a/gtsam/geometry/Sphere2.cpp b/gtsam/geometry/Sphere2.cpp index e2ee24cab..a5c8c07ea 100644 --- a/gtsam/geometry/Sphere2.cpp +++ b/gtsam/geometry/Sphere2.cpp @@ -108,8 +108,7 @@ Vector Sphere2::localCoordinates(const Sphere2& y) const { // Make sure that the angle different between x and y is less than 90. Otherwise, // we can project x + xi_hat from the tangent space at x to y. - double cosAngle = y.p_.dot(p_); - assert(cosAngle > 0.0 && "Can not retract from x to y."); + assert(y.p_.dot(p_) > 0.0 && "Can not retract from x to y."); // Get the basis matrix Matrix B = basis();