aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/SVD
Commit message (Collapse)AuthorAge
* fix the flags and matrix options, to always have the right RowMajor bit in ↵Gravatar Benoit Jacob2010-03-19
| | | | the vector case
* Propagate all five matrix template parameters to members and temporaries of ↵Gravatar Adolfo Rodriguez Tsouroukdissian2010-03-08
| | | | | | | 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.
* Renamed PlainMatrixType to PlainObject (Array != Matrix).Gravatar Hauke Heibel2010-02-20
| | | | Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
* * move dummy_precision and epsilon to NumTraitsGravatar Gael Guennebaud2010-02-10
| | | | * make NumTraits inherits std::numeric_limits
* EIGEN_ENUM_MIN ---> EIGEN_SIZE_MINGravatar Benoit Jacob2010-01-27
|
* New UpperBidiagonalization classGravatar Benoit Jacob2010-01-14
|
* remove the Triangular suffix to Upper, Lower, UnitLower, etc,Gravatar Gael Guennebaud2010-01-07
| | | | and remove the respective bit flags
* merge and add start/end to Eigen2SupportGravatar Gael Guennebaud2010-01-05
|\
| * Big renaming:Gravatar Benoit Jacob2010-01-04
| | | | | | | | | | | | start ---> head end ---> tail Much frustration with sed syntax. Need to learn perl some day.
* | merge with default branchGravatar Gael Guennebaud2009-12-22
|\|
| * Warning 4512 (assignment operators could not be generated) is now simply ↵Gravatar Hauke Heibel2009-12-14
| | | | | | | | | | | | disabled. All unimplemented assignment operators have been removed.
| * Added to possibility to compile unit tests at maximum warning level.Gravatar Hauke Heibel2009-12-12
| | | | | | | | Silenced (amongst others) many conversion related warnings.
* | add a DenseBase class for MAtrixBase and ArrayBase and more code factorisationGravatar Gael Guennebaud2009-12-04
| |
| * precision ---> dummy_precisionGravatar Benoit Jacob2009-11-26
| |
| * simplificationGravatar Benoit Jacob2009-11-18
| |
| * fix stuff after the PermutationMatrix changes.Gravatar Benoit Jacob2009-11-18
|/ | | | I still have JacobiSVD errors when cols>rows
* * mergeGravatar Benoit Jacob2009-11-09
|\ | | | | | | * remove a ctor in QuaternionBase as it gives a strange error with GCC 4.4.2.
* | last round of changes, mainly to return derived types instead of base types, ↵Gravatar Benoit Jacob2009-11-09
| | | | | | | | and fix various compilation issues
* | simplifications in the ei_solve_impl system, factor out some boilerplate codeGravatar Benoit Jacob2009-11-08
| |
* | port the qr module to ei_solve_xxx.Gravatar Benoit Jacob2009-11-08
| |
* | port svd to the ei_xxx_return_value thingGravatar Benoit Jacob2009-11-04
| | | | | | | | this commit made in caltrain from Palo Alto to SF
| * fix bug in svd solve reported on forum, was apparently assuming square ↵Gravatar Benoit Jacob2009-11-04
| | | | | | | | matrix, not sure how the unit test could work.
* | SVD::solve() : port to new API and improvementsGravatar Benoit Jacob2009-10-30
| |
* | big huge changes, so i dont remember everything.Gravatar Benoit Jacob2009-10-28
|/ | | | | | | | | | * 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
* Ok, too many class bodies - it was only required for ↵Gravatar Hauke Heibel2009-09-27
| | | | ei_svd_precondition_2x2_block_to_be_real.
* Fixed VC compilation error on the JacobiSVD module.Gravatar Hauke Heibel2009-09-27
|
* bugfixes for ICC (compilation and runtime)Gravatar Gael Guennebaud2009-09-15
|
* big reorganization in JacobiSVD:Gravatar Benoit Jacob2009-09-03
| | | | | | | - 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!)
* * rename JacobiRotation => PlanarRotationGravatar Gael Guennebaud2009-09-02
| | | | | * move the makeJacobi and make_givens_* to PlanarRotation * rename applyJacobi* => apply*
* mergeGravatar Benoit Jacob2009-09-02
|\
* | JacobiSVD: implement general R-SVD using full-pivoting QR, so we now support ↵Gravatar Benoit Jacob2009-09-02
| | | | | | | | any rectangular matrix size by reducing to the smaller of the two dimensions (which is also an optimization)
| * added missing JacobiRotation's ...Gravatar Hauke Heibel2009-09-01
|/
* add a JacobiRotation class wrapping the cosine-sine pair withGravatar Gael Guennebaud2009-09-01
| | | | some convenient features (transpose, adjoint, product)
* * JacobiSVD:Gravatar Benoit Jacob2009-08-31
| | | | | | | | | | | | - 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
* in all decs, make the compute() methods return *thisGravatar Benoit Jacob2009-08-15
| | | | (implements feature request #18)
* make SVD reuses applyJacobiGravatar Gael Guennebaud2009-08-16
|
* svd: sort in decreasing order, remove unused codeGravatar Benoit Jacob2009-08-15
|
* machine_epsilon -> epsilon as wrapper around numeric_traitsGravatar Benoit Jacob2009-08-14
|
* * remove EIGEN_DONT_INLINE that harm performance for small sizesGravatar Benoit Jacob2009-08-13
| | | | | | | * 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
* make jacobi SVD more robust after experimenting with very nasty matrices...Gravatar Benoit Jacob2009-08-12
| | | | | | | 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.
* finally, the good approach was two-sided Jacobi. Indeed, it allowsGravatar Benoit Jacob2009-08-12
| | | | | | | | | | 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.
* don't depend on uninitialized valueGravatar Benoit Jacob2009-08-09
|
* * add Jacobi transformationsGravatar Benoit Jacob2009-08-09
| | | | | * add Jacobi (Hestenes) SVD decomposition for square matrices * add function for trivial Householder
* fix bug in sorting of singular valuesGravatar Benoit Jacob2009-08-09
|
* make the dot product linear in the second variable, not the first variableGravatar Benoit Jacob2009-08-03
|
* bugfix in SVDGravatar Gael Guennebaud2009-07-20
|
* slight change in the comparison to -1Gravatar Gael Guennebaud2009-07-10
|
* include the fixes of the third editionGravatar Gael Guennebaud2009-07-06
|
* quick reimplementation of SVD from the numeral recipes book:Gravatar Gael Guennebaud2009-07-06
| | | | | | 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)
* fix #20: SVD::solve() now resize the resultGravatar Gael Guennebaud2009-07-04
|