aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/QR
Commit message (Collapse)AuthorAge
* one last compilation fix ...Gravatar Benoit Jacob2008-12-22
|
* unless i find more failures in the tests, this will be beta3...Gravatar Benoit Jacob2008-12-22
| | | | | * fixes for mistakes (especially in the cast() methods in Geometry) revealed by the new "mixing types" test * dox love, including a section on coeff access in core and an overview in geometry
* * the Upper->UpperTriangular changeGravatar Benoit Jacob2008-12-20
| | | | * finally get ei_add_test right
* SelfAdjointEigenSolver: add operatorSqrt() and operatorInverseSqrt()Gravatar Benoit Jacob2008-12-19
|
* * fix in IO.h, a useless copy was made because of assignment fromGravatar Benoit Jacob2008-12-18
| | | | | | | | | | | | | | | Derived to MatrixBase. * the optimization of eval() for Matrix now consists in a partial specialization of ei_eval, which returns a reference type for Matrix. No overriding of eval() in Matrix anymore. Consequence: careful, ei_eval is no longer guaranteed to give a plain matrix type! For that, use ei_plain_matrix_type, or the PlainMatrixType typedef. * so lots of changes to adapt to that everywhere. Hope this doesn't break (too much) MSVC compilation. * add code examples for the new image() stuff. * lower a bit the precision for floats in the unit tests as we were already doing some workarounds in inverse.cpp and we got some failed tests.
* fix non standard non-const std::complex::real/imag issueGravatar Gael Guennebaud2008-12-17
|
* * replace postfix ++ by prefix ++ wherever that makes sense in Eigen/Gravatar Benoit Jacob2008-12-17
| | | | | * fix some "unused variable" warnings in the tests; there remains a libstdc++ "deprecated" warning which I haven't looked much into
* doc: add a "non stable" warning for parts which are not partGravatar Gael Guennebaud2008-11-22
| | | | of the stable API yet and a couple of other minor doc updates...
* * add .imag() functionGravatar Gael Guennebaud2008-11-14
| | | | | | * fix a very old bug in EigenSolver that I had completely forgotten (thanks to Timothy to refresh my mind) * fix doc of Matrix::Map
* Remove executable here tooGravatar Laurent Montel2008-11-04
|
* norm2() renamed to squaredNorm(), kept as deprecated for now.Gravatar Benoit Jacob2008-11-03
|
* Big API change in Cholesky module:Gravatar Gael Guennebaud2008-10-13
| | | | | | | | | | | | | | | | * rename Cholesky to LLT * rename CholeskyWithoutSquareRoot to LDLT * rename MatrixBase::cholesky() to llt() * rename MatrixBase::choleskyNoSqrt() to ldlt() * make {LLT,LDLT}::solve() API consistent with other modules Note that we are going to keep a source compatibility untill the next beta release. E.g., the "old" Cholesky* classes, etc are still available for some time. To be clear, Eigen beta2 should be (hopefully) source compatible with beta1, and so beta2 will contain all the deprecated API of beta1. Those features marked as deprecated will be removed in beta3 (or in the final 2.0 if there is no beta 3 !). Also includes various updated in sparse Cholesky.
* add EigenSolver::eigenvectors() method for non symmetric matrices.Gravatar Gael Guennebaud2008-10-03
| | | | | | However, for matrices larger than 5, it seems there is constantly a quite large error for a very few coefficients. I don't what's going on, but that's certainely not due to numerical issues only. (also note that the test with the pseudo eigenvectors fails the same way)
* Fixes in Eigensolver:Gravatar Gael Guennebaud2008-10-01
| | | | | | | | * eigenvectors => pseudoEigenvectors * added pseudoEigenvalueMatrix * clear the documentation * added respective unit test Still missing: a proper eigenvectors() function.
* block(int,int)->segmentGravatar Benoit Jacob2008-09-24
|
* * block() for vectors ---> segment()Gravatar Benoit Jacob2008-09-15
| | | | * documentation improvements, especially in quickstart guide
* spelling + some krazy directivesGravatar Gael Guennebaud2008-08-28
|
* * bug fixes in: Dot, generalized eigen problem, singular matrix detetection ↵Gravatar Gael Guennebaud2008-08-23
| | | | | | | in Cholesky * fix all numerical instabilies in the unit tests, now all tests can be run 2000 times with almost zero failures.
* Various compilation fixes for MSVC 9. All tests compile but someGravatar Gael Guennebaud2008-08-19
| | | | still fail at runtime in ei_aligned_free() (even without vectorization).
* * doc improvements in Cwise and PartialRedux:Gravatar Benoit Jacob2008-08-19
| | | | | | | | | - 33 new snippets - unfuck doxygen output in Cwise (issues with function macros) - more see-also links from outside, making Cwise more discoverable * rename matrixNorm() to operatorNorm(). There are many matrix norms (the L2 is another one) but only one is called the operator norm. Risk of confusion with keyword operator is not too scary after all.
* renamed inverseProduct => solveTriangularGravatar Gael Guennebaud2008-08-09
|
* * LU decomposition, supporting all rectangular matrices, with fullGravatar Benoit Jacob2008-08-04
| | | | | | | | | | pivoting for better numerical stability. For now the only application is determinant. * New determinant unit-test. * Disable most of Swap.h for now as it makes LU fail (mysterious). Anyway Swap needs a big overhaul as proposed on IRC. * Remnants of old class Inverse removed. * Some warnings fixed.
* fix two perf issues in product.Gravatar Gael Guennebaud2008-08-03
| | | | | fix positive definite test in Cholesky. remove #include <cstring> in CoreDeclaration.
* Optimizations:Gravatar Gael Guennebaud2008-08-01
| | | | | | | | * faster matrix-matrix and matrix-vector products (especially for not aligned cases) * faster tridiagonalization (make it using our matrix-vector impl.) Others: * fix Flags of Map * split the test_product to two smaller ones
* Several compilation fixes for MSVC and NVCC, basically:Gravatar Gael Guennebaud2008-07-29
| | | | | | | | - added explicit enum to int conversion where needed - if a function is not defined as declared and the return type is "tricky" then the type must be typedefined somewhere. A "tricky return type" can be: * a template class with a default parameter which depends on another template parameter * a nested template class, or type of a nested template class
* Add .perpendicular() function in Geometry module (adapted from Eigen1)Gravatar Gael Guennebaud2008-07-22
| | | | | | Documentation: * add an overview for each module. * add an example for .all() and Cwise::operator<
* * Merge Extract and Part to the Part expression.Gravatar Gael Guennebaud2008-07-21
| | | | | | Renamed "MatrixBase::extract() const" to "MatrixBase::part() const" * Renamed static functions identity, zero, ones, random with an upper case first letter: Identity, Zero, Ones and Random.
* I forgot that the previous commit needed minor changes outside the bench folderGravatar Gael Guennebaud2008-07-08
|
* - many updates after Cwise changeGravatar Benoit Jacob2008-07-08
| | | | | - fix compilation in product.cpp with std::complex - fix bug in MatrixBase::operator!=
* * split Product to a DiagonalProduct template specializationGravatar Gael Guennebaud2008-06-15
| | | | | | | | | | to optimize matrix-diag and diag-matrix products without making Product over complicated. * compilation fixes in Tridiagonalization and HessenbergDecomposition in the case of 2x2 matrices. * added an Orientation2D small class with similar interface than Quaternion (used by Transform to handle 2D and 3D orientations seamlessly) * added a couple of features in Transform.
* * Added a generalized eigen solver for the selfadjoint case.Gravatar Gael Guennebaud2008-06-14
| | | | | | (as new members to SelfAdjointEigenSolver) The QR module now depends on Cholesky. * Fix Transpose to correctly preserve the *TriangularBit.
* Add QR and Cholesky module instantiations in the lib.Gravatar Gael Guennebaud2008-06-14
| | | | To try it with the unit tests set the cmake variable TEST_LIB to ON.
* Added a Hessenberg decomposition class for both real and complex matrices.Gravatar Gael Guennebaud2008-06-08
| | | | | | | This is the first step towards a non-selfadjoint eigen solver. Notes: - We might consider merging Tridiagonalization and Hessenberg toghether ? - Or we could factorize some code into a Householder class (could also be shared with QR)
* * rewrite of the QR decomposition:Gravatar Gael Guennebaud2008-06-07
| | | | | | - works for complex - allows direct access to the matrix R * removed the scale by the matrix dimensions in MatrixBase::isMuchSmallerThan(scalar)
* fix a compilation issue in non debug modeGravatar Gael Guennebaud2008-06-06
|
* fix some compile errors with gcc 4.3, some warnings, some documentationGravatar Benoit Jacob2008-06-06
|
* add an optimized path for the tridiagonalization of a 3x3 matrix.Gravatar Gael Guennebaud2008-06-04
| | | | (useful for plane fitting, and covariance analysis of 3D data)
* added a static assertion mechanismGravatar Gael Guennebaud2008-06-04
| | | | (see notes in Core/util/StaticAssert.h for details)
* fix eigenvectors computations :)Gravatar Gael Guennebaud2008-06-03
|
* * start of the Geometry module with a cross product and quaternion expressionsGravatar Gael Guennebaud2008-06-02
| | | | | (haven't tried them yet) * applied the meta selector rule to MatrixBase::swap()
* big changes in Doxygen configuration; work around bug with doxygen parsing ofGravatar Benoit Jacob2008-06-02
| | | | | initialized enum values showing the last word the initializer instead of the actual enum value's name; add some more docs.
* Added the computation of eigen vectors in the symmetric eigen solver.Gravatar Gael Guennebaud2008-06-02
| | | | | However the eigen vectors are not correct yet, but I really cannot find the problem.
* since m*m.adjoint() is positive, so are its eigenvalues, so no need forGravatar Benoit Jacob2008-06-02
| | | | cwiseAbs()
* - add MatrixBase::eigenvalues() convenience methodGravatar Benoit Jacob2008-06-02
| | | | | | - add MatrixBase::matrixNorm(); in the non-selfadjoint case, we reduce to the selfadjoint case by using the "C*-identity" a.k.a. norm of x = sqrt(norm of x * x.adjoint())
* fix a couple of issues making the eigensolver test compile and run without ↵Gravatar Benoit Jacob2008-06-02
| | | | | | | | | aborting on an assert. Had to fix a stupid bug in Block -- very strange we hadn't hit it before. However the test still fails.
* Rewrite from scratch of the eigen solver for symmetric matricesGravatar Gael Guennebaud2008-06-02
| | | | | which now supports selfadjoint matrix. The implementation follows Golub's famous book.
* * added a Tridiagonalization class for selfadjoint matricesGravatar Gael Guennebaud2008-06-01
| | | | | | | | | * added MatrixBase::real() * added the ability to extract a selfadjoint matrix from the lower or upper part of a matrix, e.g.: m.extract<Upper|SelfAdjoint>() will ignore the strict lower part and return a selfadjoint. This is compatible with ZeroDiag and UnitDiag.
* updated EigenSolver to use .coeff / .coeffRefGravatar Gael Guennebaud2008-05-31
|
* * fix the QR module to use extract/part instead of the previous triangular stuffGravatar Gael Guennebaud2008-05-27
| | | | | * added qr and eigensolver tests * fix a compilation warning in Matrix copy constructor
* - introduce Part and Extract classes, splitting and extending the formerGravatar Benoit Jacob2008-05-27
| | | | | | | | | | Triangular class - full meta-unrolling in Part - move inverseProduct() to MatrixBase - compilation fix in ProductWIP: introduce a meta-selector to only do direct access on types that support it. - phase out the old Product, remove the WIP_DIRTY stuff. - misc renaming and fixes