Update dependency com_gitlab_libeigen_eigen to v5 #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.3.8->5.0.1Release Notes
libeigen/eigen (com_gitlab_libeigen_eigen)
v5.0.1Compare Source
A few bug-fixes from the master branch, including
<version>header [#2986]See the full lists of addressed bugs and merge requests for more details.
v5.0.0Compare Source
Eigen 5.0 provides many new features, performance enhancements, and bugfixes throughout Eigen’s core template expression infrastructure and linear algebra facilities. The full set of changes and related issues are too large to list here, but can be accessed via the release milestone %"5.0".
This is the last major release to support the C++14 language standard. The master branch and subsequent releases will require support for C++17.
Versioning
This release marks a transition to Semantic Versioning. Previously, Eigen used a WORLD.MAJOR.MINOR scheme. From now on, version numbers will follow the MAJOR.MINOR.PATCH format, indicating breaking changes, new features, and bug fixes, respectively. The WORLD version will remain 3 for this and subsequent releases for posterity. See the table below:
Breaking changes
-std=c++14or later. As part of this change, some macros such asEIGEN_HAS_CXX11have also been removed.Eigen::allandEigen::lasthave been moved toEigen::placeholders::allandEigen::placeholders::last[!649].../src/..path) will result in a compilation error [!631].Scalar(1)rather than having all bits set to avoid undefined behavior [!1862].voidinstead ofintfor compatibility with other BLAS implementations [!1497].Eigen::aligned_allocatorno longer inherits fromstd::allocatordue to a change in the standard and the use ofallocate_at_least[!1795].v3.4.1Compare Source
Many bug fixes have been backported from the main branch.
A list of new issues addressed can be found via the 3.4.1 label on GitLab.
Check the git commit history for the full list of changes.
v3.4.0Compare Source
Notice: 3.4.x will be the last major release series of Eigen that will support c++03.
Breaking changes
Transform::computeRotationScaling()andTransform::computeScalingRotation()are now more continuous across degeneracies (see !349).New features
initializer_listconstructors to Matrix and Array [doc]Vector<Type,Size>andRowVector<Type,Size>aliases [doc].bfloat16.New backends
uint32_tandfloatare available.Improvements
EIGEN_MAKE_ALIGNED_OPERATOR_NEW.transposeInPlace.colmajor_mat.rowwise().mean().Elementwise math functions
ldexp.sinandcoswith huge arguments.pow(x,y).pow,log,sin,cos,arg,pow,log2, complexsqrt,erf,expm1,logp1,logistic,rint,gammaandbesselfunctions, and more.ndtri,erfc, inverse hyperbolic functions and more)absolute_difference,rint.Dense matrix decompositions and solvers
.transpose(),.adjoint()and.solve()APIs.info()method for checking convergence.HouseholderSequencewith the identity, as well as the evaluation of aHouseholderSequenceto a dense matrix using faster blocked product.Sparse matrix support, decompositions and solvers
KLUSupportmodule. SuiteSparse must be installed to use this module.SparseCholeskynow works with row-major matrices.Type support
half__fp16, CUDA/HIP__half, andF16Cconversion intrinsics.MatrixorTensorofbool.Backend-specific improvements
uint64_t,int64_t,uint32_t,int16_t,uint16_t,int16_t,int8_t, anduint8_tbfloat16support when usingEigen::bfloat16float16when usingEigen::halfstd::complex,half, andbfloat16vectorization support added.gebp_kernelspecific to Altivec, using VSX implementation of the MMA instructions that gain speed improvements up to 4x for matrix-matrix products.__builtin_cpu_supports.std::complex.EIGEN_NO_CUDA.floatandstd::complex<float>support added.EIGEN_USE_SYCL.TensorDeviceSycl.Miscellaneous API Changes
setConstant(...)methods for preserving one dimension of a matrix by passing inNoChange.setUnit(Index i)for vectors that sets the ''i'' th coefficient to one and all others to zero.transpose(),adjoint(),conjugate()methods toSelfAdjointView.shiftLeft<N>()andshiftRight<N>()coefficient-wise arithmetic shift functions to Arrays.EIGEN_DEFAULT_L1_CACHE_SIZE, ...,EIGEN_DEFAULT_L3_CACHE_SIZE.EIGEN_ALIGNOF(X)macro for determining alignment of a provided variable.VectorwiseOpby defining a fileEIGEN_VECTORWISEOP_PLUGIN(e.g.-DEIGEN_VECTORWISEOP_PLUGIN=my_vectorwise_op_plugins.h).EIGEN_NO_IO.Improvement to NaN propagation
NaNPropagationtemplate argument to control whether NaNs are propagated or suppressed in elementwisemin/maxand corresponding reductions onArray,Matrix, andTensor.New low-latency non-blocking ThreadPool module
Eigen::ThreadPoolis now separate and more portable, and forms the basis for multi-threading in TensorFlow, for example.Changes to Tensor module
nvcc.PADDING_SAMEto be consistent with TensorFlow.Changes to sparse iterative solvers
Other relevant changes
See the announcement for more details.
v3.3.9Compare Source
Changes since 3.3.8:
4e5385c: Introduce rendering Doxygen math formulas with MathJax and the optionEIGEN_DOC_USE_MATHJAXto control this.std::move.bfdd4a9: Fix an issue with Intel® MKL PARDISO support.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.