New in version 3.2.0
August 10th, 2013
- Dense world:
- New Ref class allowing to write non templated function taking various kind of Eigen dense objects without copies.
- New RealQZ factorization and GeneralizedEigenSolver.
- Add vector-wise normalized and normalize functions, and hasNaN/allFinite members.
- Add mixed static/dynamic-size .block() functions.
- Optimize outer products for non rank-1 update operations.
- Optimize diagonal products (enable vectorization in more cases).
- Improve robustness and performance in JacobiSVD::solve().
- Sparse world:
- New SparseLU module: built-in sparse LU with supernodes and numerical row pivoting (port of SuperLU making the SuperLUSupport module obsolete).
- New SparseQR module: rank-revealing sparse QR factorization with numerical column pivoting.
- New COLAMD ordering and unified ordering API.
- Add support for generic blocks of sparse matrices (read-only).
- Add conservative resize feature on sparse matrices.
- Add uniform support for solving sparse systems with sparse right hand sides.
- Add support for sparse matrix time sparse self-adjoint view products.
- Improve BiCGSTAB robustness with restart.
- Support to external libraries:
- New MetisSupport module: wrapper to the famous graph partitioning library.
- New SPQRSupport module: wrapper to suitesparse's supernodal QR solver.
New in version 3.1.3 (April 24th, 2013)
- Bug 526 - Fix linear vectorized transversal in linspace.
- Bug 551 - Fix compilation issue when using EIGEN_DEFAULT_DENSE_INDEX_TYPE.
- Bug 533 - Fix some missing const qualifiers in Transpose
- Fix a compilation with CGAL::Gmpq by adding explicit internal:: namespace when calling abs().
- Fix computation of outer-stride when calling .real() or .imag().
- Fix handmade_aligned_realloc (affected conservativeResize()).
- Fix sparse vector assignment from a sparse matrix.
- Fix log(0) with SSE.
- Fix bug in aligned_free with windows CE.
- Fix traits of Map
New in version 3.2.0 Beta 1 (March 8th, 2013)
- This beta version introduces built-in LU and QR factorizations for sparse matrices, a real-QZ factorization and a generalized eigen solver for dense matrices, a new Ref class to ease writing generic but non-template functions taking Eigen objects as arguments, wrappers to the Metis and SuiteSparse QR libraries, as well as a couple of minor enhancements and bug fixes.
New in version 3.1.2 (December 5th, 2012)
- Bug 524 - Pardiso's parameter array does not have to be aligned!
- Bug 521 - Disable __cpuidex on architectures different that x86 or x86-64 with MSVC.
- Bug 519 - AlignedBox::dim() was wrong for dynamic dimensions.
- Bug 515 - Fix missing explicit scalar conversion.
- Bug 511 - Fix pretty printers on windows.
- Bug 509 - Fix warnings with gcc 4.7
- Bug 501 - Remove aggressive mat/scalar optimization (was replaced by mat*(1/scalar) for non integer types).
- Bug 479 - Use EISPACK's strategy re max number of iters in Schur decomposition.
- Add support for scalar multiple of diagonal matrices.
- Forward resize() function from Array/Matrix wrappers to the nested expression such that mat.array().resize(a,b) is now allowed.
- Windows CE: fix the lack of the aligned_malloc function on this platform.
- Fix comma initializer when inserting empty matrices.
- Fix dense=sparse*diagonal products.
- Fix compilation with m.array().min(scalar) and m.array().max(scalar).
- Fix out-of-range memory access in GEMV (the memory was not used for the computation, only to assemble unaligned packets from aligned packet loads).
- Fix various regressions with MKL support.
- Fix aliasing issue in sparse matrix assignment.
- Remove stupid assert in blue norm.
- Workaround a weird compilation error with MSVC.
New in version 3.1 (June 26th, 2012)
- A new set of officially supported sparse modules for the representation, assembly, and solving of sparse problems, including many built-in and third-party sparse linear solvers.
- The ability to seamlessly fallback to Intel MKL for some operations such as including matrix products, dense matrix decompositions, and math array operations.
- These optional backends can be enabled at compile-time.
- Some new coefficient and vector-wise operations, rank update/downdate for LLT and LDLT factorizations, closed form eigen-decompositions, and some memory and performance optimizations.
New in version 3.0.5 (February 11th, 2012)
- This is a maintenance release with various bug and warning fixes.
New in version 3.0.3 (October 7th, 2011)
- This version allows the user to specify the pkgconfig destination, makes several improvements to the documentation, and fixes compilation errors when Eigen2 support is enabled, a bug in evaluating expressions of the form matrix1 * matrix2 * scalar1 * scalar2, solutions using LDLT for singular matrices if a solution exists, and an infinite loop when computing SVD of some matrices with very small numbers.
New in version 3.0.2 (August 29th, 2011)
- Among various minor bug fixes, this release fixes some compilation issues with MinGW, improves the compliance to the C++ standard, and, for windows.h users, it is not necessary to #undef the min/max macros anymore.
New in version 3.0.1 (May 31st, 2011)
- In addition to various minor bugfixes, this release brings official support for gcc 4.6 and ARM NEON as well as improved support for custom scalar types.
- The latter includes exceptions safety and the automatic uses of the math functions declared in the scalar type's namespace.