Gael Guennebaud
1b257a7620
add an optimized "apply in place a rotation in the plane",
...
and make Jacobi and SelfAdjointEigenSolver use it
=> ~ x1.75 speedup for JacobiSVD and x2 for SelfAdjointEigenSolver
2009-08-13 11:42:02 +02:00
Gael Guennebaud
3ac01b1400
compilation fix in EigenSolver,
...
bugfix in PartialLU
2009-08-06 16:41:54 +02:00
Gael Guennebaud
1d4fea48b5
fix a couple of compilations issues
2009-08-06 14:10:02 +02:00
Gael Guennebaud
fa55cf5ce7
fix compilation and segfault issues
2009-08-06 11:19:36 +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
54804eb626
synch with main branch
2009-07-28 17:35:07 +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
8120a5cecd
synch with main devel branch
2009-07-14 23:06:25 +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
Gael Guennebaud
ea23f36c78
* change the nesting order of adjoint_return_type to
...
1 - make it easier to catch conjugate expressions
2 - make sure there is no unecessary copy (we had NestByValue<Derived> which seems to be very bad)
* update eigensolver wrt recent changes
2009-07-07 15:56:13 +02:00
Gael Guennebaud
1aea45335f
* bybye Part, welcome TriangularView and SelfAdjointView.
...
* move solveTriangular*() to TriangularView::solve*()
* move .llt() to SelfAdjointView
* add a high level wrapper to the efficient selfadjoint * vector product
* improve LLT so that we can specify which triangular part is meaningless
=> there are still many things to do (doc, cleaning, improve the matrix products, etc.)
2009-07-06 23:43:20 +02:00
Benoit Jacob
889726bf7c
add matrixQR() method exposing the storage. that's where the householder thing impacts the API.
2009-07-06 17:24:11 +02:00
Benoit Jacob
e057beee4e
fix some search-and-replace damage
2009-07-06 17:20:07 +02:00
Benoit Jacob
e093b43b2c
* rename QR to HouseholderQR because really that impacts the API, not just the impl.
...
* rename qr() to householderQr(), for same reason.
* clarify that it's non-pivoting, non-rank-revealing, so remove all the rank API, make solve() be void instead of bool, update the docs/test, etc.
* fix warning in SVD
2009-07-06 17:12:10 +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
7667a93cbe
merge
2009-05-22 20:31:26 +02: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
Hauke Heibel
0523b64fe9
Eigensolver decomposition interface unification.
...
Added default ctor and public compute method as
well as safe-guards against uninitialized usage.
Added unit tests for the safe-guards.
2009-05-22 14:27:58 +02:00
Hauke Heibel
5c5789cf0f
QR and SVD decomposition interface unification.
...
Added default ctor and public compute method as
well as safe-guards against uninitialized usage.
Added unit tests for the safe-guards.
2009-05-22 14:27:58 +02:00
Gael Guennebaud
f5b5571a5a
compilation fixes
2009-05-12 07:32:34 +00: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
70c0174bf9
* allows fixed size matrix with size==0 (via a specialization of
...
MatrixStorage returning a null pointer). For instance this is very
useful to make Tridiagonalization compile for 1x1 matrices
* fix LLT and eigensolver for 1x1 matrix
2009-03-23 14:44:44 +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
Laurent Montel
2d6d14a3d3
Add COMPONENT Devel
2009-02-23 07:50:56 +00:00
Gael Guennebaud
8e0ec3c62b
reduce epsilon in QR
2009-01-29 16:11:46 +00:00
Gael Guennebaud
22bfc77124
move EIGEN_DEPRECATED to the begining of the function (pb with MSVC)
2009-01-28 12:48:19 +00:00
Gael Guennebaud
0f15a8d829
QR: add isInjective(), isSurjective(),
...
mark isFullRank() deprecated,
add solve() (mix of Keir's patch and LU::solve())
=> there is big problem with complex which are not working
2009-01-28 09:45:53 +00:00
Gael Guennebaud
8973d12cda
* QR: add a rank() method and improve the accuracy of the rank
...
* computation
* Array: add a count() method and rename AllAndAny.h file to
BooleanRedux.h
2009-01-20 16:37:52 +00:00
Gael Guennebaud
3e5b3a33fa
quick bugfix in QR::isFullRank() (not 100% sure about the reference value
...
for the comparison to 0)
2009-01-20 10:37:39 +00:00
Benoit Jacob
e2d2a7d222
fix a bug -- bad read found by valgrind
2009-01-08 14:23:30 +00:00
Gael Guennebaud
94efa16187
more Scalar conversions fixes
2009-01-07 10:22:46 +00:00
Kenneth Frank Riddile
6736e52d25
* suppressed some minor warnings
2009-01-06 04:38:00 +00:00
Benoit Jacob
6f158fb7fc
one last compilation fix ...
2008-12-22 21:04:13 +00:00
Benoit Jacob
789ea9d676
unless i find more failures in the tests, this will be beta3...
...
* 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
2008-12-22 20:50:47 +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
e4980616fd
SelfAdjointEigenSolver: add operatorSqrt() and operatorInverseSqrt()
2008-12-19 14:15:32 +00:00
Benoit Jacob
fabaa6915b
* fix in IO.h, a useless copy was made because of assignment from
...
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.
2008-12-18 20:36:25 +00:00
Gael Guennebaud
c98fe0185e
fix non standard non-const std::complex::real/imag issue
2008-12-17 17:31:23 +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
Gael Guennebaud
139529e97b
* add .imag() function
...
* fix a very old bug in EigenSolver that I had completely forgotten
(thanks to Timothy to refresh my mind)
* fix doc of Matrix::Map
2008-11-14 09:55:25 +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