* Fri Aug 20 2021 Atri Bhattacharya <badshah400@gmail.com>
- Update to version 3.4.0
* Long list of changes, see
<https://eigen.tuxfamily.org/index.php?title=3.4>.
- Drop patches incorporated or otherwise fixed upstream:
* eigen3-CastXML-support-for-aarch64.patch.
* eigen3-make-sparseqr-unit-test-stable.patch.
* eigen3-failtests-handling.patch.
- Rebase following patches for updated sources:
* 0001-Disable-Altivec-for-ppc64le.patch.
* 0001-Do-stack-allignment-on-ppc.patch.
- Minor line offset adjustments of other patches to apply cleanly.
* Tue Dec 08 2020 Atri Bhattacharya <badshah400@gmail.com>
- Update to version 3.3.9:
* Introduce rendering Doxygen math formulas with MathJax and the
option EIGEN_DOC_USE_MATHJAX to control this.
* Issue 1746: Removed implementation of standard
copy-constructor and standard copy-assign-operator from
PermutationMatrix and Transpositions to allow malloc-less
std::move.
* Issue 2036: Make sure the
find_standard_math_library_test_program compiles and doesn't
optimize away functions we try to test for.
* Issue 2046: Rename test/array.cpp to test/array_cwise.cpp to
fix an issue with the C++ standard library header "array"
* Issue 2040: Fix an issue in test/ctorleak that occured when
disabling exceptions.
* Issue 2011: Remove error counting in OpenMP parallel section
in Eigen's GEMM parallelizing logic.
* Issue 2012: Define coeff-wise binary array operators for base
class to fix an issue when using Eigen with C++20
* Fix an issue with Intel® MKL PARDISO support.
- Drop Remove-error-counting-in-OpenMP-parallelize_gemm.patch:
incorporated upstream.
- Add patches to fix building and running tests:
* eigen3-failtests-handling.patch: Simplify handling of tests
that must fail to compile; upstream commit: 72c0bbe.
* eigen3-make-sparseqr-unit-test-stable.patch: Make sparseqr
test more stable to prevent random failures; patch taken from
upstream commit
[https://gitlab.com/libeigen/eigen/-/issues/899].
* eigen3-googlehash-detection.patch: GoogleHash needs C++11 std
to compile test code and be succesfully detected.
* eigen3-fix-forward_adolc-unit-test.patch: Prevent conflict of
std::min/max with eigen's macros by importing eigen
test-suite's main.h header only after all system headers have
been included.
- Setup but don't run tests due to random errors in test-suite
itself
* Pass EIGEN_TEST_CXX11:Bool=ON and EIGEN_TEST_OPENMP:Bool=ON to
cmake to enable building c++11 and openmp tests.
* export EIGEN_SEED=100 to build with fixed seed (see
https://gitlab.com/libeigen/eigen/-/issues/2088).
* export EIGEN_REPEAT=1 to run each test only once (default 10)
to save time and since we use a fixed seed anyway.
* Disable for non-86_64 archs as some unsupported tests fail for
the others (for i586 some supported tests too, see
https://gitlab.com/libeigen/eigen/-/issues/2092).
- Pass CMAKE_SKIP_RPATH:BOOL=OFF and
CMAKE_SKIP_INSTALL_RPATH:BOOL=ON to cmake to fix rpath handling
in Leap 15.2's cmake macros (doesn't hurt generally).
- Change CMAKE_BUILD_TYPE from Release to RelWithDebInfo (openSUSE
default).
* Wed Nov 04 2020 Atri Bhattacharya <badshah400@gmail.com>
- Drop eigen_pkgconfig.patch: the includedir now needs to be
specified relative to CMAKE_INSTALL_PREFIX, so this patch causes
the includedir in the pkgconfig file to be erroneous
(boo#1178139).
- Use %autosetup to automatically run through patches.
* Sun Oct 25 2020 Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Fix compilation error when using Eigen3 with OpenMP:
* Remove-error-counting-in-OpenMP-parallelize_gemm.patch
* Thu Oct 15 2020 Atri Bhattacharya <badshah400@gmail.com>
- Update to version 3.3.8:
* General bug fixes:
- Issue #1995: Fix a failure in the GEBP kernel when using
small L1 cache sizes, OpenMP and FMA.
- Issue #1990: Make CMake accept installation paths relative
to CMAKE_INSTALL_PREFIX.
- Issue #1974: Fix issue when reserving an empty sparse matrix
- Issue #1823: Fix incorrect use of std::abs
- Issue #1788: Fix rule-of-three violations inside the stable
modules. This fixes deprecated-copy warnings when compiling
with GCC>=9. Also protect some additional Base-constructors
from getting called by user code code (Issue #1587)
- Issue #1796: Make matrix squareroot usable for Map and Ref
types.
- Issue #1281: Fix AutoDiffScalar's make_coherent for nested
expression of constant ADs.
- Issue #1761: Fall back is_integral to std::is_integral in
c++11 and fix internal::is_integral<size_t/ptrdiff_t> with
MSVC 2013 and older.
- Issue #1741: Fix self-adjoint*matrix, triangular*matrix, and
triangular^1*matrix with a destination having a non-trivial
inner-stride.
- Issue #1741: Fix SelfAdjointView::rankUpdate and product to
triangular part for destination with non-trivial inner
stride.
- Issue #1741: Fix C.noalias() = A*C; with C.innerStride()!=1.
- Issue #1695: Fix a numerical robustness issue in BDCSVD.
- Issue #1692: Enable enum as sizes of Matrix and Array.
- Issue #1689: Fix used-but-marked-unused warning.
- Issue #1679: Avoid possible division by 0 in complex-schur.
- Issue #1676: Fix C++17 template deduction in DenseBase.
- Issue #1669: Fix PartialPivLU/inverse with zero-sized
matrices.
- Issue #1557: Fix RealSchur and EigenSolver for matrices with
only zeros on the diagonal.
* Performance related fixes:
- Issue #1562: Optimize evaluation of small products of the
form s*A*B by rewriting them as: s*(A.lazyProduct(B)) to
save a costly temporary. Measured speedup from 2x to 5x...
- Fix performance issue with SimplicialLDLT for complexes
coefficients.
* Misc fixes:
- Fix QuaternionBase::cast for quaternion map and wrapper.
- Fix case issue with Lapack unit tests.
- Fix possible conflict with an externally defined "real" type
when using gcc-5.
- Provide numext::[u]int{32,64}_t.
- Initialize isometric transforms like affine transforms.
- Change typedefs from private to protected to fix MSVC
compilation.
- Fix compilation of FFTW unit test.
- Fix compilation of BLAS backend and frontend.
- Fix real/imag namespace conflict.
- Avoid throwing in destructors.
- Fix precision issue in SelfAdjointEigenSolver.h
- Make digits10() return an integer.
- Use pade for matrix exponential also for complex values.
- Cast Index to RealScalar in SVDBase to fix an issue when
RealScalar is not implicitly convertible to Index.
- Provide EIGEN_HAS_C99_MATH when using MSVC.
- Various fixes in polynomial solver and its unit tests.
- nd 4415d4e2d: Extend polynomial solver unit tests to
complexes.
- Automatically switch between EigenSolver and
ComplexEigenSolver, and fix a few Real versus Scalar issues.
- Enable construction of Ref<VectorType> from a runtime
vector.
- Fix a problem of old gcc versions having problems with
recursive #pragma GCC diagnostic push/pop.
- Fix compilation with expression template scalar type.
- Backport AVX512 implementation to 3.3.
- Fix StlDeque compilation issue with GCC 10.
- Avoid false-positive test results in non-linear optimization
tests.
- Fix undefined behaviour caused by uncaught exceptions in OMP
section of parallel GEBP kernel.
- Fix a bug with half-precision floats on GPUs.
* Fixed warnings:
- Fix some maybe-uninitialized warnings in AmbiVector.h and
test bdcsvd.
- Silent cmake warnings in Lapack CMakeLists.txt.
- Rename variable which shadows class name in Polynomials
module.
- Workaround gcc's alloc-size-larger-than= warning in
DenseStorage.h.
- Hide some unused variable warnings in g++8.1 in Tensor
contraction mapper.
- Fix gcc 8.1 warning: "maybe use uninitialized" in std tests.
- Fix always true warning with gcc 4.7in test numext.
- Fix nonnull-compare warning in test geo_alignedbox.
- Disable ignoring attributes warning in vectorization logic
test.
- Fix a gcc7 warning about bool * bool in abs2 default
implementation.
- Fix a warning in SparseSelfAdjointView about a branch
statement always evaluation to false.
- Minor rebase of patches to fix offsets.
- Specify relative path to includedir as option to cmake as it
only accepts paths relative to CMAKE_INSTALL_PREFIX now.
- Drop Group tags.
* Thu Sep 17 2020 Atri Bhattacharya <badshah400@gmail.com>
- Add eigen3-CastXML-support-for-aarch64.patch to support CastXML
on aarch64 [https://gitlab.com/libeigen/eigen/-/issues/1979];
patch taken from upstream commit and rebased to apply without
fuzz.
* Mon Aug 05 2019 Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Convert to _multibuild, to avoid doc dependencies when building
the main package.
* Wed Jul 24 2019 Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Clean up spec file:
* Correct License tag, some included algorithms are LGPL-2.1-only
* Remove conditionals for obsolete distributions (which were failing
or unresolvable anyway)
* Remove defattr, use license macro
* Hide GL/GLUT/GLEW BuildRequires behind tests bcond, as tests are
not build currently
* Add missing BuildRequires tex(newunicodechar.sty), group doc dependencies
* Tue Feb 26 2019 Bernhard Wiedemann <bwiedemann@suse.com>
- Drop doc tgz that contained duplicated files
to make the package build reproducible (boo#1047218)
* Sat Dec 29 2018 Christoph Junghans <junghans@votca.org>
- Update to version 3.3.7:
+ Changes since 3.3.6: Fix compilation with GCC>=6 and compiler optimization turned off.
- Added eigen3-3.3.1-fixcmake.patch
* Tue Nov 07 2017 alarrosa@suse.com
- Remove libqt4 from BuildRequires since it's actually only required
by some demos and tests which are simply not built when it's not
available (except on Leap, where libqt4 is required)
* Sat Aug 12 2017 jengelh@inai.de
- Use right RPM group.
* Tue Jul 18 2017 cfeck@kde.org
- Split documentation into its own -doc package due to size.
* Wed Jul 05 2017 asterios.dramis@gmail.com
- Update to version 3.3.4:
General:
* Improve speed of Jacobi rotation when mixing complex and real
types.
* Bug 1405: enable StrictlyLower/StrictlyUpper triangularView as
the destination of matrix*matrix products.
* UmfPack support: enable changes in the control settings and add
report functions.
* Bug 1423: fix LSCG's Jacobi preconditioner for row-major
matrices.
* Bug 1424: fix compilation issue with abs and unsigned integers
as scalar type.
* Bug 1410: fix lvalue propagation of Array/Matrix-Wrapper with a
const nested expression.
* Bug 1403: fix several implicit scalar type conversion making
SVD decompositions compatible with ceres::Jet.
* Fix some real-to-scalar-to-real useless conversions in
ColPivHouseholderQR.
Regressions:
* Fix dense * sparse-selfadjoint-view product.
* Bug 1417: make LinSpace compatible with std::complex.
* Bug 1400: fix stableNorm alignment issue with
EIGEN_DONT_ALIGN_STATICALLY.
* Bug 1411: fix alignment issue in Quaternion.
* Fix compilation of operations between nested Arrays.
* Bug 1435: fix aliasing issue in expressions like: A = C - B*A.
Others:
* Fix compilation with gcc 4.3 and ARM NEON.
* Fix prefetches on ARM64 and ARM32.
* Fix out-of-bounds check in COLAMD.
* Few minor fixes regarding nvcc/CUDA support, including bug
1396.
* Improve cmake scripts for Pastix and BLAS detection.
* Bug 1401: fix compilation of "cond ? x : -x" with x an
AutoDiffScalar
* Fix compilation of matrix log with Map as input.
* Add specializations of std::numeric_limits for Eigen::half and
and AutoDiffScalar
* Fix compilation of streaming nested Array, i.e.,
cout << Array<Array<>>
* Tue Mar 07 2017 asterios.dramis@gmail.com
- Update to version 3.3.3:
* Lots of changes. See
http://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3.3
for details.
- Added new build requirements libboost_headers-devel for
Tumbleweed and boost-devel for openSUSE <= 13.2.
- Rebased 0001-Disable-Altivec-for-ppc64le.patch and
0001-Do-stack-allignment-on-ppc.patch to apply cleanly.
* Wed Jan 04 2017 olaf@aepfle.de
- Require texlive-dvips during build
* Sun Aug 07 2016 asterios.dramis@gmail.com
- Update to version 3.2.9:
Main fixes and improvements:
* Improve numerical robustness of JacobiSVD (backported from 3.3)
* Bug 1017: prevents underflows in makeHouseholder
* Fix numerical accuracy issue in the extraction of complex
eigenvalue pairs in real generalized eigenvalue problems.
* Fix support for vector.homogeneous().asDiagonal()
* Bug 1238: fix SparseMatrix::sum() overload for un-compressed
mode
* Bug 1213: workaround gcc linking issue with anonymous enums.
* Bug 1236: fix possible integer overflow in sparse-sparse
product
* Improve detection of identical matrices when applying a
permutation (e.g., mat = perm * mat)
* Fix usage of nesting type in blas_traits. In practice, this
fixes compilation of expressions such as A*(A*A)^T
* CMake: fixes support of Ninja generator
* Add a StorageIndex typedef to sparse matrices and expressions
to ease porting code to 3.3
(see http://eigen.tuxfamily.org/index.php?title=3.3#Index_typedef)
* Bug 1200: make aligned_allocator c++11 compatible (backported
from 3.3)
* Bug 1182: improve generality of abs2 (backported from 3.3)
* Bug 537: fix compilation of Quaternion with Apples's compiler
* Bug 1176: allow products between compatible scalar types
* Bug 1172: make valuePtr and innerIndexPtr properly return null
for empty sparse matrices.
* Bug 1170: skip calls to memcpy/memmove for empty inputs.
Others:
* Bug 1242: fix comma initializer with empty matrices.
* Improves support for MKL's PARDISO solver.
* Fix a compilation issue with Pastix solver.
* Add some missing explicit scalar conversions
* Fix a compilation issue with matrix exponential (unsupported
MatrixFunctions module).
* Bug 734: fix a storage order issue in unsupported Spline module
* Bug 1222: fix a compilation issue in AutoDiffScalar
* Bug 1221: shutdown some GCC6's warnings.
* Bug 1175: fix index type conversion warnings in sparse to dense
conversion.
- Removed build requirements gnu-free-fonts and texlive-amsfonts
(not needed anymore).
* Thu Jun 30 2016 asterios.dramis@gmail.com
- Update to version 3.2.8:
Main fixes and improvements:
* Make FullPivLU::solve use rank() instead of nonzeroPivots().
* Add EIGEN_MAPBASE_PLUGIN
* Bug 1166: fix issue in matrix-vector products when the
destination is not a vector at compile-time.
* Bug 1100: Improve cmake/pkg-config support.
* Bug 1113: fix name conflict with C99's "I".
* Add missing delete operator overloads in
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
* Fix (A*B).maxCoeff(i) and similar.
* Workaround an ICE with VC2015 Update1 x64.
* Bug 1156: fix several function declarations whose arguments
were passed by value instead of being passed by reference
* Bug 1164: fix std::list and std::deque specializations such
that our aligned allocator is automatically activatived only
when the user did not specified an allocator (or specified the
default std::allocator).
Others:
* Fix BLAS backend (aka MKL) for empty matrix products.
* Bug 1134: fix JacobiSVD pre-allocation.
* Bug 1111: fix infinite recursion in
sparse-column-major.row(i).nonZeros() (it now produces a
compilation error)
* Bug 1106: workaround a compilation issue in Sparse module for
msvc-icc combo
* Bug 1153: remove the usage of __GXX_EXPERIMENTAL_CXX0X__ to
detect C++11 support
* Bug 1143: work-around gcc bug in COLAMD
* Improve support for matrix products with empty factors.
* Fix and clarify documentation of Transform wrt
operator*(MatrixBase)
* Add a matrix-free conjugate gradient example.
* Fix cost computation in CwiseUnaryView (internal)
* Remove custom unaligned loads for SSE.
* Some warning fixes.
* Several other documentation clarifications.
- Updated build requirement superlu to superlu-devel.
- Added a patch "eigen_pkgconfig.patch" to fix pkg-config file
includedir (taken from Fedora).
- Added a patch "01_install_FindEigen3.patch" to install
FindEigen3.cmake (taken from Fedora).
* Fri Nov 27 2015 Rene.vanPaassen@gmail.com
- Specify eigen header install dir; otherwise the pkgconfig file
defaults to -Iinclude/eigen3
* Mon Nov 16 2015 p.drouand@gmail.com
- Update to version 3.2.7
* Add support for dense.cwiseProduct(sparse).
* Fix a regression regarding (dense*sparse).diagonal().
* Make the IterativeLinearSolvers module compatible with MPL2-only
mode by defaulting to COLAMDOrdering and NaturalOrdering for ILUT
and ILLT respectively.
* Bug 266: backport support for c++11 move semantic
* operator/=(Scalar) now performs a true division (instead of mat*(1/s))
* Improve numerical accuracy in LLT and triangular solve by using
true scalar divisions (instead of mat * (1/s))
* Bug 1092: fix iterative solver constructors for expressions as input
* Bug 1088: fix setIdenity for non-compressed sparse-matrix
* Bug 1086: add support for recent SuiteSparse versions
* Add overloads for real-scalar times SparseMatrix<complex> operations.
This avoids real to complex conversions, and also fixes a compilation
issue with MSVC.
* Use explicit Scalar types for AngleAxis initialization
* Fix several shortcomings in cost computation (avoid multiple
re-evaluation in some very rare cases).
* Bug 1090: fix a shortcoming in redux logic for which
slice-vectorization plus unrolling might happen.
* Fix compilation issue with MSVC by backporting
DenseStorage::operator= from devel branch.
* Bug 1063: fix nesting of unsupported/AutoDiffScalar to prevent
dead references when computing second-order derivatives
* Bug 1100: remove explicit CMAKE_INSTALL_PREFIX prefix to conform
to cmake install's DESTINATION parameter.
* unsupported/ArpackSupport is now properly installed by make install.
* Bug 1080: warning fixes
- Changes from version 3.2.6
* fix some compilation issues with MSVC 2013, including bugs 1000 and 1057
* SparseLU: fixes to support EIGEN_DEFAULT_TO_ROW_MAJOR (bug 1053), and
for empty (bug 1026) and some structurally rank deficient matrices (bug 792)
* Bug 1075: fix AlignedBox::sample() for Dynamic dimension
* fix regression in AMD ordering when a column has only one off-diagonal
non-zero (used in sparse Cholesky)
* fix Jacobi preconditioner with zero diagonal entries
* fix Quaternion identity initialization for non-implicitly convertible types
* Bug 1059: fix predux_max<Packet4i> for NEON
* Bug 1039: fix some issues when redefining EIGEN_DEFAULT_DENSE_INDEX_TYPE
* Bug 1062: fix SelfAdjointEigenSolver for RowMajor matrices
* MKL: fix support for the 11.2 version, and fix a naming conflict (bug 1067)
* Bug 1033: explicit type conversion from 0 to RealScalar
-