Hauke Heibel
f4661e696e
Resize is only defined in Matrix and not in MatrixBase.
...
I am not sure whether the better fix is to move the resize functions to MatrixBase.
2009-10-14 11:07:11 +02:00
Benoit Jacob
eeabd18afc
Fix compilation of HouseholderQR and ColPivotingHouseholderQR for non-square fixed-size matrices.
...
For Colpiv that was just changing MatrixQType to MatrixType in the instantiation of HouseholderSequence.
For HouseholderQR I also re-ported the solve method from Colpiv as there were multiple issues.
2009-09-28 10:49:55 -04:00
Benoit Jacob
67bf7c90c5
* update test to expose bug #57
...
* update createRandomMatrixOfRank to support fixed size
2009-09-28 09:40:18 -04:00
Benoit Jacob
92480ffd26
* Introduce make targets btest (build tests), blas (build blas lib), demos (build demos).
...
* remove EIGEN_BUILD_TESTS and siblings
* add summary at the end of cmake run, hopefully not too verbose
* fix build of quaternion demo
* kill remnants of old binary library option
2009-09-27 17:48:53 -04:00
Hauke Heibel
2fbf5ce7df
Fixed issue #57 .
2009-09-25 10:12:09 +02:00
Gael Guennebaud
24950bdfcb
make ColPivotingQR use HouseholderSequence
2009-09-16 15:56:20 +02:00
Gael Guennebaud
49dd5d7847
* add a HouseholderSequence class (not good enough yet for Triadiagonalization and HessenbergDecomposition)
...
* rework a bit AnyMatrixBase, and mobe it to a separate file
2009-09-16 14:35:42 +02:00
Benoit Jacob
a4fd0aa25b
* fix bug in col-pivoting qr, forgot to swap the colNorms when swapping cols
...
* add Gael a copyright line
2009-09-16 14:19:59 -04:00
Gael Guennebaud
a54b99fa72
move eigen values related stuff of the QR module to a new EigenSolver module.
...
- perhaps we can find a better name ?
- note that the QR module still includes the EigenSolver module for compatibility
2009-09-03 11:39:44 +02:00
Benoit Jacob
7aa6fd3625
big reorganization in JacobiSVD:
...
- R-SVD preconditioning now done with meta selectors to avoid compiling useless code
- SVD options now honored, with options to hint "at least as many rows as cols" etc...
- fix compilation in bad cases (rectangular and fixed-size)
- the check for termination is now done on the fly, no more goto (should have done that earlier!)
2009-09-03 02:53:51 -04:00
Gael Guennebaud
7586f7f706
fix #51 (bad use of std::complex::real)
2009-09-02 15:18:11 +02:00
Gael Guennebaud
b83654b5d0
* rename JacobiRotation => PlanarRotation
...
* move the makeJacobi and make_givens_* to PlanarRotation
* rename applyJacobi* => apply*
2009-09-02 15:04:10 +02:00
Benoit Jacob
cc375e2f79
merge
2009-09-02 06:37:41 -04:00
Benoit Jacob
e6b77bcc6b
JacobiSVD: implement general R-SVD using full-pivoting QR, so we now support any rectangular matrix size by reducing to the smaller of the two dimensions (which is also an optimization)
2009-09-02 06:36:55 -04:00
Hauke Heibel
05ddd32849
added missing JacobiRotation's ...
2009-09-01 23:12:40 +02:00
Gael Guennebaud
4d91229bdc
[mq]: eigensolver
2009-09-01 16:20:56 +02:00
Hauke Heibel
ab6eb6a1a4
Adaptions from .lazy() towards .noalias().
...
Added missing casts.
2009-08-31 17:29:37 +02:00
Benoit Jacob
191d5275a7
modernize HouseholderQR too, uniformize all that stuff, update tests
2009-08-24 13:46:14 -04:00
Benoit Jacob
0eb142f559
bring the modern comfort also to ColPivotingHouseholderQR
...
+ some fixes in FullPivotingHouseholderQR
2009-08-24 11:11:41 -04:00
Benoit Jacob
b8106e97b4
add logAbsDeterminant()
...
move log and exp functors from Array to Core
update documentation
2009-08-24 09:46:17 -04:00
Benoit Jacob
c9a307f330
give FullPivotingHouseholderQR all the modern comfort
2009-08-24 00:23:35 -04:00
Benoit Jacob
97bc1af1f1
add ColPivotingHouseholderQR
...
rename RRQR to fullPivotingHouseholderQR
2009-08-23 18:04:33 -04:00
Benoit Jacob
7bedf5e9cb
add initial, rough, full-pivoting RRQR decomposition
...
lots of room for improvement!
and add Gael a (c) line in Householder.h
2009-08-22 01:13:21 -04:00
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
Gael Guennebaud
737bed19c1
make HouseholderQR uses the Householder module
2009-08-16 19:22:15 +02:00
Benoit Jacob
ee982709d3
in all decs, make the compute() methods return *this
...
(implements feature request #18 )
2009-08-15 23:12:39 -04:00
Gael Guennebaud
6373c3cd00
oops bis, I forgot that SelfAdjointEigneSolver directly called the selector...
2009-08-14 13:49:29 +02:00
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