| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
I still have JacobiSVD errors when cols>rows
|
|\
| |
| |
| | |
* remove a ctor in QuaternionBase as it gives a strange error with GCC 4.4.2.
|
| |
| |
| |
| | |
and fix various compilation issues
|
| | |
|
| | |
|
| |
| |
| |
| | |
this commit made in caltrain from Palo Alto to SF
|
| |
| |
| |
| | |
matrix, not sure how the unit test could work.
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
ei_svd_precondition_2x2_block_to_be_real.
|
| |
|
| |
|
|
|
|
|
|
|
| |
- R-SVD preconditioning now done with meta selectors to avoid compiling useless code
- SVD options now honored, with options to hint "at least as many rows as cols" etc...
- fix compilation in bad cases (rectangular and fixed-size)
- the check for termination is now done on the fly, no more goto (should have done that earlier!)
|
|
|
|
|
| |
* move the makeJacobi and make_givens_* to PlanarRotation
* rename applyJacobi* => apply*
|
|\ |
|
| |
| |
| |
| | |
any rectangular matrix size by reducing to the smaller of the two dimensions (which is also an optimization)
|
|/ |
|
|
|
|
| |
some convenient features (transpose, adjoint, product)
|
|
|
|
|
|
|
|
|
|
|
|
| |
- support complex numbers
- big rewrite of the 2x2 kernel, much more robust
* Jacobi:
- fix weirdness in initial design, e.g. applyJacobiOnTheRight actually did the inverse transformation
- fully support complex numbers
- fix logic to decide whether to vectorize
- remove several clumsy methods
fix for complex numbers
|
|
|
|
| |
(implements feature request #18)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* normalize left Jacobi rotations to avoid having to swap rows
* set precision to 2*machine_epsilon instead of machine_epsilon, we lose 1 bit of precision
but gain between 10% and 100% speed, plus reduce the risk that some day we hit a bad matrix
where it's impossible to approach machine precision
|
|
|
|
|
|
|
| |
it turns out to be better to repeat the jacobi steps on a given (p,q) pair until it
is diagonal to machine precision, before going to the next (p,q) pair. it's also
an optimization as experiments show that in a majority of cases this allows to find out
that the (p,q) pair is already diagonal to machine precision.
|
|
|
|
|
|
|
|
|
|
| |
to guarantee the precision of the output, which is very valuable.
Here, we guarantee that the diagonal matrix returned by the SVD is
actually diagonal, to machine precision.
Performance isn't bad at all at 50% of the current householder SVD
performance for a 200x200 matrix (no vectorization) and we have
lots of room for improvement.
|
| |
|
|
|
|
|
| |
* add Jacobi (Hestenes) SVD decomposition for square matrices
* add function for trivial Householder
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
this is still not Eigen style code but at least it works for
n>m and it is more accurate than the JAMA based version. (I needed
it now, this is why I did that)
|
| |
|
|\ |
|
| |
| |
| |
| | |
it never made very precise sense. but now does it still make any?
|
| | |
|
|/
|
|
|
|
| |
Added default ctor and public compute method as
well as safe-guards against uninitialized usage.
Added unit tests for the safe-guards.
|
| |
|