aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Started the third chapter of the tutorial on linear solvers.Gravatar Gael Guennebaud2008-10-16
| | | | | | | | It is only a first draft and I think it should be reorganized a bit in 2 parts: 1 - a compact table summarizing the main API and its use (this is what would expect an "expert" user) 2 - a discussion about the various algorithm in Eigen to guide the newbies in linear algebra Currently I mixed the discussion with the API, but it is still better than nothing !
* 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
* extend sparse unit tests with transpose and matrix productGravatar Gael Guennebaud2008-10-04
|
* 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
|
* remove apidox_preprocessing script which is not used anymoreGravatar Gael Guennebaud2008-09-16
|
* resurrected root/Mainpage.dox, the directives are needed by kde's scriptsGravatar Gael Guennebaud2008-09-16
|
* block => segment in the tutorialGravatar Gael Guennebaud2008-09-15
|
* 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())
* fix doc compilationGravatar Gael Guennebaud2008-09-13
|
* * 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...
* opengl demo, now working:Gravatar Gael Guennebaud2008-09-09
| | | | | | - quaternion vs euler angles interpolation (though the Euler angle version looks a bit too bad) - navigation using either a mapping from 2D screen coordinates to 3D points on a sphere or the standard approach mapping mouse displacements as rotations around camera's axes.
* various stuff in opengl demos such as a better model,Gravatar Gael Guennebaud2008-09-09
| | | | | stable trackball for the fly navigation mode, and started to put some GUI elements...
* 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
|
* started a small OpenGL demo making use of Eigen's geometry featuresGravatar Gael Guennebaud2008-09-07
|
* 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
|
* * Extend a bit ParametrizedLine and move it to a separate file,Gravatar Gael Guennebaud2008-09-03
| | | | | | add unit-tests for it. * remove "using namespace std" in test/main.h such that the compilation bug found today in SVD won't happen again.
* Fix bugs reported by Timothy Hunter:Gravatar Gael Guennebaud2008-09-03
| | | | | | * CholeskyWithoutSqrt with 1x1 matrices * .part<Diagonal>() Updated unit tests to handle these cases
* Add coeff-wise comparisons to scalar operators. You can now write:Gravatar Gael Guennebaud2008-09-03
| | | | | | mat.cwise() < 2 instead of: mat.cwise() < MatrixType::Constant(mat.rows(), mat.cols(), 2)
* Add a Select expression in the Array module which mimics a coeff-wise ?: ↵Gravatar Gael Guennebaud2008-09-03
| | | | | | | | operator. Example: mat = (mat.cwise().abs().cwise() < Ones()).select(0,mat); replaces all small values by 0. (the scalar version is "s = abs(s)<1 ? 0 : s")
* trivial compilation fix in SVDGravatar Gael Guennebaud2008-09-03
|
* Bugfix regarding alignent in Assign.h (updated map unit test to detect this bug)Gravatar Gael Guennebaud2008-09-03
| | | | | Anyway: LinearVectorization+CompleteUnrolling actually uses the InnerVectorization unrollers, so these two cases could be merged to a single one...
* compilation fixes with MSVCGravatar Gael Guennebaud2008-09-03
|
* not yetGravatar Gael Guennebaud2008-09-03
|
* Solve a big issue with data alignment and dynamic allocation:Gravatar Gael Guennebaud2008-09-03
| | | | | | | | | | | | | | | | * add a WithAlignedOperatorNew class with overloaded operator new * make Matrix (and Quaternion, Transform, Hyperplane, etc.) use it if needed such that "*(new Vector4) = xpr" does not failed anymore. * Please: make sure your classes having fixed size Eigen's vector or matrice attributes inherit WithAlignedOperatorNew * add a ei_new_allocator STL memory allocator to use with STL containers. This allocator really calls operator new on your types (unlike GCC's new_allocator). Example: std::vector<Vector4f> data(10); will segfault if the vectorization is enabled, instead use: std::vector<Vector4f,ei_new_allocator<Vector4f> > data(10); NOTE: you only have to worry if you deal with fixed-size matrix types with "sizeof(matrix_type)%16==0"...
* resurrected sparse triangular solverGravatar Gael Guennebaud2008-09-02
|
* Extended sparse unit-test: nested blocks and InnerIterators.Gravatar Daniel Gomez Ferro2008-09-02
| | | | | Block specialization for sparse matrices. InnerIterators for Blocks and fixes in CoreIterators.
* if EIGEN_NICE_RANDOM is defined, the random functions will return numbers withGravatar Benoit Jacob2008-09-01
| | | | | | few bits left of the comma and for floating-point types will never return zero. This replaces the custom functions in test/main.h, so one does not anymore need to think about that when writing tests.
* remove the conceptualy broken "NoShear" transformation traits,Gravatar Gael Guennebaud2008-09-01
| | | | and rename NonAfine => Projective, GenericAffine => Affine, NoScaling => Isometry