[SCM] Eigen3 packaging. branch, master, updated. upstream/3.0.1-26-g8ab7308
Anton Gladky
gladky.anton at gmail.com
Tue May 31 20:59:11 UTC 2011
The following commit has been merged in the master branch:
commit d50cf489d369cdcf8bf6f359b20e01ef18f8d9ec
Author: Anton Gladky <gladky.anton at gmail.com>
Date: Tue May 31 22:55:31 2011 +0200
Update upstream changelog
diff --git a/debian/Changelog_upstream b/debian/Changelog_upstream
index 03bc762..11d4512 100644
--- a/debian/Changelog_upstream
+++ b/debian/Changelog_upstream
@@ -1,41 +1,176 @@
-Changelog has been taken from http://eigen.tuxfamily.org/index.php?title=3.0 24/03/2011
-Some important changes between Eigen 2 and Eigen 3
- Core
- Much better API, that will be supported for many years.
- Improvements in basic expression template mechanisms allow compilers to generate better code.
- Now using OpenMP when it is enabled, parallelizing crucial code such as matrix-matrix product.
- New Array class provides general-purpose arrays and coefficient-wise operations for matrices. Array module merged into Core.
- Indices are now the size of a pointer, e.g. 64 bit on 64 bit platforms, allowing arbitrarily large matrices and giving faster code (no redundant integer conversions).
- Cache size parameters can be set at runtime, or are automatically set to sane defaults (using CPUID instruction or equivalent) when first used.
- Important optimizations in many places, including in matrix-matrix product which is now nearly as fast as Intel MKL and GotoBLAS, including on multi-CPU systems (see above point about OpenMP).
- Better, more extensible support for various scalar types. All standard integer types (signed and unsigned, from 8 to 64 bits) are supported.
- Much saner and more comprehensive support for special matrix types: band matrices, permutation matrices...
- Vectorization
- Better vectorization logic.
- Complex numbers are now vectorized.
- Better quaternion vectorization.
- New supported platform: ARM NEON
- Improved SSE support, including use of SSE4 integer multiplication
- Updated AltiVec support
- Decompositions
- Much better, uniform solving API
- Much better, uniform API for setting tolerance threshold in rank-revealing decompositions
- LU: new partial-pivoting LU, blocking (cache-friendly).
- QR: new column-pivoting and full-pivoting householder QR; blocking (cache-friendly) of non-pivoting householder QR.
- SVD: new JacobiSVD (very reliable SVD)
- Eigenvalues: New general eigensolver, Schur decomposition, etc. Lots of improvements here in speed, reliability and features.
- Cholesky: rewritten LLT and LDLT, more reliable and blocking (cache-friendly)
- Householder: new general module for dealing with householder transformations
- Geometry
- Much improved Transform API. It's now much more clear what is an Affine transform, what is a Projective transform, etc.
- New Umeyama algorithm for finding the Transform mapping one point set to another
- Allow mapping an array as Quaternion
- BLAS/LAPACK implementation built on Eigen
- That's right, Eigen 3 offers a complete BLAS implementation, passing the BLAS test suite!
- And also a partial implementation of LAPACK, passing the relevant LAPACK tests.
- Sparse
- Countless improvements there, but it's still not 100% stable.
- Tests
- Much expanded Eigen test suite, now has more than 550 executables
- Imported the BLAS test suite, as part of ours
- New 'failtests' check that ill-formed code produces expected compilation errors.
+Changelog has been taken from
+ http://eigen.tuxfamily.org/index.php?title=3.0
+and
+ http://eigen.tuxfamily.org/index.php?title=ChangeLog
+
+
+== Eigen 3.0.1 ==
+
+Released May 30, 2011
+
+Changes since 3.0.0:
+
+* Fix many bugs regarding ARM and NEON (Now all tests succeed on ARM/NEON).
+* Fix compilation on gcc 4.6
+* Improved support for custom scalar types:
+** Fix memory leak issue for scalar types throwing exceptions.
+** Fix implicit scalar type conversion.
+** Math functions can be defined in the scalar type's namespace.
+* Fix bug in trapezoidal matrix time matrix product.
+* Fix asin.
+* Fix compilation with MSVC 2005 (SSE was wrongly enabled).
+* Fix bug in EigenSolver: normalize the eigen vectors.
+* Fix Qt support in Transform.
+* Improved documentation.
+
+
+== Eigen 3.0.0 ==
+
+Released March 19, 2011, at the [[Paris_2011_Meeting|meeting]].
+
+See the [[3.0|Eigen 3.0 release notes]].
+
+Only change since 3.0-rc1:
+* Fixed compilation of the unsupported 'openglsupport' test.
+
+
+== Eigen 3.0-rc1 ==
+
+Released March 14, 2011.
+
+Main changes since 3.0-beta4:
+
+* Core: added new EIGEN_RUNTIME_NO_MALLOC option and new set_is_malloc_allowed() option to finely control where dynamic memory allocation is allowed. Useful for unit-testing of functions that must not cause dynamic memory allocations.
+* Core: SSE performance fixes (follow-up from bug 203).
+* Core: Fixed crashes when using EIGEN_DONT_ALIGN or EIGEN_DONT_ALIGN_STATICALLY (bug 213 and friends).
+* Core: EIGEN_DONT_ALIGN and EIGEN_DONT_ALIGN_STATICALLY are now covered by unit tests.
+* Geometry: Fixed transform * matrix products (bug 207).
+* Geometry: compilation fix for mixing CompactAffine with Homogeneous objects
+* Geometry: compilation fix for 1D transform
+* SVD: fix non-computing constructors (correctly forward computationOptions) (bug 206)
+* Sparse: fix resizing when the destination sparse matrix is row major (bug 37)
+* more Eigen2Support improvements
+* more unit test fixes/improvements
+* more documentation improvements
+* more compiler warnings fixes
+* fixed GDB pretty-printer for dynamic-size matrices (bug 210)
+
+
+== Eigen 3.0-beta4 ==
+
+Released February 28, 2011.
+
+Main changes since 3.0-beta3:
+
+* Non-vectorization bug fixes:
+** fix bug 89: work around an extremely evil compiler bug on old GCC (<= 4.3) with the standard assert() macro
+** fix Umfpack back-end in the complex case
+* Vectorization bug fixes:
+** fix a segfault in "slice vectorization" when the destination might not be aligned on a scalar (complex<double>)
+** fix bug 195: fast SSE unaligned loads fail on GCC/i386 and on Clang
+** fix bug 186: worked around a GCC 4.3 i386 backend issue with SSE
+** fix bug 203: SSE: a workaround used in pset1() resulted in poor assembly
+** worked around a GCC 4.2.4 internal compiler error with vectorization of complex numbers
+** lots of AltiVec compilation fixes
+** NEON compilation fixes
+* API additions and error messages improvements
+** Transform: prevent bad user code from compiling
+** fix bug 190: directly pass Transform Options to Matrix, allowing to use RowMajor. Fix issues in Transform with non-default Options.
+** factorize implementation of standard real unary math functions, and add acos, asin
+* Build/tests system
+** Lots of unit test improvements
+** fix installation of unsupported modules
+** fixed many compiler warnings, especially on the Intel compiler and on LLVM/Clang
+** CTest/CMake improvements
+** added option to build in 32bit mode
+* BLAS/LAPACK implementation improvements
+** The Blas library and tests are now automatically built as part of the tests.
+** expanded LAPACK interface (including syev)
+** now Sparse solver backends use our own BLAS/LAPACK implementation
+** fix bug 189 (cblat1 test failure)
+* Documentation
+** improved conservativeResize methods documentation
+** documented sorting of eigenvalues
+** misc documentation improvements
+** improve documentation of plugins
+
+
+== Eigen 3.0-beta3 ==
+
+Released February 12, 2011.
+
+The biggest news is that the API is now '''100% stable'''.
+
+Main changes since 3.0-beta2:
+
+* The "too many to list them all" category:
+**lots of bug fixes
+**lots of performance fixes
+**lots of compiler support fixes
+**lots of warning fixes
+**lots of unit tests improvements and fixes
+**lots of documentation improvements
+**lots of build system fixes
+*API changes:
+**replaced ei_ prefix by internal:: namespace. For example, ei_cos(x) becomes internal::cos(x).
+**renamed PlanarRotation -> JacobiRotation
+**renamed DenseStorageBase -> PlainObjectBase
+**HouseholderSequence API cleanup
+**refactored internal metaprogramming helpers to follow closely the standard library
+**made UpperBidiagonalization internal
+**made BandMatrix/TridiagonalMatrix internal
+**Core: also see below, "const correctness".
+**Sparse: EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET must be defined to use Eigen/Sparse
+**Core: random<interger type>() now spans over range of width RAND_MAX
+*New API:
+**Core: added Map static methods taking strides
+**SVD: added jacobiSvd() method
+**Sparse: many misc improvements and new features. Improved support for Cholmod, Amd, SuperLU and other back-ends.
+**Core: allow mixed real-complex dot products
+**Geometry: allow mixed real-complex cross products
+**Geometry: allow to pass Options parameters to Transform, Quaternion and other templates, to control memory alignment
+**QR: add threshold API to FullPivHouseholderQR
+**Core: added tan function
+*Const correctness:
+**Eigen now properly enforces const-correctness everywhere, for example with Map objects. This will break compilation of code that relied on former behavior.
+**A new kind of test suite was added to check that, 'failtest'.
+*BLAS/LAPACK:
+**Complete BLAS library built on top of Eigen. Imported BLAS test suite, which allowed to fix many issues.
+**Partial LAPACK implementation. Passing part of the LAPACK test suite, which also allowed to fix some issues.
+*Eigen 2 Support:
+**tons of improvements in EIGEN2_SUPPORT
+**new incremental migration path: see http://eigen.tuxfamily.org/dox-devel/Eigen2SupportModes.html
+**imported a copy of the Eigen 2 test suite, made sure that Eigen 3 passes it. That also allowed to fix several issues.
+
+
+== Eigen 3.0-beta2 ==
+
+Released October 15, 2010.
+
+Main changes since 3.0-beta1:
+
+* Add support for the vectorization of std::complex<> with SSE, AltiVec and NEON.
+* Add support for mixed real * complex matrix products with vectorization.
+* Finalize the JacobiSVD class with: compile time options, thin/full decompositions, and least-square solving.
+* Several improvement of the Transform class. In particular, there is no default mode anymore.
+* New methods: middleRows(), middleCols(), TriangularMatrix::conjugate()
+* New unsupported modules: OpenGL, MPFR C++
+* Many improvements in the support of empty objects.
+* Many improvements of the vectorization logic.
+* Add the possibility to extend QuaternionBase.
+* Vectorize Quaternion multiplication with double.
+* Significant improvements of the documentation.
+* Improved compile time errors.
+* Enforce static allocation of temporary buffers in gemm (when possible).
+* Fix aligned_delete for null pointers and non trivial dtors.
+* Fix eigen decomposition of 3x3 float matrices.
+* Fix 4x4 matrix inversions (vectorization).
+* Many fixes in QR: solving with m>n, use of rank, etc.
+* Fixes for MSVC for windows mobile and CLang.
+* Remove the Taucs backend (obsolete).
+* Remove the old SVD class (was causing too much troubles, a new decompozition based on bidiagonalisation/householder should come back soon, JacobiSVD can be used meanwhile).
+
+
+== Eigen 3.0-beta1 ==
+
+Released July 5, 2010
--
Eigen3 packaging.
More information about the debian-science-commits
mailing list