Gael Guennebaud
d56be9c128
* make HessenbergDecomposition uses the Householder module
...
* bugfix in ei_blas_traits for .conjugate().conjugate()
2009-08-17 17:41:01 +02:00
Gael Guennebaud
ff0f005d4c
change the make householder algorithm so that the remaining coefficient
...
is real, and make Tridiagonalization use it
2009-08-17 17:04:32 +02:00
Benoit Jacob
523cdedf58
make the dot product linear in the second variable, not the first variable
2009-08-03 17:20:45 +02:00
Gael Guennebaud
2796bcabb1
some cleaning
2009-07-31 17:35:20 +02:00
Gael Guennebaud
94cc30180e
compilation fixes
2009-07-27 13:50:23 +02:00
Gael Guennebaud
0590c18555
various compilation and bug fixes in selfadjoint stuff
2009-07-27 13:17:39 +02:00
Gael Guennebaud
34490f1493
* bugfixes in Product, and test/product_selfadjoint
...
* speed up in the extraction of the matrix Q in Tridiagonalization
2009-07-16 00:03:17 +02:00
Gael Guennebaud
97c9445c60
synch with main devel branch
2009-07-15 19:54:31 +02:00
Gael Guennebaud
1578421ed1
fix issue #25 : the problem was that we assumed Dynamic was a multiple of a packet size
...
(also disable the test of blueNorm)
2009-07-15 14:20:45 +02:00
Gael Guennebaud
a2087cd7a3
Add an efficient rank2 update function (like the level2 blas xSYR2 routine).
...
Note that it is already used in Tridiagonalization.
2009-07-11 21:14:59 +02:00
Benoit Jacob
032594cee2
forward port fix to #12
2009-06-19 18:51:15 +02:00
Gael Guennebaud
9d5728c511
fix #4
...
and also improve performance of Tridiag::diag/subDiag at the same time
2009-05-23 13:31:20 +00:00
Benoit Jacob
6347b1db5b
remove sentence "Eigen itself is part of the KDE project."
...
it never made very precise sense. but now does it still make any?
2009-05-22 20:25:33 +02:00
Benoit Jacob
9afd1324fd
constant Diagonal ---> DiagonalBits
...
introduce ei_is_diagonal to check for it
DiagonalCoeffs ---> Diagonal and allow Index to by Dynamic
-> add MatrixBase::diagonal(int) with unittest and doc
2009-05-10 16:24:39 +00:00
Gael Guennebaud
314aff875e
fix warning in Tridiag
2009-03-09 10:41:37 +00:00
Gael Guennebaud
c4601314be
cleaned Tridiagonalization impl, with improved performance
2009-03-02 15:07:39 +00:00
Benoit Jacob
6f158fb7fc
one last compilation fix ...
2008-12-22 21:04:13 +00:00
Benoit Jacob
9e00d94543
* the Upper->UpperTriangular change
...
* finally get ei_add_test right
2008-12-20 13:36:12 +00:00
Benoit Jacob
89f468671d
* replace postfix ++ by prefix ++ wherever that makes sense in Eigen/
...
* fix some "unused variable" warnings in the tests; there remains a libstdc++ "deprecated"
warning which I haven't looked much into
2008-12-17 14:30:01 +00:00
Gael Guennebaud
582c1f92c8
doc: add a "non stable" warning for parts which are not part
...
of the stable API yet and a couple of other minor doc updates...
2008-11-22 19:51:05 +00:00
Laurent Montel
9aba671cfc
Remove executable here too
2008-11-04 08:25:19 +00:00
Benoit Jacob
3d90c13970
norm2() renamed to squaredNorm(), kept as deprecated for now.
2008-11-03 19:14:17 +00:00
Gael Guennebaud
7ea821d18e
spelling + some krazy directives
2008-08-28 21:44:56 +00:00
Gael Guennebaud
a6d387a359
Various compilation fixes for MSVC 9. All tests compile but some
...
still fail at runtime in ei_aligned_free() (even without vectorization).
2008-08-19 11:06:40 +00:00
Gael Guennebaud
55aeb1f83a
Optimizations:
...
* 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
2008-08-01 23:44:59 +00:00
Gael Guennebaud
172000aaeb
Add .perpendicular() function in Geometry module (adapted from Eigen1)
...
Documentation:
* add an overview for each module.
* add an example for .all() and Cwise::operator<
2008-07-22 10:54:42 +00:00
Gael Guennebaud
c10f069b6b
* Merge Extract and Part to the Part expression.
...
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.
2008-07-21 00:34:46 +00:00
Gael Guennebaud
0ee6b08128
* split Product to a DiagonalProduct template specialization
...
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.
2008-06-15 11:54:18 +00:00
Gael Guennebaud
f07f907810
Add QR and Cholesky module instantiations in the lib.
...
To try it with the unit tests set the cmake variable TEST_LIB to ON.
2008-06-14 13:02:41 +00:00
Gael Guennebaud
e3fac69f19
Added a Hessenberg decomposition class for both real and complex matrices.
...
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)
2008-06-08 15:03:23 +00:00
Gael Guennebaud
4dd57b585d
* rewrite of the QR decomposition:
...
- works for complex
- allows direct access to the matrix R
* removed the scale by the matrix dimensions in MatrixBase::isMuchSmallerThan(scalar)
2008-06-07 22:47:11 +00:00
Benoit Jacob
869394ee8b
fix some compile errors with gcc 4.3, some warnings, some documentation
2008-06-06 13:10:00 +00:00
Gael Guennebaud
2126baf9dc
add an optimized path for the tridiagonalization of a 3x3 matrix.
...
(useful for plane fitting, and covariance analysis of 3D data)
2008-06-04 13:41:32 +00:00
Gael Guennebaud
48262b9734
added a static assertion mechanism
...
(see notes in Core/util/StaticAssert.h for details)
2008-06-04 11:16:11 +00:00
Gael Guennebaud
a0cff1a295
fix eigenvectors computations :)
2008-06-03 18:03:55 +00:00
Gael Guennebaud
001b01a290
Rewrite from scratch of the eigen solver for symmetric matrices
...
which now supports selfadjoint matrix. The implementation follows
Golub's famous book.
2008-06-02 00:30:26 +00:00
Gael Guennebaud
06752b2b77
* added a Tridiagonalization class for selfadjoint matrices
...
* 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.
2008-06-01 17:20:18 +00:00