Eigen

Software Screenshot:
Eigen
Software Details:
Version: 3.2.0
Upload Date: 19 Feb 15
Developer: Benoit Jacob
Distribution Type: Freeware
Downloads: 38

Rating: nan/5 (Total Votes: 0)

Eigen project is an open source and lightweight C++ template library for vector and matrix math a.k.a. linear algebra.

Unlike most other linear algebra libraries, Eigen focuses on the simple mathematical needs of applications, such as games and other OpenGL apps.

What is new in this release:

  • 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.

What is new in version 3.1.3:

  • 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

What is new in version 3.2.0 Beta 1:

  • 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.

What is new in version 3.1.2:

  • 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.

What is new in version 3.1:

  • 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.

What is new in version 3.0.5:

  • This is a maintenance release with various bug and warning fixes.

What is new in version 3.0.3:

  • 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.

What is new in version 3.0.2:

  • 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.

What is new in version 3.0.1:

  • 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.

Similar Software

Other Software of Developer Benoit Jacob

JMathLib
JMathLib

3 Jun 15

Comments to Eigen

Comments not found
Add Comment
Turn on images!