Info about 3.0

From Eigen
Jump to: navigation, search
This page was written in November 2009 in the run-up to Eigen 3.0 and has not been kept up-to-date when Eigen 3.0 was released. It is kept for historical reasons.

What is Eigen 3.0?

Eigen 3.0 has been released on March 19, 2011. It is not API or ABI compatible with Eigen 2.0, whence the version number increase to 3.0. However, porting to 3.0 is relatively easy and Eigen 3.0 is co-installable with Eigen 2.0. We also provide extensive porting documentation.

What are the main areas of improvement between 2.0 and 3.0?

Eigen 3.0 is a major improvement on all fronts. Performance is improved everywhere. The API is much more future-proof, allowing for a long series of compatible 3.x releases. The algorithms are more reliable, in a way that was not always possible to achieve with the 2.0 API. Finally, Eigen 3.0 has a huge number of useful new features and even many whole new modules.

You can find more info about that in the 3.0 page.

How are you helping us porting code from Eigen 2.0 to 3.0?

In two main ways.

  • First, with Eigen 3, if you define EIGEN2_SUPPORT before including Eigen headers, a large part of the Eigen 2 API is supported.
  • Second, here is a page on porting from Eigen 2 to Eigen 3, with a lot of tips.

Do you plan to keep API compatibility for a longer period after 3.0?

Yes. We plan to enter a series of 3.x releases that will be fully compatible, only adding new API but not changing or removing existing API.