aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
Commit message (Collapse)AuthorAge
* Add an axis aligned box in the geometry module.Gravatar Gael Guennebaud2008-10-26
| | | | | | | | Some naming questions: - for "extend" we could also think of: "expand", "union", "add" - same for "clamp": "crop", "intersect" - same for "contains": "isInside", "intersect" => ah "intersect" is conflicting, so that eliminates this one !
* Add isApprox in Geometry module's classes.Gravatar Gael Guennebaud2008-10-25
| | | | Complete unit tests wrt previous commits.
* oops forgot the inline keyword (though for gcc it was implicit)Gravatar Gael Guennebaud2008-10-25
|
* Add smart cast functions and ctor with scalar conversion (explicit)Gravatar Gael Guennebaud2008-10-25
| | | | | to all classes of the Geometry module. By smart I mean that if current type == new type, then it returns a const reference to *this => zero overhead
* improve assertion checking in productGravatar Gael Guennebaud2008-10-25
|
* bugfix in Quaternion found by Daniel StonierGravatar Gael Guennebaud2008-10-25
|
* some cleaning and doc in ParametrizedLine and HyperPlaneGravatar Gael Guennebaud2008-10-25
| | | | Just a thought: what about ParamLine instead of the verbose ParametrizedLine ?
* As discussed on ML:Gravatar Gael Guennebaud2008-10-24
| | | | | | | | | | * remove the automatic resizing feature of operator = * add function Matrix::set() to be used when the previous behavior is wanted * the default constructor of dynamic-size matrices now creates a "null" matrix (data=0, rows = cols = 0) instead of a 1x1 matrix * fix UnixX typos ;)
* compilation fix for ICCGravatar Gael Guennebaud2008-10-21
|
* sparse module:Gravatar Gael Guennebaud2008-10-21
| | | | | - remove some useless stuff => let's focus on a single sparse matrix format - finalize the new RandomSetter
* add the bench file for the RandomSetterGravatar Gael Guennebaud2008-10-21
|
* sparse module: add a RandomSetter based on a user defined map implementationGravatar Gael Guennebaud2008-10-20
| | | | | | | | | | | | | | | as described on the wiki (one map per N column) Here's some bench results for the 4 currently supported map impl: std::map => 18.3385 (581 MB) gnu::hash_map => 6.52574 (555 MB) google::dense => 2.87982 (315 MB) google::sparse => 15.7441 (165 MB) This is the time is second (and memory consumption) to insert/lookup 10 million of coeffs with random coords inside a 10000^2 matrix, with one map per packet of 64 columns => google::dense really rocks ! Note I use for the key value the index of the column in the packet (between 0 and 63) times the number of rows and I used the default hash function.... so maybe there is room for improvement here....
* * sparse LU: add extraction of L,U,P, and Q, as well as determinantGravatar Gael Guennebaud2008-10-20
| | | | | for both backends. * extended a bit the sparse unit tests
* add unit tests for sparse LU and fix a couple of warningsGravatar Gael Guennebaud2008-10-20
|
* * add cmake files to find (optional) supported librariesGravatar Gael Guennebaud2008-10-20
| | | | * add unit tests for sparse cholesky
* UmfPack support: add support for complex<double>Gravatar Gael Guennebaud2008-10-20
|
* sparse module: add support for umfpack, the sparse direct LUGravatar Gael Guennebaud2008-10-19
| | | | | | | | | | solver from suitesparse (as cholmod). It seems to be even faster than SuperLU and it was much simpler to interface ! Well, the factorization is faster, but for the solve part, SuperLU is quite faster. On the other hand the solve part represents only a fraction of the whole procedure. Moreover, I bench random matrices that does not represents real cases, and I'm not sure at all I use both libraries with their best settings !
* sparse module: some trivial bugfixesGravatar Gael Guennebaud2008-10-19
|
* sparse module: add preliminary support for direct sparse LU solverGravatar Gael Guennebaud2008-10-19
| | | | | using SuperLU. Calling SuperLU was very painful, but it was worth it, it seems to be damn fast !
* sparse module: added some documentation for the LLT solverGravatar Gael Guennebaud2008-10-18
|
* sparse module: much much faster transposition codeGravatar Gael Guennebaud2008-10-18
|
* fix some documentation issuesGravatar Gael Guennebaud2008-10-17
|
* add my copyright in MatrixBase.hGravatar Gael Guennebaud2008-10-13
|
* 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.
* Solve the issue found by Timothy in solveTriangular:Gravatar Gael Guennebaud2008-10-13
| | | | | | => row-major rhs are now evaluated to a column-major temporary before the computations. Add solveInPlace in Cholesky*
* fix typosGravatar Scott Wheeler2008-10-12
|
* note that norm2() is *not* an l2 norm as it is in other APIsGravatar Scott Wheeler2008-10-11
|
* SVN_SILENT pendanticGravatar Urs Wolfer2008-10-11
|
* Clear up the docs some. I'd also suggest making Dynamic the default ↵Gravatar Scott Wheeler2008-10-11
| | | | template parameter for matrices.
* very little fixes: cast literals to Scalar, rephrase some doc, add some ↵Gravatar Benoit Jacob2008-10-06
| | | | | | const (maybe completely useless but at least doesn't hurt)
* Sparse module: refactoring of the cholesky factorization,Gravatar Gael Guennebaud2008-10-05
| | | | now the backends are well separated from the default impl, etc.
* Sparse module: enable support for incomplete cholesky factorization in ↵Gravatar Gael Guennebaud2008-10-05
| | | | CHOLMOD backend.
* Sparse module: removed some extra copies using markAsRValue()Gravatar Gael Guennebaud2008-10-05
|
* Sparse module: add experimental support for TAUCS and CHOLMOD with:Gravatar Gael Guennebaud2008-10-05
| | | | | * bidirectionnal mapping * full cholesky factorization
* Cleaned a bit the sparse cholesky codeGravatar Gael Guennebaud2008-10-04
|
* Sparse module:Gravatar Gael Guennebaud2008-10-04
| | | | | | | | | | * several fixes (transpose, matrix product, etc...) * Added a basic cholesky factorization * Added a low level hybrid dense/sparse vector class to help writing code involving intensive read/write in a fixed vector. It is currently used to implement the matrix product itself as well as in the Cholesky factorization.
* 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
|
* small dox fixesGravatar Benoit Jacob2008-09-15
|
* * block() for vectors ---> segment()Gravatar Benoit Jacob2008-09-15
| | | | * documentation improvements, especially in quickstart guide
* add normalization functions to Quaternion and fix compilationGravatar Gael Guennebaud2008-09-14
| | | | issue with custom types
* * fix issues with "long double" type (useful to enforce the use of x87 ↵Gravatar Gael Guennebaud2008-09-14
| | | | | | registers) * extend the documentation on "extending Eigen"
* move CommaInitializer out of MatrixBase and documment it (because of ↵Gravatar Gael Guennebaud2008-09-13
| | | | .finished())
* * Quaternion: added dot product and angularDistance functions. The latter isGravatar Gael Guennebaud2008-09-11
| | | | | | based on the former. * opengl_demo: makes IcoSphere better (vertices are instanciated only once) and removed the generation of a big geometry for the fancy spheres...
* fix a numerical instability in Quaternion::slerpGravatar Gael Guennebaud2008-09-09
|
* add the missing templated version of block for sub-vectorsGravatar Gael Guennebaud2008-09-09
|
* 2 typosGravatar Gael Guennebaud2008-09-08
|
* fix stupid numerical stability issue in SVD::solve (though it is not yet as ↵Gravatar Gael Guennebaud2008-09-04
| | | | stable as LU with full pivoting)
* fix warningGravatar Benoit Jacob2008-09-04
|