Awesome work! It appears that there might be a regression in the use of Eigen::eigen_assert_exception. I've opened a bug report here:
https://gitlab.com/libeigen/eigen/-/issues/2011 Sincerely, Luke Peterson On Mon, Oct 5, 2020 at 5:19 AM David Tellenbach <[email protected]> wrote: > We are happy to announce that Eigen 3.3.8 has been released today! > > This is a maintenance release fixing minor bugs and compilation issues. > For more > details have a look at the changelog pasted below and on > > http://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3.8 > > The sources are available on GitLab: > > https://gitlab.com/libeigen/eigen/-/releases/3.3.8 > > Thanks to the community for helping us to bring Eigen development up to > speed > again! > > 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... > Commit 165db26dc > and 8ee2e10af: Fix performance issue with SimplicialLDLT for complexes > coefficients > > Misc commits > ------------ > Commit 5f1082d0b: Fix QuaternionBase::cast for quaternion map and wrapper. > Commit a153dbae9: Fix case issue with Lapack unit tests. > Commit 3d7e2a1f3: Fix possible conflict with an externally defined "real" > type > when using gcc-5. > Commit 1760432f6: Provide numext::[u]int{32,64}_t. > Commit 3d18879fc: Initialize isometric transforms like affine transforms. > Commit 160c0a340: Change typedefs from private to protected to fix MSVC > compilation. > Commit 3cf273591: Fix compilation of FFTW unit test. > Commit 6abc9e537: Fix compilation of BLAS backend and frontend. > Commit 47e2f8a42: Fix real/imag namespace conflict. > Commit 71d0402e3: Avoid throwing in destructors. > Commit 0dd9643ad: Fix precision issue in SelfAdjointEigenSolver.h > Commit 6ed74ac97: Make digits10() return an integer. > Commit 841d844f9: Use pade for matrix exponential also for complex values. > Commit 4387298e8: Cast Index to RealScalar in SVDBase to fix an issue when > RealScalar is not implicitly convertible to Index. > Commit fe8cd812b: Provide EIGEN_HAS_C99_MATH when using MSVC. > Commit 7c4208450: Various fixes in polynomial solver and its unit tests. > Commit e777674a8 > and 4415d4e2d: Extend polynomial solver unit tests to complexes. > Commit 222ce4b49: Automatically switch between EigenSolver and > ComplexEigenSolver, and fix a few Real versus Scalar > issues. > Commit 7b93328ba: Enable construction of Ref<VectorType> from a runtime > vector. > Commit c28ba89fe: Fix a problem of old gcc versions having problems with > recursive #pragma GCC diagnostic push/pop. > Commit 210d510a9: Fix compilation with expression template scalar type. > Commit efd72cddc: Backport AVX512 implementation to 3.3. > Commit 5e484fa11: Fix StlDeque compilation issue with GCC 10. > Commit a796be81a: Avoid false-positive test results in non-linear > optimization > tests > Commit 9f202c6f1: Fix undefined behaviour caused by uncaught exceptions in > OMP > section of parallel GEBP kernel. > Commit 4707c3aa8: Fix a bug with half-precision floats on GPUs. > > Fixed warnings > -------------- > Commit 14db78c53: Fix some maybe-uninitialized warnings in AmbiVector.h > and test > bdcsvd. > Commit f1b1f13d3: silent cmake warnings in Lapack CMakeLists.txt > Commit 8fb28db12: Rename variable which shadows class name in Polynomials > module. > Commit f1c12d8ff: Workaround gcc's alloc-size-larger-than= warning in > DenseStorage.h > Commit 6870a39fe: Hide some unused variable warnings in g++8.1 in Tensor > contraction mapper. > Commit bb9981e24: Fix gcc 8.1 warning: "maybe use uninitialized" in std > tests > Commit eea99eb4e: Fix always true warning with gcc 4.7in test numext. > Commit 65a6d4151: Fix nonnull-compare warning in test geo_alignedbox. > Commit 74a0c08d7: Disable ignoring attributes warning in vectorization > logic > test. > Commit 6c4d57dc9: Fix a gcc7 warning about bool * bool in abs2 default > implementation. > Commit 89a86ed42: Fix a warning in SparseSelfAdjointView about a branch > statement always evaluation to false. > > > > -- For a successful technology, reality must take precedence over public relations, for Nature cannot be fooled. -- Richard Feynman
