Subject: CVS commit: pkgsrc/math/eigen3
From: Patrick Welche
Date: 2015-11-15 13:06:33
Message id: 20151115120633.F0ABD98@cvs.netbsd.org

Log Message:
Update eigen3 to 3.2.7

Eigen 3.2.7

   Released on November 5, 2015

   Changes since 3.2.6:
     * Main fixes and improvements:
          + Add support for dense.cwiseProduct(sparse).
          + Fix a regression regarding (dense*sparse).diagonal().
          + Make the IterativeLinearSolvers module compatible with
            MPL2-only mode by defaulting to COLAMDOrdering and
            NaturalOrdering for ILUT and ILLT respectively.
          + [59]Bug 266: backport support for c++11 move semantic
          + operator/=(Scalar) now performs a true division (instead of
            mat*(1/s))
          + Improve numerical accuracy in LLT and triangular solve by
            using true scalar divisions (instead of mat * (1/s))
          + [60]Bug 1092: fix iterative solver constructors for
            expressions as input
          + [61]Bug 1088: fix setIdenity for non-compressed sparse-matrix
          + [62]Bug 1086: add support for recent SuiteSparse versions

     * Others:
          + Add overloads for real-scalar times SparseMatrix<complex>
            operations. This avoids real to complex conversions, and also
            fixes a compilation issue with MSVC.
          + Use explicit Scalar types for AngleAxis initialization
          + Fix several shortcomings in cost computation (avoid multiple
            re-evaluation in some very rare cases).
          + [63]Bug 1090: fix a shortcoming in redux logic for which
            slice-vectorization plus unrolling might happen.
          + Fix compilation issue with MSVC by backporting
            DenseStorage::operator= from devel branch.
          + [64]Bug 1063: fix nesting of unsupported/AutoDiffScalar to
            prevent dead references when computing second-order
            derivatives
          + [65]Bug 1100: remove explicit CMAKE_INSTALL_PREFIX prefix to
            conform to cmake install's DESTINATION parameter.
          + unsupported/ArpackSupport is now properly installed by make
            install.
          + [66]Bug 1080: warning fixes

Eigen 3.2.6

   Released on October 1, 2015

   Changes since 3.2.5:
     * fix some compilation issues with MSVC 2013, including bugs [67]1000
       and [68]1057
     * SparseLU: fixes to support EIGEN_DEFAULT_TO_ROW_MAJOR ([69]bug
       1053), and for empty ([70]bug 1026) and some structurally rank
       deficient matrices ([71]bug 792)
     * [72]Bug 1075: fix AlignedBox::sample() for Dynamic dimension
     * fix regression in AMD ordering when a column has only one
       off-diagonal non-zero (used in sparse Cholesky)
     * fix Jacobi preconditioner with zero diagonal entries
     * fix Quaternion identity initialization for non-implicitly
       convertible types
     * [73]Bug 1059: fix predux_max<Packet4i> for NEON
     * [74]Bug 1039: fix some issues when redefining
       EIGEN_DEFAULT_DENSE_INDEX_TYPE
     * [75]Bug 1062: fix SelfAdjointEigenSolver for RowMajor matrices
     * MKL: fix support for the 11.2 version, and fix a naming conflict
       ([76]bug 1067)
          + [77]Bug 1033: explicit type conversion from 0 to RealScalar

Eigen 3.3-alpha1

   Released on September 4, 2015

   See the [78]announcement.

Eigen 3.2.5

   Released on June 16, 2015

   Changes since 3.2.4:
     * Changes with main impact:
          + Improve robustness of SimplicialLDLT to semidefinite problems
            by correctly handling structural zeros in AMD reordering
          + Re-enable supernodes in SparseLU (fix a performance regression
            in SparseLU)
          + Use zero guess in ConjugateGradients::solve
          + Add PermutationMatrix::determinant method
          + Fix SparseLU::signDeterminant() method, and add a
            SparseLU::determinant() method
          + Allows Lower|Upper as a template argument of CG and MINRES: in
            this case the full matrix will be considered
          + [79]Bug 872: remove usage of std::bind* functions (deprecated
            in c++11)

     * Numerical robustness improvements:
          + [80]Bug 1014: improve numerical robustness of the 3x3 direct
            eigenvalue solver
          + [81]Bug 1013: fix 2x2 direct eigenvalue solver for identical
            eigenvalues
          + [82]Bug 824: improve accuracy of Quaternion::angularDistance
          + [83]Bug 941: fix an accuracy issue in ColPivHouseholderQR by
            continuing the decomposition on a small pivot
          + [84]Bug 933: improve numerical robustness in RealSchur
          + Fix default threshold value in SPQR

     * Other changes:
          + Fix usage of EIGEN_NO_AUTOMATIC_RESIZING
          + Improved support for custom scalar types in SparseLU
          + Improve cygwin compatibility
          + [85]Bug 650: fix an issue with sparse-dense product and
            rowmajor matrices
          + [86]Bug 704: fix MKL support (HouseholderQR)
          + [87]Bug 705: fix handling of Lapack potrf return code (LLT)
          + [88]Bug 714: fix matrix product with OpenMP support
          + [89]Bug 949: add static assertions for incompatible scalar
            types in many of the dense decompositions
          + [90]Bugs 957, [91]1000: workaround MSVC/ICC compilation issues
            when using sparse blocks
          + [92]Bug 969: fix ambiguous calls to Ref
          + [93]Bugs 972, [94]986: add support for coefficient-based
            product with 0 depth
          + [95]Bug 980: fix taking a row (resp. column) of a column-major
            (resp. row-major) sparse matrix
          + [96]Bug 983: fix an alignement issue in Quaternion
          + [97]Bug 985: fix RealQZ when either matrix had zero rows or
            columns
          + [98]Bug 987: fix alignement guess in diagonal product
          + [99]Bug 993: fix a pitfall with matrix.inverse()
          + [100]Bugs 996, [101]1016: fix scalar conversions
          + [102]Bug 1003: fix handling of pointers non aligned on scalar
            boundary in slice-vectorization
          + [103]Bug 1010: fix member initialization in IncompleteLUT
          + [104]Bug 1012: enable alloca on Mac OS or if alloca is defined
            as macro
          + Doc and build system: [105]733, [106]914, [107]952, [108]961,
            [109]999

Eigen 3.2.4

   Released on January 21, 2015

   Changes since 3.2.3:
     * Fix compilation regression in Rotation2D
     * [110]Bug 920: fix compilation issue with MSVC 2015.
     * [111]Bug 921: fix utilization of bitwise operation on enums in
       first_aligned.
     * Fix compilation with NEON on some platforms.

Eigen 3.2.3

   Released on December 16, 2014

   Changes since 3.2.2:
     * Core:
          + Enable Mx0 * 0xN matrix products.
          + [112]Bug 859: fix returned values for vectorized versions of
            exp(NaN), log(NaN), sqrt(NaN) and sqrt(-1).
          + [113]Bug 879: tri1 = mat * tri2 was compiling and running
            incorrectly if tri2 was not numerically triangular. Workaround
            the issue by evaluating mat*tri2 into a temporary.
          + [114]Bug 854: fix numerical issue in
            SelfAdjointEigenSolver::computeDirect for 3x3 matrices.
          + [115]Bug 884: make sure there no call to malloc for zero-sized
            matrices or for a Ref<> without temporaries.
          + [116]Bug 890: fix aliasing detection when applying a
            permutation.
          + [117]Bug 898: MSVC optimization by adding inline hint to
            const_cast_ptr.
          + [118]Bug 853: remove enable_if<> in Ref<> ctor.

     * Dense solvers:
          + [119]Bug 894: fix the sign returned by LDLT for multiple calls
            to compute().
          + Fix JacobiSVD wrt underflow and overflow.
          + [120]Bug 791: fix infinite loop in JacobiSVD in the presence
            of NaN.

     * Sparse:
          + Fix out-of-bounds memory write when the product of two sparse
            matrices is completely dense and performed using pruning.
          + UmfPack support: fix redundant evaluation/copies when calling
            compute(), add support for generic expressions as input, and
            fix extraction of the L and U factors ([121]Bug 911).
          + Improve SparseMatrix::block for const matrices (the generic
            path was used).
          + Fix memory pre-allocation when permuting inner vectors of a
            sparse matrix.
          + Fix SparseQR::rank for a completely empty matrix.
          + Fix SparseQR for row-major inputs.
          + Fix SparseLU::absDeterminant and add respective unit test.
          + BiCGSTAB: make sure that good initial guesses are not
            destroyed by a bad preconditioner.

     * Geometry:
          + Fix Hyperplane::Through(a,b,c) when points are aligned or
            identical.
          + Fix linking issues in OpenGLSupport.

     * OS, build system and doc:
          + Various compilation fixes including: [122]bug 821, [123]bug
            822, [124]bug 857, [125]bug 871, [126]bug 873.
          + Fix many compilation warnings produced by recent compilers
            including: [127]bug 909.
          + [128]Bug 861: enable posix_memalign with PGI.
          + Fix BiCGSTAB doc example.

Eigen 3.2.2

   Released on August 4, 2014

   Changes since 3.2.1:
     * Core:
          + Relax Ref such that Ref<MatrixXf> accepts a RowVectorXf which
            can be seen as a degenerate MatrixXf(1,N)
          + Fix performance regression for the vectorization of sub
            columns/rows of matrices.
          + EIGEN_STACK_ALLOCATION_LIMIT: Raise its default value to
            128KB, make use of it to assert on maximal fixed size object,
            and allows it to be 0 to mean "no limit".
          + [129]Bug 839: Fix 1x1 triangular matrix-vector product.
          + [130]Bug 755: CommaInitializer produced wrong assertions in
            absence of Return-Value-Optimization.

     * Dense solvers:
          + Add a rank() method with threshold control to JacobiSVD, and
            make solve uses it to return the minimal norm solution for
            rank-deficient problems.
          + Various numerical fixes in JacobiSVD, including:[131]bug 843,
            and the move from Lapack to Matlab strategy for the default
            threshold.
          + Various numerical fixes in LDLT, including the case of
            semi-definite complex matrices.
          + Fix ColPivHouseholderQR::rank().
          + [132]Bug 222: Make temporary matrix column-major independently
            of EIGEN_DEFAULT_TO_ROW_MAJOR in BlockHouseholder.

     * Sparse:
          + [133]http://eigen.tuxfamily.org/bz/show_bug.cgi?id=838 Bug
            838]: Fix dense * sparse and sparse * dense outer products and
            detect outer products from either the lhs or rhs.
          + Make the ordering method of SimplicialL[D]LT configurable.
          + Fix regression in the restart mechanism of BiCGSTAB.
          + [134]Bug 836: extend SparseQR to support more columns than
            rows.
          + [135]Bug 808: Use double instead of float for the increasing
            size ratio in CompressedStorage::resize, fix implicit
            conversions from int/longint to float/double, and fix
            set_from_triplets temporary matrix type.
          + [136]Bug 647: Use smart_copy instead of bitwise memcpy in
            CompressedStorage.
          + GMRES: Initialize essential Householder vector with correct
            dimension.

     * Geometry:
          + [137]Bug 807: Missing scalar type cast in umeyama()
          + [138]Bug 806: Missing scalar type cast in
            Quaternion::setFromTwoVectors()
          + [139]Bug 759: Removed hard-coded double-math from
            Quaternion::angularDistance.

     * OS, build system and doc:
          + Fix compilation with Windows CE.
          + Fix some ICEs with VC11.
          + Check IMKL version for compatibility with Eigen
          + [140]Bug 754: Only inserted (!defined(_WIN32_WCE)) analog to
            alloc and free implementation.
          + [141]Bug 803: Avoid char* to int* conversion.
          + [142]Bug 819: Include path of details.h file.
          + [143]Bug 738: Use the "current" version of cmake project
            directories to ease the inclusion of Eigen within other
            projects.
          + [144]Bug 815: Fix doc of FullPivLU wrt permutation matrices.
          + [145]Bug 632: doc: Note that dm2 = sm1 + dm1 is not possible
          + Extend AsciiQuickReference (real, imag, conjugate, rot90)

Eigen 3.2.1

   Released on February 26, 2014

   Changes since 3.2.0:
     * Eigen2 support is now deprecated and will be removed in version
       3.3.
     * Core:
          + Bug fix for Ref object containing a temporary matrix.
          + [146]Bug 654: Allow construction of row vector from 1D array.
          + [147]Bug 679: Support cwiseMin() and cwiseMax() on maps.
          + Support conservativeResize() on vectors.
          + Improve performance of vectorwise and replicate expressions.
          + [148]Bug 642: Add vectorization of sqrt for doubles, and make
            sqrt really safe if EIGEN_FAST_MATH is disabled.
          + [149]Bug 616: Try harder to align columns when printing
            matrices and arrays.
          + [150]Bug 579: Add optional run-time parameter to fixed-size
            block methods.
          + Implement .all() and .any() for zero-sized objects
          + [151]Bug 708: Add placement new and delete for arrays.
          + [152]Bug 503: Better C++11 support.
     * Dense linear algebra:
          + [153]Bug 689: Speed up some matrix-vector products by using
            aligned loads if possible.
          + Make solve in FullPivHouseholderQR return least-square
            solution if there is no exact solution.
          + [154]Bug 678: Fix fullPivHouseholderQR for rectangular
            matrices.
          + Fix a 0/0 issue in JacobiSVD.
          + [155]Bug 736: Wrong result in LDLT::isPositiveDefinite() for
            semi-definite matrices.
          + [156]Bug 740: Fix overflow issue in stableNorm().
          + Make pivoting HouseholderQR compatible with custom scalar
            types.
     * Geometry:
          + Fix compilation of Transform * UniformScaling
     * Sparse matrices:
          + Fix elimination tree and SparseQR for fat rectangular
            matrices.
          + [157]Bug 635: add isCompressed to MappedSparseMatrix for
            compatibility.
          + [158]Bug 664: Support iterators without operator< in
            setFromTriplets().
          + Fixes in SparseLU: infinite loop, aliasing issue when solving,
            overflow in memory allocation, use exceptions only if enabled
            ([159]bug 672).
          + Fixes in SparseQR: reduce explicit zero, assigning result to
            map, assert catching non-conforming sizes, memory leak.
          + [160]Bug 681: Uninitialized value in CholmodSupport which may
            lead to incorrect results.
          + Fix some issues when using a non-standard index type ([161]bug
            665 and more)
          + Update constrained CG (unsupported module) to Eigen3.
     * OS and build system:
          + MacOS put OpenGL header files somewhere else from where we
            expected it.
          + Do not assume that alloca() is 16-byte aligned on Windows.
          + Compilation fixes when using ICC with Visual Studio.
          + Fix Fortran compiler detection in CMake files.
     * Fix some of our tests (bugs [162]744 and [163]748 and more).
     * Fix a few compiler warnings (bug [164]317 and more).
     * Documentation fixes (bugs [165]609, [166]638 and [167]739 and
       more).

Files:
RevisionActionfile
1.6modifypkgsrc/math/eigen3/Makefile
1.3modifypkgsrc/math/eigen3/PLIST
1.6modifypkgsrc/math/eigen3/distinfo