Eigen 3.2.2 has been released today, on August 4, 2014.
This is a maintenance release with many bug fixes since the release of 3.2.1 five months ago. In particular, this release includes various numerical improvements in JacobiSVD, LDLT, BiCGSTAB, and ColPivHouseholderQR. There are also some limited performance improvements and added functionality in the 3.2.2 release.
The source archive is at http://bitbucket.org/eigen/eigen/get/3.2.2.tar.bz2
The full changelog is at http://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.2.2
, and reproduced below:
* Relax Ref such that Ref<MatrixXf> accepts a RowVectorXf which can be seen as a degenerate MatrixXf(1,N)
* Fix performance regression for the vectorization of sub columns/rows of matrices.
* EIGEN_STACK_ALLOCATION_LIMIT: Raise its default value to 128KB, make use of it to assert on maximal fixed size object, and allows it to be 0 to mean "no limit".
* Bug 839: Fix 1x1 triangular matrix-vector product.
* Bug 755: CommaInitializer produced wrong assertions in absence of Return-Value-Optimization.
* Add a rank() method with threshold control to JacobiSVD, and make solve uses it to return the minimal norm solution for rank-deficient problems.
* Various numerical fixes in JacobiSVD, including:bug 843, and the move from Lapack to Matlab strategy for the default threshold.
* Various numerical fixes in LDLT, including the case of semi-definite complex matrices.
* Fix ColPivHouseholderQR::rank().
* Bug 222: Make temporary matrix column-major independently of EIGEN_DEFAULT_TO_ROW_MAJOR in BlockHouseholder.
* Bug 838: Fix dense * sparse and sparse * dense outer products and detect outer products from either the lhs or rhs.
* Make the ordering method of SimplicialL[D]LT configurable.
* Fix regression in the restart mechanism of BiCGSTAB.
* Bug 836: extend SparseQR to support more columns than rows.
* Bug 808: Use double instead of float for the increasing size ratio in CompressedStorage::resize, fix implicit conversions from int/longint to float/double, and fix set_from_triplets temporary matrix type.
* Bug 647: Use smart_copy instead of bitwise memcpy in CompressedStorage.
* GMRES: Initialize essential Householder vector with correct dimension.
* Bug 807: Missing scalar type cast in umeyama()
* Bug 806: Missing scalar type cast in Quaternion::setFromTwoVectors()
* Bug 759: Removed hard-coded double-math from Quaternion::angularDistance.
OS, build system and doc:
* Fix compilation with Windows CE.
* Fix some ICEs with VC11.
* Check IMKL version for compatibility with Eigen
* Bug 754: Only inserted (!defined(_WIN32_WCE)) analog to alloc and free implementation.
* Bug 803: Avoid char* to int* conversion.
* Bug 819: Include path of details.h file.
* Bug 738: Use the "current" version of cmake project directories to ease the inclusion of Eigen within other projects.
* Bug 815: Fix doc of FullPivLU wrt permutation matrices.
* Bug 632: doc: Note that dm2 = sm1 + dm1 is not possible
* Extend AsciiQuickReference (real, imag, conjugate, rot90)