Eigen  5.0.1
 
Loading...
Searching...
No Matches
Experimental parts of Eigen

Summary

Most of Eigen's public API is stable: since Eigen 5.0 releases follow semantic versioning, so API-breaking changes to supported, documented features only happen in major releases. However, some parts of Eigen are explicitly experimental, meaning that they are not covered by this stability guarantee.

Experimental features may, in any release:

  • be removed;
  • be subject to an API incompatible change;
  • introduce API or ABI incompatible changes in your own code if you let them affect your API or ABI.

What is experimental?

  • Features whose documentation carries the explicit warning "This is not considered to be part of the stable public API yet", which links to this page.
  • Everything in the Eigen::internal namespace, and the private implementation headers under Eigen/src/ and contrib/Eigen/src/. Include the public module headers such as <Eigen/Core> instead; names not reachable through them are implementation details, even where a header does not mechanically enforce this.
  • The modules under contrib/Eigen/. These are contributed modules maintained with looser API-stability guarantees than the main library. "Contrib" does not mean low quality or low usage — the Tensor module, for instance, is a foundational dependency of TensorFlow — but their APIs may evolve between minor releases.

Undocumented behavior of otherwise stable classes (for example, the exact layout of a decomposition's internal storage as exposed by low-level accessors) should likewise not be relied upon.