| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
manipulation of permutations as a sequence of transpositions.
Make LDLT use it.
|
| |
|
| |
|
|
|
|
| |
As discussed on the list (too long to explain here).
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| | |
* adapt Eigenvalues module to the new rule that the RowMajorBit must have the proper value for vectors
* Fix RowMajorBit in ei_traits<ProductBase>
* Fix vectorizability logic in CoeffBasedProduct
|
| |
| |
| |
| | |
nop.
|
|/
|
|
| |
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
|
|
|
|
| |
* add a reconstructedMatrix() function to LDLT for debug purpose
|
|
|
|
| |
proper fix is this.
|
|
|
|
|
| |
* fix bug thanks to Ben Goodrich: we were terminating at the wrong place, leaving some matrix coefficients with wrong values.
* don't use Higham's formula here: we're not trying to be rank-revealing.
|
| |
|
|
|
|
| |
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
|
|
|
|
| |
and fix various compilation issues
|
| |
|
| |
|
|
|
|
| |
*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
|
|
|
|
|
|
|
|
|
| |
(build demos).
* remove EIGEN_BUILD_TESTS and siblings
* add summary at the end of cmake run, hopefully not too verbose
* fix build of quaternion demo
* kill remnants of old binary library option
|
|
|
|
| |
Added missing casts.
|
|
|
|
| |
(implements feature request #18)
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
1 - make it easier to catch conjugate expressions
2 - make sure there is no unecessary copy (we had NestByValue<Derived> which seems to be very bad)
* update eigensolver wrt recent changes
|
| |
| |
| |
| |
| | |
* fix Block::operator+= product which was not optimized
* fix some compilation issues
|
| |
| |
| |
| |
| | |
we don't need to add other specialization of MatrixBase::operator=, Matrix::=,
and Matrix::Matrix(...)
|