| Commit message (Collapse) | Author | Age |
|
|
|
| |
See http://forum.kde.org/viewtopic.php?f=74&t=106942
|
| |
|
|
|
|
| |
constness on the return types)
|
|
|
|
|
| |
LDLT: add the missing info() function,
improve unit testing of rankUpdate()
|
| |
|
| |
|
| |
|
|
|
|
| |
Clarify this in docs and add regression test.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const.
Changed boolean type 'ret' member to 'value'.
Changed 'ret' members refering to types to 'type'.
Adapted all code occurences.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
manipulation of permutations as a sequence of transpositions.
Make LDLT use it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
preallocates member data structures.
- Updated unit tests to check above constructor.
- In the compute() method of decompositions: Made temporary matrices/vectors class members to avoid heap allocations during compute() (when dynamic matrices are used, of course).
These changes can speed up decomposition computation time when a solver instance is used to solve multiple same-sized problems. An added benefit is that the compute() method can now be invoked in contexts were heap allocations are forbidden, such as in real-time control loops.
CAVEAT: Not all of the decompositions in the Eigenvalues module have a heap-allocation-free compute() method. A future patch may address this issue, but some required API changes need to be incorporated first.
|
|
|
|
|
| |
=> they show that some improvements have still to be done
for permutations, tr*tr, trapezoidal matrices
|
|
|
|
| |
and remove the respective bit flags
|
| |
|
| |
|
|
|
|
| |
*improve documentation
|
|
|
|
|
|
|
|
|
|
| |
* renaming, e.g. LU ---> FullPivLU
* split tests framework: more robust, e.g. dont generate empty tests if a number is skipped
* make all remaining tests use that splitting, as needed.
* Fix 4x4 inversion (see stable branch)
* Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices.
* CMakeLists: more robust regexp to parse the version number
* misc fixes in unit tests
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* fix Block::operator+= product which was not optimized
* fix some compilation issues
|
|
|
|
|
|
|
|
| |
* move solveTriangular*() to TriangularView::solve*()
* move .llt() to SelfAdjointView
* add a high level wrapper to the efficient selfadjoint * vector product
* improve LLT so that we can specify which triangular part is meaningless
=> there are still many things to do (doc, cleaning, improve the matrix products, etc.)
|
|\ |
|
| |
| |
| |
| | |
it never made very precise sense. but now does it still make any?
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Cholesky decs are NOT rank revealing so remove all the rank/isPositiveDefinite etc stuff.
* fix bug in LLT: s/return/continue/
* introduce machine_epsilon constants, they are actually needed for Higman's formula determining
the cutoff in Cholesky. Btw fix the page reference to his book (chat with Keir).
* solve methods always return true, since this isn't a rank revealing dec. Actually... they already did always return true!! Now it's explicit.
* updated dox and unit-test
|
|
|
|
|
|
|
|
|
| |
* in LDLT, support the negative semidefinite case
* fix bad floating-point comparisons, improves greatly the accuracy of methods like
isPositiveDefinite() and rank()
* simplifications
* identify (but not resolve) bug: claim that only triangular part is used, is inaccurate
* expanded unit-tests
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* try to be clever in matrix ctors and operator=: be lazy when we can, always allow
to copy rowvector into columnvector, check the template parameters,
try to factor the code better
* add missing copy ctor in UnalignedType
* fix bug in the traits of DiagonalProduct
* renaming: EIGEN_TUNE_FOR_CPU_CACHE_SIZE
* update the dox a little
|
|
|
|
| |
correctly initialized to 0.
|
|
|
|
|
|
|
|
| |
* actually GCC 4.3.0 has a bug, "deprecated" placed at the end
of a function prototype doesn't have any effect, moving them to
the start of the function prototype makes it actually work!
* finish porting the cholesky unit-test to the new LLT/LDLT,
after the above fix revealed a deprecated warning
|
|
|
|
|
|
|
|
|
|
| |
* remove the automatic resizing feature of operator =
* add function Matrix::set() to be used when the previous
behavior is wanted
* the default constructor of dynamic-size matrices now
creates a "null" matrix (data=0, rows = cols = 0)
instead of a 1x1 matrix
* fix UnixX typos ;)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rename Cholesky to LLT
* rename CholeskyWithoutSquareRoot to LDLT
* rename MatrixBase::cholesky() to llt()
* rename MatrixBase::choleskyNoSqrt() to ldlt()
* make {LLT,LDLT}::solve() API consistent with other modules
Note that we are going to keep a source compatibility untill the next beta release.
E.g., the "old" Cholesky* classes, etc are still available for some time.
To be clear, Eigen beta2 should be (hopefully) source compatible with beta1,
and so beta2 will contain all the deprecated API of beta1. Those features marked
as deprecated will be removed in beta3 (or in the final 2.0 if there is no beta 3 !).
Also includes various updated in sparse Cholesky.
|
|
|
|
|
|
| |
* CholeskyWithoutSqrt with 1x1 matrices
* .part<Diagonal>()
Updated unit tests to handle these cases
|
|
|
|
|
|
| |
few bits left of the comma and for floating-point types will never return zero.
This replaces the custom functions in test/main.h, so one does not anymore need
to think about that when writing tests.
|
|
|
|
|
|
|
| |
in Cholesky
* fix all numerical instabilies in the unit tests, now all tests can be run 2000 times
with almost zero failures.
|