| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
EIGEN_SIZE_MIN ---> EIGEN_SIZE_MIN_PREFER_DYNAMIC
EIGEN_MAXSIZE_MIN ---> EIGEN_SIZE_MIN_PREFER_FIXED
and make sure to use the latter in products xprs to determine the inner size.
|
|\ |
|
| |
| |
| |
| | |
remove EIGEN_ENUM_MIN/MAX, implement new macros instead
|
|/
|
|
| |
* add an Index type template parapeter to sparse objects
|
|
|
|
| |
As discussed on the list (too long to explain here).
|
|
|
|
|
|
|
|
| |
* get rid of BlockReturnType: it was not needed, and code was not always using it consistently anyway
* add topRows(), leftCols(), bottomRows(), rightCols()
* add corners unit-test covering all of that
* adapt docs, expand "porting from eigen 2 to 3"
* adapt Eigen2Support
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
the vector case
|
|
|
|
|
|
|
| |
decomposition classes. One particular advantage of this is that decomposing matrices with max sizes known at compile time will not allocate.
NOTE: The ComplexEigenSolver class currently _does_ allocate (line 135 of Eigenvalues/ComplexEigenSolver.h), but the reason appears to be in the implementation of matrix-matrix products, and not in the decomposition itself.
The nomalloc unit test has been extended to verify that decompositions do not allocate when max sizes are specified. There are currently two workarounds to prevent the test from failing (see comments in test/nomalloc.cpp), both of which are related to matrix products that allocate on the stack.
|
| |
|
|
|
|
|
| |
=> they show that some improvements have still to be done
for permutations, tr*tr, trapezoidal matrices
|
|
|
|
|
|
| |
not even with huge numbers of repetitions.
Finally the createRandomMatrixOfRank() function is renamed to createRandomPIMatrixOfRank, where PI stands for 'partial isometry', that is, a matrix whose singular values are 0 or 1.
|
|
|
|
|
|
|
|
|
| |
fuzzy compare
(fixes lu test failures when testing solve())
* LU test: set appropriate threshold and limit the number of times that a specially tricky test
is run. (fixes lu test failures when testing rank()).
* Tests: rename createRandomMatrixOfRank to createRandomProjectionOfRank
|
| |
|
|
|
|
| |
Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
|
|
|
|
| |
* make NumTraits inherits std::numeric_limits
|
|
|
|
|
|
| |
related to nested products.
Fixed a few typos and a few warnings.
|
| |
|
|
|
|
| |
and remove the respective bit flags
|
|\ |
|
| |
| |
| |
| |
| |
| | |
start ---> head
end ---> tail
Much frustration with sed syntax. Need to learn perl some day.
|
|\| |
|
| |
| |
| |
| |
| |
| | |
disabled.
All unimplemented assignment operators have been removed.
|
| |
| |
| |
| | |
Silenced (amongst others) many conversion related warnings.
|
| |\ |
|
| | | |
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| |
| | |
* add a new Eigen2Support module including Cwise, Flagged, and some other deprecated stuff
* add a few cwiseXxx functions
* adapt a few modules to use cwiseXxx instead of the .cwise() prefix
|
| | |
|
| |
| |
| |
| | |
LU: make use of that
|
|/ |
|
|
|
|
| |
and fix various compilation issues
|
| |
|
|
|
|
| |
put them in a new internal 'misc' directory
|
| |
|
|
|
|
| |
*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
|