| Commit message (Collapse) | Author | Age |
|
|
|
| |
(transplanted from 145b9cad63101ee46924d446fa8b08ffb48c7f3a)
|
| |
|
|
|
|
| |
bug #276)
|
| |
|
|
|
|
| |
Users can call .transpose() instead.
|
|
|
|
|
|
| |
* remove ctors taking more than 2 ints
* rename actualVectors to length
* add length/shift/trans accessors/mutators
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- all what's not in unsupported/ is considered stable API
(except internal stuff e.g. expression templates).
|
| |
|
| |
|
|
|
|
| |
This is all internal stuff for now.
|
| |
|
| |
|
|
|
|
| |
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2010/05/msg00154.html
|
|
|
|
| |
As discussed on the list (too long to explain here).
|
|
|
|
| |
silent some warnings (from clang)
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
removal of extra _Base/_Options template parameters.
* Introduction of strides-at-compile-time so for example the optimized code really knows when it needs to evaluate to a temporary
* StorageKind / XprKind
* Quaternion::setFromTwoVectors: use JacobiSVD instead of SVD
* ComplexSchur: support the 1x1 case
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
ReturnByValue col-vector
* remove a few useless resize() in evalTo() implementations
|
|
|
|
| |
Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
|
|
|
|
| |
* make NumTraits inherits std::numeric_limits
|
| |
|
|
|
|
|
|
|
|
|
| |
EIGEN_SIZE_MIN instead of EIGEN_ENUM_MIN, and there are many other occurences throughout Eigen!
* HouseholderSequence:
- add shift parameter
- add essentialVector() method to start abstracting the direction
- add unit test in householder.cpp
|
| |
|
| |
|
|
|
|
| |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* be aware of number of actual householder vectors
(optimization in non-full-rank case, no behavior change)
* fix applyThisOnTheRight, it was using k instead of actual_k
* QR: rename matrixQ() to householderQ() where applicable
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
* with random matrices multiplied by 1e+8 (i.e. fixed wrong absolute fuzzy compare)
* with 10,000 repetitions (i.e. the fuzzy compare is really clever)
and when it occasionnally fails, less than once in 10,000 repeats, it is only on the exact rank computation.
|
| | |
| | |
| | |
| | | |
thousands of repetitions and correctly tests matrices of all sizes. Several surprises along the way: for example, a major cause of trouble was the optimized "table of column squared norms" where the accumulation of imprecision was a serious issue; another surprise is that tests like "x!=0" before dividing by x really benefit from being replaced by fuzzy tests, as i hit real cases where i got wrong results in 1/epsilon.
|
| | | |
|
| |/ |
|
| | |
|
| |
| |
| |
| | |
I still have JacobiSVD errors when cols>rows
|
|/ |
|
|
|
|
|
|
| |
output. Keep "workspace" as pointer because it is an array (which is now more obvious).
*rename makeHouseholderSequence to householderSequence, because that's what it returns.
|
|
|
|
| |
and fix various compilation issues
|
| |
|
| |
|