Path to this page:
Subject: CVS commit: pkgsrc/math/eigen3
From: Patrick Welche
Date: 2015-11-15 13:06:33
Message id: 20151115120633.F0ABD98@cvs.netbsd.org
Log Message:
Update eigen3 to 3.2.7
Eigen 3.2.7
Released on November 5, 2015
Changes since 3.2.6:
* Main fixes and improvements:
+ 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.
+ [59]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))
+ [60]Bug 1092: fix iterative solver constructors for
expressions as input
+ [61]Bug 1088: fix setIdenity for non-compressed sparse-matrix
+ [62]Bug 1086: add support for recent SuiteSparse versions
* Others:
+ 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).
+ [63]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.
+ [64]Bug 1063: fix nesting of unsupported/AutoDiffScalar to
prevent dead references when computing second-order
derivatives
+ [65]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.
+ [66]Bug 1080: warning fixes
Eigen 3.2.6
Released on October 1, 2015
Changes since 3.2.5:
* fix some compilation issues with MSVC 2013, including bugs [67]1000
and [68]1057
* SparseLU: fixes to support EIGEN_DEFAULT_TO_ROW_MAJOR ([69]bug
1053), and for empty ([70]bug 1026) and some structurally rank
deficient matrices ([71]bug 792)
* [72]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
* [73]Bug 1059: fix predux_max<Packet4i> for NEON
* [74]Bug 1039: fix some issues when redefining
EIGEN_DEFAULT_DENSE_INDEX_TYPE
* [75]Bug 1062: fix SelfAdjointEigenSolver for RowMajor matrices
* MKL: fix support for the 11.2 version, and fix a naming conflict
([76]bug 1067)
+ [77]Bug 1033: explicit type conversion from 0 to RealScalar
Eigen 3.3-alpha1
Released on September 4, 2015
See the [78]announcement.
Eigen 3.2.5
Released on June 16, 2015
Changes since 3.2.4:
* Changes with main impact:
+ Improve robustness of SimplicialLDLT to semidefinite problems
by correctly handling structural zeros in AMD reordering
+ Re-enable supernodes in SparseLU (fix a performance regression
in SparseLU)
+ Use zero guess in ConjugateGradients::solve
+ Add PermutationMatrix::determinant method
+ Fix SparseLU::signDeterminant() method, and add a
SparseLU::determinant() method
+ Allows Lower|Upper as a template argument of CG and MINRES: in
this case the full matrix will be considered
+ [79]Bug 872: remove usage of std::bind* functions (deprecated
in c++11)
* Numerical robustness improvements:
+ [80]Bug 1014: improve numerical robustness of the 3x3 direct
eigenvalue solver
+ [81]Bug 1013: fix 2x2 direct eigenvalue solver for identical
eigenvalues
+ [82]Bug 824: improve accuracy of Quaternion::angularDistance
+ [83]Bug 941: fix an accuracy issue in ColPivHouseholderQR by
continuing the decomposition on a small pivot
+ [84]Bug 933: improve numerical robustness in RealSchur
+ Fix default threshold value in SPQR
* Other changes:
+ Fix usage of EIGEN_NO_AUTOMATIC_RESIZING
+ Improved support for custom scalar types in SparseLU
+ Improve cygwin compatibility
+ [85]Bug 650: fix an issue with sparse-dense product and
rowmajor matrices
+ [86]Bug 704: fix MKL support (HouseholderQR)
+ [87]Bug 705: fix handling of Lapack potrf return code (LLT)
+ [88]Bug 714: fix matrix product with OpenMP support
+ [89]Bug 949: add static assertions for incompatible scalar
types in many of the dense decompositions
+ [90]Bugs 957, [91]1000: workaround MSVC/ICC compilation issues
when using sparse blocks
+ [92]Bug 969: fix ambiguous calls to Ref
+ [93]Bugs 972, [94]986: add support for coefficient-based
product with 0 depth
+ [95]Bug 980: fix taking a row (resp. column) of a column-major
(resp. row-major) sparse matrix
+ [96]Bug 983: fix an alignement issue in Quaternion
+ [97]Bug 985: fix RealQZ when either matrix had zero rows or
columns
+ [98]Bug 987: fix alignement guess in diagonal product
+ [99]Bug 993: fix a pitfall with matrix.inverse()
+ [100]Bugs 996, [101]1016: fix scalar conversions
+ [102]Bug 1003: fix handling of pointers non aligned on scalar
boundary in slice-vectorization
+ [103]Bug 1010: fix member initialization in IncompleteLUT
+ [104]Bug 1012: enable alloca on Mac OS or if alloca is defined
as macro
+ Doc and build system: [105]733, [106]914, [107]952, [108]961,
[109]999
Eigen 3.2.4
Released on January 21, 2015
Changes since 3.2.3:
* Fix compilation regression in Rotation2D
* [110]Bug 920: fix compilation issue with MSVC 2015.
* [111]Bug 921: fix utilization of bitwise operation on enums in
first_aligned.
* Fix compilation with NEON on some platforms.
Eigen 3.2.3
Released on December 16, 2014
Changes since 3.2.2:
* Core:
+ Enable Mx0 * 0xN matrix products.
+ [112]Bug 859: fix returned values for vectorized versions of
exp(NaN), log(NaN), sqrt(NaN) and sqrt(-1).
+ [113]Bug 879: tri1 = mat * tri2 was compiling and running
incorrectly if tri2 was not numerically triangular. Workaround
the issue by evaluating mat*tri2 into a temporary.
+ [114]Bug 854: fix numerical issue in
SelfAdjointEigenSolver::computeDirect for 3x3 matrices.
+ [115]Bug 884: make sure there no call to malloc for zero-sized
matrices or for a Ref<> without temporaries.
+ [116]Bug 890: fix aliasing detection when applying a
permutation.
+ [117]Bug 898: MSVC optimization by adding inline hint to
const_cast_ptr.
+ [118]Bug 853: remove enable_if<> in Ref<> ctor.
* Dense solvers:
+ [119]Bug 894: fix the sign returned by LDLT for multiple calls
to compute().
+ Fix JacobiSVD wrt underflow and overflow.
+ [120]Bug 791: fix infinite loop in JacobiSVD in the presence
of NaN.
* Sparse:
+ Fix out-of-bounds memory write when the product of two sparse
matrices is completely dense and performed using pruning.
+ UmfPack support: fix redundant evaluation/copies when calling
compute(), add support for generic expressions as input, and
fix extraction of the L and U factors ([121]Bug 911).
+ Improve SparseMatrix::block for const matrices (the generic
path was used).
+ Fix memory pre-allocation when permuting inner vectors of a
sparse matrix.
+ Fix SparseQR::rank for a completely empty matrix.
+ Fix SparseQR for row-major inputs.
+ Fix SparseLU::absDeterminant and add respective unit test.
+ BiCGSTAB: make sure that good initial guesses are not
destroyed by a bad preconditioner.
* Geometry:
+ Fix Hyperplane::Through(a,b,c) when points are aligned or
identical.
+ Fix linking issues in OpenGLSupport.
* OS, build system and doc:
+ Various compilation fixes including: [122]bug 821, [123]bug
822, [124]bug 857, [125]bug 871, [126]bug 873.
+ Fix many compilation warnings produced by recent compilers
including: [127]bug 909.
+ [128]Bug 861: enable posix_memalign with PGI.
+ Fix BiCGSTAB doc example.
Eigen 3.2.2
Released on August 4, 2014
Changes since 3.2.1:
* Core:
+ Relax Ref such that Ref<MatrixXf> accepts a RowVectorXf which
can be seen as a degenerate MatrixXf(1,N)
+ Fix performance regression for the vectorization of sub
columns/rows of matrices.
+ EIGEN_STACK_ALLOCATION_LIMIT: Raise its default value to
128KB, make use of it to assert on maximal fixed size object,
and allows it to be 0 to mean "no limit".
+ [129]Bug 839: Fix 1x1 triangular matrix-vector product.
+ [130]Bug 755: CommaInitializer produced wrong assertions in
absence of Return-Value-Optimization.
* Dense solvers:
+ Add a rank() method with threshold control to JacobiSVD, and
make solve uses it to return the minimal norm solution for
rank-deficient problems.
+ Various numerical fixes in JacobiSVD, including:[131]bug 843,
and the move from Lapack to Matlab strategy for the default
threshold.
+ Various numerical fixes in LDLT, including the case of
semi-definite complex matrices.
+ Fix ColPivHouseholderQR::rank().
+ [132]Bug 222: Make temporary matrix column-major independently
of EIGEN_DEFAULT_TO_ROW_MAJOR in BlockHouseholder.
* Sparse:
+ [133]http://eigen.tuxfamily.org/bz/show_bug.cgi?id=838 Bug
838]: Fix dense * sparse and sparse * dense outer products and
detect outer products from either the lhs or rhs.
+ Make the ordering method of SimplicialL[D]LT configurable.
+ Fix regression in the restart mechanism of BiCGSTAB.
+ [134]Bug 836: extend SparseQR to support more columns than
rows.
+ [135]Bug 808: Use double instead of float for the increasing
size ratio in CompressedStorage::resize, fix implicit
conversions from int/longint to float/double, and fix
set_from_triplets temporary matrix type.
+ [136]Bug 647: Use smart_copy instead of bitwise memcpy in
CompressedStorage.
+ GMRES: Initialize essential Householder vector with correct
dimension.
* Geometry:
+ [137]Bug 807: Missing scalar type cast in umeyama()
+ [138]Bug 806: Missing scalar type cast in
Quaternion::setFromTwoVectors()
+ [139]Bug 759: Removed hard-coded double-math from
Quaternion::angularDistance.
* OS, build system and doc:
+ Fix compilation with Windows CE.
+ Fix some ICEs with VC11.
+ Check IMKL version for compatibility with Eigen
+ [140]Bug 754: Only inserted (!defined(_WIN32_WCE)) analog to
alloc and free implementation.
+ [141]Bug 803: Avoid char* to int* conversion.
+ [142]Bug 819: Include path of details.h file.
+ [143]Bug 738: Use the "current" version of cmake project
directories to ease the inclusion of Eigen within other
projects.
+ [144]Bug 815: Fix doc of FullPivLU wrt permutation matrices.
+ [145]Bug 632: doc: Note that dm2 = sm1 + dm1 is not possible
+ Extend AsciiQuickReference (real, imag, conjugate, rot90)
Eigen 3.2.1
Released on February 26, 2014
Changes since 3.2.0:
* Eigen2 support is now deprecated and will be removed in version
3.3.
* Core:
+ Bug fix for Ref object containing a temporary matrix.
+ [146]Bug 654: Allow construction of row vector from 1D array.
+ [147]Bug 679: Support cwiseMin() and cwiseMax() on maps.
+ Support conservativeResize() on vectors.
+ Improve performance of vectorwise and replicate expressions.
+ [148]Bug 642: Add vectorization of sqrt for doubles, and make
sqrt really safe if EIGEN_FAST_MATH is disabled.
+ [149]Bug 616: Try harder to align columns when printing
matrices and arrays.
+ [150]Bug 579: Add optional run-time parameter to fixed-size
block methods.
+ Implement .all() and .any() for zero-sized objects
+ [151]Bug 708: Add placement new and delete for arrays.
+ [152]Bug 503: Better C++11 support.
* Dense linear algebra:
+ [153]Bug 689: Speed up some matrix-vector products by using
aligned loads if possible.
+ Make solve in FullPivHouseholderQR return least-square
solution if there is no exact solution.
+ [154]Bug 678: Fix fullPivHouseholderQR for rectangular
matrices.
+ Fix a 0/0 issue in JacobiSVD.
+ [155]Bug 736: Wrong result in LDLT::isPositiveDefinite() for
semi-definite matrices.
+ [156]Bug 740: Fix overflow issue in stableNorm().
+ Make pivoting HouseholderQR compatible with custom scalar
types.
* Geometry:
+ Fix compilation of Transform * UniformScaling
* Sparse matrices:
+ Fix elimination tree and SparseQR for fat rectangular
matrices.
+ [157]Bug 635: add isCompressed to MappedSparseMatrix for
compatibility.
+ [158]Bug 664: Support iterators without operator< in
setFromTriplets().
+ Fixes in SparseLU: infinite loop, aliasing issue when solving,
overflow in memory allocation, use exceptions only if enabled
([159]bug 672).
+ Fixes in SparseQR: reduce explicit zero, assigning result to
map, assert catching non-conforming sizes, memory leak.
+ [160]Bug 681: Uninitialized value in CholmodSupport which may
lead to incorrect results.
+ Fix some issues when using a non-standard index type ([161]bug
665 and more)
+ Update constrained CG (unsupported module) to Eigen3.
* OS and build system:
+ MacOS put OpenGL header files somewhere else from where we
expected it.
+ Do not assume that alloca() is 16-byte aligned on Windows.
+ Compilation fixes when using ICC with Visual Studio.
+ Fix Fortran compiler detection in CMake files.
* Fix some of our tests (bugs [162]744 and [163]748 and more).
* Fix a few compiler warnings (bug [164]317 and more).
* Documentation fixes (bugs [165]609, [166]638 and [167]739 and
more).
Files: