pkgsrc/math/eigen3/PLIST

485 lines
26 KiB
Text
Raw Normal View History

Update to 3.3.7 Upstream changes: Eigen 3.3.7 Released on December 11, 2018. Changes since 3.3.6: Bug 1643: Fix compilation with GCC>=6 and compiler optimization turned off. Eigen 3.3.6 Released on December 10, 2018. Changes since 3.3.5: Bug 1617: Fix triangular solve crashing for empty matrix. Bug 785: Make dense Cholesky decomposition work for empty matrices. Bug 1634: Remove double copy in move-ctor of non movable Matrix/Array. Changeset 588e1eb34eff: Workaround weird MSVC bug. Bug 1637 Workaround performance regression in matrix products with gcc>=6 and clang>=6.0. Changeset bf0f100339c1: Fix some implicit 0 to Scalar conversions. Bug 1605: Workaround ABI issue with vector types (aka __m128) versus scalar types (aka float). Changeset d1421c479baa: Fix for gcc<4.6 regarding usage of #pragma GCC diagnostic push/pop. Changeset c20b83b9d736: Fix conjugate-gradient for right-hand-sides with a very small magnitude. Changeset 281a877a3bf7: Fix product of empty arrays (returned 0 instead of 1). Bug 1590: Fix collision with some system headers defining the macro FP32. Bug 1584: Fix possible undefined behavior in random generation. Changeset d632d18db8ca: Fix fallback to BLAS for rankUpdate. Fixes for NVCC 9. Fix matrix-market IO. Various fixes in the doc. Various minor warning fixes/workarounds. Eigen 3.3.5 Released on July 23, 2018. Changes since 3.3.4: General bug fixes: Fix GeneralizedEigenSolver when requesting for eigenvalues only (0d15855abb30) Bug 1560 fix product with a 1x1 diagonal matrix (90d7654f4a59) Bug 1543: fix linear indexing in generic block evaluation Fix compilation of product with inverse transpositions (e.g., mat * Transpositions().inverse()) (14a13748d761) Bug 1509: fix computeInverseWithCheck for complexes (8be258ef0b6d) Bug 1521: avoid signalling NaN in hypot and make it std::complex<> friendly (a9c06b854991). Bug 1517: fix triangular product with unit diagonal and nested scaling factor: (s*A).triangularView<UpperUnit>()*B (a546d43bdd4f) Fix compilation of stableNorm for some odd expressions as input (499e982b9281) Bug 1485: fix linking issue of non template functions (ae28c2aaeeda) Fix overflow issues in BDCSVD (92060f82e1de) Bug 1468 : add missing std:: to memcpy (4565282592ae) Bug 1453: fix Map with non-default inner-stride but no outer-stride (af00212cf3a4) Fix mixing types in sparse matrix products (7e5fcd0008bd) Bug 1544: Generate correct Q matrix in complex case (c0c410b508a1) Bug 1461: fix compilation of Map<const Quaternion>::x() (69652a06967d) Backends: Fix MKL backend for symmetric eigenvalues on row-major matrices (4726d6a24f69) Bug 1527: fix support for MKL's VML (972424860545) Fix incorrect ldvt in LAPACKE call from JacobiSVD (88c4604601b9) Fix support for MKL's BLAS when using MKL_DIRECT_CALL (205731b87e19, b88c70c6ced7, 46e2367262e1) Use MKL's lapacke.h header when using MKL (19bc9df6b726) Diagnostics: Bug 1516: add assertion for out-of-range diagonal index in MatrixBase::diagonal(i) (783d38b3c78c) Add static assertion for fixed sizes Ref<> (e1203d5ceb8e) Add static assertion on selfadjoint-view's UpLo parameter. (b84db94c677e, 0ffe8a819801) Bug 1479: fix failure detection in LDLT (67719139abc3) Compiler support: Bug 1555: compilation fix with XLC Workaround MSVC 2013 ambiguous calls (1c7b59b0b5f4) Adds missing EIGEN_STRONG_INLINE to help MSVC properly inlining small vector calculations (1ba3f10b91f2) Several minor warning fixes: 3c87fc0f1042, ad6bcf0e8efc, "used uninitialized" (20efc44c5500), Wint-in-bool-context (131da2cbc695, b4f969795d1b) Bug 1428: make NEON vectorization compilable by MSVC. (* 3d1b3dbe5927, 4e1b7350182a) Fix compilation and SSE support with PGI compiler (faabf000855d 90d33b09040f) Bug 1555: compilation fix with XLC (23eb37691f14) Bug 1520: workaround some -Wfloat-equal warnings by calling std::equal_to (7d9a9456ed7c) Make the TensorStorage class compile with clang 3.9 (eff7001e1f0a) Misc: some old compiler fixes (493691b29be1) Fix MSVC warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow) (524918622506) Architecture support: Several AVX512 fixes for log, sqrt, rsqrt, non AVX512ER CPUs, apply_rotation_in_the_plane b64275e912ba cab3d626a59e 7ce234652ab9, d89b9a754371. AltiVec fixes: 9450038e380d NEON fixes: const-cast (e8a69835ccda), compilation of Jacobi rotations (c06cfd545b15,bug 1436). Changeset d0658cc9d4a2: Define pcast<> for SSE types even when AVX is enabled. (otherwise float are silently reinterpreted as int instead of being converted) Bug 1494: makes pmin/pmax behave on Altivec/VSX as on x86 regarding NaNs (d0af83f82b19) Documentation: Update manual pages regarding BDCSVD (bug 1538) Add aliasing in common pitfaffs (2a5a8408fdc5) Update aligned_allocator (21e03aef9f2b) Bug 1456: add perf recommendation for LLT and storage format (c8c154ebf130, 9aef1e23dbe0) Bug 1455: Cholesky module depends on Jacobi for rank-updates (2e6e26b851a8) Bug 1458: fix documentation of LLT and LDLT info() method (2a4cf4f473dd) Warn about constness in LLT::solveInPlace (518f97b69bdf) Fix lazyness of operator* with CUDA (c4dbb556bd36) Bug 336: improve doc for PlainObjectBase::Map (13dc446545fe) Other general improvements: Enable linear indexing in generic block evaluation (31537598bf83, 5967bc3c2cdb, bug 1543). Fix packet and alignment propagation logic of Block<Xpr> expressions. In particular, (A+B).col(j) now preserve vectorisation. (b323cc9c2c7f) Several fixes regarding custom scalar type support: hypot (f8d6c791791d), boost-multiprec (acb8ef9b2478), literal casts (6bbd97f17534, 39f65d65894f), LLT: avoid making a copy when decomposing in place (2f7e28920f4e), const the arg to solveInPlace() to allow passing .transpose(), .block(), etc. (c31c0090e998). Add possibility to overwrite EIGEN_STRONG_INLINE (7094bbdf3f4d) Bug 1528: use numeric_limits::min() instead of 1/highest() that might underflow (dd823c64ade7) Bug 1532: disable stl::*_negate in C++17 (they are deprecated) (88e9452099d5) Add C++11 max_digits10 for half (faf74dde8ed1) Make sparse QR result sizes consistent with dense QR (4638bc4d0f96) Unsupported/unit-tests/cmake/unvisible internals/etc. Bug 1484: restore deleted line for 128 bits long doubles, and improve dispatching logic. (dffc0f957f19) Bug 1462: remove all occurences of the deprecated __CUDACC_VER__ macro by introducing EIGEN_CUDACC_VER (a201b8438d36) Changeset 2722aa8eb93f: Fix oversharding bug in parallelFor. Changeset ea1db80eab46: commit 45e9c9996da790b55ed9c4b0dfeae49492ac5c46 (HEAD -> memory_fix) Changeset 350957be012c: Fix int versus Index Changeset 424038431015: fix linking issue Changeset 3f938790b7e0: Fix short vs long Changeset ba14974d054a: Fix cmake scripts with no fortran compiler Changeset 2ac088501976: add cmake-option to enable/disable creation of tests Changeset 56996c54158b: Use col method for column-major matrix Changeset 762373ca9793: Bug 1449: fix redux_3 unit test Changeset eda96fd2fa30: Fix uninitialized output argument. Changeset 75a12dff8ca4: Handle min/max/inf/etc issue in cuda_fp16.h directly in test/main.h Changeset 568614bf79b8: Add tests for sparseQR results (value and size) covering bugs 1522 and 1544 Changeset 12c9ece47d14: SelfAdjointView<...,Mode> causes a static assert since commit c73a77e47db8 Changeset 899fd2ef704f: weird compilation issue in mapped_matrix.cpp Eigen 3.3.4 Released on June 15, 2017. Changes since 3.3.3: 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<>>
2019-03-09 15:14:39 +01:00
@comment $NetBSD: PLIST,v 1.5 2019/03/09 14:14:39 wen Exp $
include/eigen3/Eigen/Cholesky
include/eigen3/Eigen/CholmodSupport
include/eigen3/Eigen/Core
include/eigen3/Eigen/Dense
include/eigen3/Eigen/Eigen
include/eigen3/Eigen/Eigenvalues
include/eigen3/Eigen/Geometry
include/eigen3/Eigen/Householder
include/eigen3/Eigen/IterativeLinearSolvers
include/eigen3/Eigen/Jacobi
include/eigen3/Eigen/LU
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/MetisSupport
include/eigen3/Eigen/OrderingMethods
include/eigen3/Eigen/PaStiXSupport
include/eigen3/Eigen/PardisoSupport
include/eigen3/Eigen/QR
include/eigen3/Eigen/QtAlignedMalloc
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/SPQRSupport
include/eigen3/Eigen/SVD
include/eigen3/Eigen/Sparse
include/eigen3/Eigen/SparseCholesky
include/eigen3/Eigen/SparseCore
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/SparseLU
include/eigen3/Eigen/SparseQR
include/eigen3/Eigen/StdDeque
include/eigen3/Eigen/StdList
include/eigen3/Eigen/StdVector
include/eigen3/Eigen/SuperLUSupport
include/eigen3/Eigen/UmfPackSupport
include/eigen3/Eigen/src/Cholesky/LDLT.h
include/eigen3/Eigen/src/Cholesky/LLT.h
include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h
include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h
include/eigen3/Eigen/src/Core/Array.h
include/eigen3/Eigen/src/Core/ArrayBase.h
include/eigen3/Eigen/src/Core/ArrayWrapper.h
include/eigen3/Eigen/src/Core/Assign.h
include/eigen3/Eigen/src/Core/AssignEvaluator.h
include/eigen3/Eigen/src/Core/Assign_MKL.h
include/eigen3/Eigen/src/Core/BandMatrix.h
include/eigen3/Eigen/src/Core/Block.h
include/eigen3/Eigen/src/Core/BooleanRedux.h
include/eigen3/Eigen/src/Core/CommaInitializer.h
include/eigen3/Eigen/src/Core/ConditionEstimator.h
include/eigen3/Eigen/src/Core/CoreEvaluators.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/src/Core/CoreIterators.h
include/eigen3/Eigen/src/Core/CwiseBinaryOp.h
include/eigen3/Eigen/src/Core/CwiseNullaryOp.h
include/eigen3/Eigen/src/Core/CwiseTernaryOp.h
include/eigen3/Eigen/src/Core/CwiseUnaryOp.h
include/eigen3/Eigen/src/Core/CwiseUnaryView.h
include/eigen3/Eigen/src/Core/DenseBase.h
include/eigen3/Eigen/src/Core/DenseCoeffsBase.h
include/eigen3/Eigen/src/Core/DenseStorage.h
include/eigen3/Eigen/src/Core/Diagonal.h
include/eigen3/Eigen/src/Core/DiagonalMatrix.h
include/eigen3/Eigen/src/Core/DiagonalProduct.h
include/eigen3/Eigen/src/Core/Dot.h
include/eigen3/Eigen/src/Core/EigenBase.h
include/eigen3/Eigen/src/Core/ForceAlignedAccess.h
include/eigen3/Eigen/src/Core/Fuzzy.h
include/eigen3/Eigen/src/Core/GeneralProduct.h
include/eigen3/Eigen/src/Core/GenericPacketMath.h
include/eigen3/Eigen/src/Core/GlobalFunctions.h
include/eigen3/Eigen/src/Core/IO.h
include/eigen3/Eigen/src/Core/Inverse.h
include/eigen3/Eigen/src/Core/Map.h
include/eigen3/Eigen/src/Core/MapBase.h
include/eigen3/Eigen/src/Core/MathFunctions.h
include/eigen3/Eigen/src/Core/MathFunctionsImpl.h
include/eigen3/Eigen/src/Core/Matrix.h
include/eigen3/Eigen/src/Core/MatrixBase.h
include/eigen3/Eigen/src/Core/NestByValue.h
include/eigen3/Eigen/src/Core/NoAlias.h
include/eigen3/Eigen/src/Core/NumTraits.h
include/eigen3/Eigen/src/Core/PermutationMatrix.h
include/eigen3/Eigen/src/Core/PlainObjectBase.h
include/eigen3/Eigen/src/Core/Product.h
include/eigen3/Eigen/src/Core/ProductEvaluators.h
include/eigen3/Eigen/src/Core/Random.h
include/eigen3/Eigen/src/Core/Redux.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/src/Core/Ref.h
include/eigen3/Eigen/src/Core/Replicate.h
include/eigen3/Eigen/src/Core/ReturnByValue.h
include/eigen3/Eigen/src/Core/Reverse.h
include/eigen3/Eigen/src/Core/Select.h
include/eigen3/Eigen/src/Core/SelfAdjointView.h
include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h
include/eigen3/Eigen/src/Core/Solve.h
include/eigen3/Eigen/src/Core/SolveTriangular.h
include/eigen3/Eigen/src/Core/SolverBase.h
include/eigen3/Eigen/src/Core/StableNorm.h
include/eigen3/Eigen/src/Core/Stride.h
include/eigen3/Eigen/src/Core/Swap.h
include/eigen3/Eigen/src/Core/Transpose.h
include/eigen3/Eigen/src/Core/Transpositions.h
include/eigen3/Eigen/src/Core/TriangularMatrix.h
include/eigen3/Eigen/src/Core/VectorBlock.h
include/eigen3/Eigen/src/Core/VectorwiseOp.h
include/eigen3/Eigen/src/Core/Visitor.h
include/eigen3/Eigen/src/Core/arch/AVX/Complex.h
include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h
include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h
include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h
include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h
include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h
include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h
include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h
include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h
include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h
include/eigen3/Eigen/src/Core/arch/CUDA/Half.h
include/eigen3/Eigen/src/Core/arch/CUDA/MathFunctions.h
include/eigen3/Eigen/src/Core/arch/CUDA/PacketMath.h
include/eigen3/Eigen/src/Core/arch/CUDA/PacketMathHalf.h
include/eigen3/Eigen/src/Core/arch/CUDA/TypeCasting.h
Update to 3.3.7 Upstream changes: Eigen 3.3.7 Released on December 11, 2018. Changes since 3.3.6: Bug 1643: Fix compilation with GCC>=6 and compiler optimization turned off. Eigen 3.3.6 Released on December 10, 2018. Changes since 3.3.5: Bug 1617: Fix triangular solve crashing for empty matrix. Bug 785: Make dense Cholesky decomposition work for empty matrices. Bug 1634: Remove double copy in move-ctor of non movable Matrix/Array. Changeset 588e1eb34eff: Workaround weird MSVC bug. Bug 1637 Workaround performance regression in matrix products with gcc>=6 and clang>=6.0. Changeset bf0f100339c1: Fix some implicit 0 to Scalar conversions. Bug 1605: Workaround ABI issue with vector types (aka __m128) versus scalar types (aka float). Changeset d1421c479baa: Fix for gcc<4.6 regarding usage of #pragma GCC diagnostic push/pop. Changeset c20b83b9d736: Fix conjugate-gradient for right-hand-sides with a very small magnitude. Changeset 281a877a3bf7: Fix product of empty arrays (returned 0 instead of 1). Bug 1590: Fix collision with some system headers defining the macro FP32. Bug 1584: Fix possible undefined behavior in random generation. Changeset d632d18db8ca: Fix fallback to BLAS for rankUpdate. Fixes for NVCC 9. Fix matrix-market IO. Various fixes in the doc. Various minor warning fixes/workarounds. Eigen 3.3.5 Released on July 23, 2018. Changes since 3.3.4: General bug fixes: Fix GeneralizedEigenSolver when requesting for eigenvalues only (0d15855abb30) Bug 1560 fix product with a 1x1 diagonal matrix (90d7654f4a59) Bug 1543: fix linear indexing in generic block evaluation Fix compilation of product with inverse transpositions (e.g., mat * Transpositions().inverse()) (14a13748d761) Bug 1509: fix computeInverseWithCheck for complexes (8be258ef0b6d) Bug 1521: avoid signalling NaN in hypot and make it std::complex<> friendly (a9c06b854991). Bug 1517: fix triangular product with unit diagonal and nested scaling factor: (s*A).triangularView<UpperUnit>()*B (a546d43bdd4f) Fix compilation of stableNorm for some odd expressions as input (499e982b9281) Bug 1485: fix linking issue of non template functions (ae28c2aaeeda) Fix overflow issues in BDCSVD (92060f82e1de) Bug 1468 : add missing std:: to memcpy (4565282592ae) Bug 1453: fix Map with non-default inner-stride but no outer-stride (af00212cf3a4) Fix mixing types in sparse matrix products (7e5fcd0008bd) Bug 1544: Generate correct Q matrix in complex case (c0c410b508a1) Bug 1461: fix compilation of Map<const Quaternion>::x() (69652a06967d) Backends: Fix MKL backend for symmetric eigenvalues on row-major matrices (4726d6a24f69) Bug 1527: fix support for MKL's VML (972424860545) Fix incorrect ldvt in LAPACKE call from JacobiSVD (88c4604601b9) Fix support for MKL's BLAS when using MKL_DIRECT_CALL (205731b87e19, b88c70c6ced7, 46e2367262e1) Use MKL's lapacke.h header when using MKL (19bc9df6b726) Diagnostics: Bug 1516: add assertion for out-of-range diagonal index in MatrixBase::diagonal(i) (783d38b3c78c) Add static assertion for fixed sizes Ref<> (e1203d5ceb8e) Add static assertion on selfadjoint-view's UpLo parameter. (b84db94c677e, 0ffe8a819801) Bug 1479: fix failure detection in LDLT (67719139abc3) Compiler support: Bug 1555: compilation fix with XLC Workaround MSVC 2013 ambiguous calls (1c7b59b0b5f4) Adds missing EIGEN_STRONG_INLINE to help MSVC properly inlining small vector calculations (1ba3f10b91f2) Several minor warning fixes: 3c87fc0f1042, ad6bcf0e8efc, "used uninitialized" (20efc44c5500), Wint-in-bool-context (131da2cbc695, b4f969795d1b) Bug 1428: make NEON vectorization compilable by MSVC. (* 3d1b3dbe5927, 4e1b7350182a) Fix compilation and SSE support with PGI compiler (faabf000855d 90d33b09040f) Bug 1555: compilation fix with XLC (23eb37691f14) Bug 1520: workaround some -Wfloat-equal warnings by calling std::equal_to (7d9a9456ed7c) Make the TensorStorage class compile with clang 3.9 (eff7001e1f0a) Misc: some old compiler fixes (493691b29be1) Fix MSVC warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow) (524918622506) Architecture support: Several AVX512 fixes for log, sqrt, rsqrt, non AVX512ER CPUs, apply_rotation_in_the_plane b64275e912ba cab3d626a59e 7ce234652ab9, d89b9a754371. AltiVec fixes: 9450038e380d NEON fixes: const-cast (e8a69835ccda), compilation of Jacobi rotations (c06cfd545b15,bug 1436). Changeset d0658cc9d4a2: Define pcast<> for SSE types even when AVX is enabled. (otherwise float are silently reinterpreted as int instead of being converted) Bug 1494: makes pmin/pmax behave on Altivec/VSX as on x86 regarding NaNs (d0af83f82b19) Documentation: Update manual pages regarding BDCSVD (bug 1538) Add aliasing in common pitfaffs (2a5a8408fdc5) Update aligned_allocator (21e03aef9f2b) Bug 1456: add perf recommendation for LLT and storage format (c8c154ebf130, 9aef1e23dbe0) Bug 1455: Cholesky module depends on Jacobi for rank-updates (2e6e26b851a8) Bug 1458: fix documentation of LLT and LDLT info() method (2a4cf4f473dd) Warn about constness in LLT::solveInPlace (518f97b69bdf) Fix lazyness of operator* with CUDA (c4dbb556bd36) Bug 336: improve doc for PlainObjectBase::Map (13dc446545fe) Other general improvements: Enable linear indexing in generic block evaluation (31537598bf83, 5967bc3c2cdb, bug 1543). Fix packet and alignment propagation logic of Block<Xpr> expressions. In particular, (A+B).col(j) now preserve vectorisation. (b323cc9c2c7f) Several fixes regarding custom scalar type support: hypot (f8d6c791791d), boost-multiprec (acb8ef9b2478), literal casts (6bbd97f17534, 39f65d65894f), LLT: avoid making a copy when decomposing in place (2f7e28920f4e), const the arg to solveInPlace() to allow passing .transpose(), .block(), etc. (c31c0090e998). Add possibility to overwrite EIGEN_STRONG_INLINE (7094bbdf3f4d) Bug 1528: use numeric_limits::min() instead of 1/highest() that might underflow (dd823c64ade7) Bug 1532: disable stl::*_negate in C++17 (they are deprecated) (88e9452099d5) Add C++11 max_digits10 for half (faf74dde8ed1) Make sparse QR result sizes consistent with dense QR (4638bc4d0f96) Unsupported/unit-tests/cmake/unvisible internals/etc. Bug 1484: restore deleted line for 128 bits long doubles, and improve dispatching logic. (dffc0f957f19) Bug 1462: remove all occurences of the deprecated __CUDACC_VER__ macro by introducing EIGEN_CUDACC_VER (a201b8438d36) Changeset 2722aa8eb93f: Fix oversharding bug in parallelFor. Changeset ea1db80eab46: commit 45e9c9996da790b55ed9c4b0dfeae49492ac5c46 (HEAD -> memory_fix) Changeset 350957be012c: Fix int versus Index Changeset 424038431015: fix linking issue Changeset 3f938790b7e0: Fix short vs long Changeset ba14974d054a: Fix cmake scripts with no fortran compiler Changeset 2ac088501976: add cmake-option to enable/disable creation of tests Changeset 56996c54158b: Use col method for column-major matrix Changeset 762373ca9793: Bug 1449: fix redux_3 unit test Changeset eda96fd2fa30: Fix uninitialized output argument. Changeset 75a12dff8ca4: Handle min/max/inf/etc issue in cuda_fp16.h directly in test/main.h Changeset 568614bf79b8: Add tests for sparseQR results (value and size) covering bugs 1522 and 1544 Changeset 12c9ece47d14: SelfAdjointView<...,Mode> causes a static assert since commit c73a77e47db8 Changeset 899fd2ef704f: weird compilation issue in mapped_matrix.cpp Eigen 3.3.4 Released on June 15, 2017. Changes since 3.3.3: 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<>>
2019-03-09 15:14:39 +01:00
include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h
include/eigen3/Eigen/src/Core/arch/Default/Settings.h
include/eigen3/Eigen/src/Core/arch/NEON/Complex.h
include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h
include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h
include/eigen3/Eigen/src/Core/arch/SSE/Complex.h
include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h
include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h
include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h
include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h
include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h
include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h
include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h
include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h
include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h
include/eigen3/Eigen/src/Core/functors/StlFunctors.h
include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h
include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h
include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h
include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h
include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h
include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h
include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h
include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h
include/eigen3/Eigen/src/Core/products/Parallelizer.h
include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h
include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h
include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h
include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h
include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h
include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h
include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h
include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h
include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h
include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h
include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h
include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h
include/eigen3/Eigen/src/Core/util/BlasUtil.h
include/eigen3/Eigen/src/Core/util/Constants.h
include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h
include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h
include/eigen3/Eigen/src/Core/util/MKL_support.h
include/eigen3/Eigen/src/Core/util/Macros.h
include/eigen3/Eigen/src/Core/util/Memory.h
include/eigen3/Eigen/src/Core/util/Meta.h
include/eigen3/Eigen/src/Core/util/NonMPL2.h
include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h
include/eigen3/Eigen/src/Core/util/StaticAssert.h
include/eigen3/Eigen/src/Core/util/XprHelper.h
include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h
include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h
include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h
include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h
include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/src/Eigenvalues/RealQZ.h
include/eigen3/Eigen/src/Eigenvalues/RealSchur.h
include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h
include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h
include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h
include/eigen3/Eigen/src/Geometry/AlignedBox.h
include/eigen3/Eigen/src/Geometry/AngleAxis.h
include/eigen3/Eigen/src/Geometry/EulerAngles.h
include/eigen3/Eigen/src/Geometry/Homogeneous.h
include/eigen3/Eigen/src/Geometry/Hyperplane.h
include/eigen3/Eigen/src/Geometry/OrthoMethods.h
include/eigen3/Eigen/src/Geometry/ParametrizedLine.h
include/eigen3/Eigen/src/Geometry/Quaternion.h
include/eigen3/Eigen/src/Geometry/Rotation2D.h
include/eigen3/Eigen/src/Geometry/RotationBase.h
include/eigen3/Eigen/src/Geometry/Scaling.h
include/eigen3/Eigen/src/Geometry/Transform.h
include/eigen3/Eigen/src/Geometry/Translation.h
include/eigen3/Eigen/src/Geometry/Umeyama.h
include/eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h
include/eigen3/Eigen/src/Householder/BlockHouseholder.h
include/eigen3/Eigen/src/Householder/Householder.h
include/eigen3/Eigen/src/Householder/HouseholderSequence.h
include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h
include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h
include/eigen3/Eigen/src/Jacobi/Jacobi.h
include/eigen3/Eigen/src/LU/Determinant.h
include/eigen3/Eigen/src/LU/FullPivLU.h
include/eigen3/Eigen/src/LU/InverseImpl.h
include/eigen3/Eigen/src/LU/PartialPivLU.h
include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h
include/eigen3/Eigen/src/LU/arch/Inverse_SSE.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/src/MetisSupport/MetisSupport.h
include/eigen3/Eigen/src/OrderingMethods/Amd.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h
include/eigen3/Eigen/src/OrderingMethods/Ordering.h
include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h
include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h
include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h
include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h
include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h
include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h
include/eigen3/Eigen/src/QR/HouseholderQR.h
include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h
include/eigen3/Eigen/src/SVD/BDCSVD.h
include/eigen3/Eigen/src/SVD/JacobiSVD.h
include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h
include/eigen3/Eigen/src/SVD/SVDBase.h
include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h
include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h
include/eigen3/Eigen/src/SparseCore/AmbiVector.h
include/eigen3/Eigen/src/SparseCore/CompressedStorage.h
include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h
include/eigen3/Eigen/src/SparseCore/SparseAssign.h
include/eigen3/Eigen/src/SparseCore/SparseBlock.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/src/SparseCore/SparseColEtree.h
include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h
include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h
include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h
include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h
include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h
include/eigen3/Eigen/src/SparseCore/SparseDot.h
include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h
include/eigen3/Eigen/src/SparseCore/SparseMap.h
include/eigen3/Eigen/src/SparseCore/SparseMatrix.h
include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h
include/eigen3/Eigen/src/SparseCore/SparsePermutation.h
include/eigen3/Eigen/src/SparseCore/SparseProduct.h
include/eigen3/Eigen/src/SparseCore/SparseRedux.h
include/eigen3/Eigen/src/SparseCore/SparseRef.h
include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h
include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h
include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h
include/eigen3/Eigen/src/SparseCore/SparseTranspose.h
include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h
include/eigen3/Eigen/src/SparseCore/SparseUtil.h
include/eigen3/Eigen/src/SparseCore/SparseVector.h
include/eigen3/Eigen/src/SparseCore/SparseView.h
include/eigen3/Eigen/src/SparseCore/TriangularSolver.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/Eigen/src/SparseLU/SparseLU.h
include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h
include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h
include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h
include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h
include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h
include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h
include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h
include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h
include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h
include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h
include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h
include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h
include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h
include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h
include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h
include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h
include/eigen3/Eigen/src/SparseQR/SparseQR.h
include/eigen3/Eigen/src/StlSupport/StdDeque.h
include/eigen3/Eigen/src/StlSupport/StdList.h
include/eigen3/Eigen/src/StlSupport/StdVector.h
include/eigen3/Eigen/src/StlSupport/details.h
include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h
include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h
include/eigen3/Eigen/src/misc/Image.h
include/eigen3/Eigen/src/misc/Kernel.h
include/eigen3/Eigen/src/misc/RealSvd2x2.h
include/eigen3/Eigen/src/misc/blas.h
include/eigen3/Eigen/src/misc/lapack.h
include/eigen3/Eigen/src/misc/lapacke.h
include/eigen3/Eigen/src/misc/lapacke_mangling.h
include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h
include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h
include/eigen3/Eigen/src/plugins/BlockMethods.h
include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h
include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h
include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h
include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h
include/eigen3/signature_of_eigen3_matrix_library
include/eigen3/unsupported/Eigen/AdolcForward
include/eigen3/unsupported/Eigen/AlignedVector3
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).
2015-11-15 13:06:33 +01:00
include/eigen3/unsupported/Eigen/ArpackSupport
include/eigen3/unsupported/Eigen/AutoDiff
include/eigen3/unsupported/Eigen/BVH
include/eigen3/unsupported/Eigen/CXX11/Tensor
include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry
include/eigen3/unsupported/Eigen/CXX11/ThreadPool
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorSyclConvertToDeviceExpression.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorSyclExprConstructor.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractAccessor.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractFunctors.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorSyclLeafCount.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorSyclPlaceHolderExpr.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorSyclRun.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorSyclTuple.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h
include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h
include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h
include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h
include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h
include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h
include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h
include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h
include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h
include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/SimpleThreadPool.h
include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h
include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h
include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h
include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h
include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h
include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h
include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h
include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateCXX11Meta.h
include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h
include/eigen3/unsupported/Eigen/EulerAngles
include/eigen3/unsupported/Eigen/FFT
include/eigen3/unsupported/Eigen/IterativeSolvers
include/eigen3/unsupported/Eigen/KroneckerProduct
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).
2015-11-15 13:06:33 +01:00
include/eigen3/unsupported/Eigen/LevenbergMarquardt
include/eigen3/unsupported/Eigen/MPRealSupport
include/eigen3/unsupported/Eigen/MatrixFunctions
include/eigen3/unsupported/Eigen/MoreVectorization
include/eigen3/unsupported/Eigen/NonLinearOptimization
include/eigen3/unsupported/Eigen/NumericalDiff
include/eigen3/unsupported/Eigen/OpenGLSupport
include/eigen3/unsupported/Eigen/Polynomials
include/eigen3/unsupported/Eigen/Skyline
include/eigen3/unsupported/Eigen/SparseExtra
include/eigen3/unsupported/Eigen/SpecialFunctions
include/eigen3/unsupported/Eigen/Splines
include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h
include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h
include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h
include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h
include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h
include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h
include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h
include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h
include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h
include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h
include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h
include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h
include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h
include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h
include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h
include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h
include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h
include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h
include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h
include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h
include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h
include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h
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).
2015-11-15 13:06:33 +01:00
include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h
include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h
include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h
include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h
include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h
include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h
include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h
include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h
include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h
include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h
include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h
include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h
include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h
include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h
include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h
include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h
include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h
include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h
include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h
include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h
include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h
include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h
include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h
include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h
include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h
include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h
include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/CUDA/CudaSpecialFunctions.h
include/eigen3/unsupported/Eigen/src/Splines/Spline.h
include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h
include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h
lib/cmake/eigen3/Eigen3Config.cmake
lib/cmake/eigen3/Eigen3ConfigVersion.cmake
lib/cmake/eigen3/Eigen3Targets.cmake
lib/cmake/eigen3/UseEigen3.cmake
lib/pkgconfig/eigen3.pc