| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
|
|
|
|
|
|
|
| |
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 !
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
=> row-major rhs are now evaluated to a column-major
temporary before the computations.
Add solveInPlace in Cholesky*
|
| |
|
| |
|
| |
|
|
|
|
| |
template parameter for matrices.
|
|
|
|
|
|
| |
const (maybe completely
useless but at least doesn't hurt)
|
|
|
|
| |
now the backends are well separated from the default impl, etc.
|
|
|
|
| |
CHOLMOD backend.
|
| |
|
|
|
|
|
| |
* bidirectionnal mapping
* full cholesky factorization
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
* eigenvectors => pseudoEigenvectors
* added pseudoEigenvalueMatrix
* clear the documentation
* added respective unit test
Still missing: a proper eigenvectors() function.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* documentation improvements, especially in quickstart guide
|
|
|
|
| |
issue with custom types
|
|
|
|
|
|
| |
registers)
* extend the documentation on "extending Eigen"
|
|
|
|
| |
.finished())
|
| |
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
| |
stable trackball for the fly navigation mode, and started
to put some GUI elements...
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
stable as LU with full pivoting)
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* CholeskyWithoutSqrt with 1x1 matrices
* .part<Diagonal>()
Updated unit tests to handle these cases
|
|
|
|
|
|
| |
mat.cwise() < 2
instead of:
mat.cwise() < MatrixType::Constant(mat.rows(), mat.cols(), 2)
|
|
|
|
|
|
|
|
| |
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")
|
| |
|
|
|
|
|
| |
Anyway: LinearVectorization+CompleteUnrolling actually uses the InnerVectorization
unrollers, so these two cases could be merged to a single one...
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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"...
|
| |
|
|
|
|
|
| |
Block specialization for sparse matrices.
InnerIterators for Blocks and fixes in CoreIterators.
|