Gael Guennebaud
00f4b46908
typo in sqrt(complex)
2009-09-03 11:50:06 +02: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
Gael Guennebaud
9515b00876
remove the \addexample tags
2009-09-03 11:22:42 +02:00
Gael Guennebaud
16c7b1daab
add examples for makeJacobi and makeGivens
2009-09-03 11:17:16 +02:00
Gael Guennebaud
c893917d65
Fix serious bug discovered with gcc 4.2
2009-09-03 10:45:32 +02:00
Hauke Heibel
8d449bd80e
Removed debug cout.
...
Disabled MSVC inconsistent DLL linkage.
2009-09-02 21:23:09 +02:00
Hauke Heibel
e6c9d6c528
Remove last lazyness warnings.
2009-09-02 20:59:57 +02:00
Hauke Heibel
2abd5eeffd
Added support to overwrite the generator type.
...
Eigen'fied the new variables.
2009-09-02 20:57:41 +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
Benoit Jacob
89557ac41d
introduce EIGEN_SIZE_MIN
...
now we should check if some EIGEN_ENUM_MIN usage needs to be replaced by that... potential bug when using mixed-size matrice
2009-09-03 02:50:42 -04:00
Benoit Jacob
7d18c30641
finally the first version was the good one...
2009-09-03 01:25:40 -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
Gael Guennebaud
496ea63972
fix wrong assert
2009-09-02 14:08:33 +02:00
Gael Guennebaud
4a8258369a
much simpler fix for Matrix::swap
2009-09-02 13:37:15 +02:00
Benoit Jacob
ec20d58317
* add serious unit test for swap
...
* fix my stupidity in Matrix::swap()
2009-09-02 16:56:48 -04: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
Benoit Jacob
c16d65f015
fix compilation errors in swap (could not swap with anything else than the exact same Matrix type)
2009-09-02 06:35:01 -04:00
Hauke Heibel
59f5bce41c
fix issue #49
2009-09-01 23:15:30 +02:00
Hauke Heibel
05ddd32849
added missing JacobiRotation's ...
2009-09-01 23:12:40 +02:00
Gael Guennebaud
5b8ffa4d46
clean a bit the previous commit which came from a patch queue,
...
and since it was my first try of the patch queue feature I did not
managed to apply it with a good commit message, so here you go:
* Add a ComplexSchur decomposition class built on top of HessenbergDecomposition
* Add a ComplexEigenSolver built on top of ComplexSchur
There are still a couple of FIXME but at least they work for any reasonable matrices,
still have to extend the unit tests to stress them with nasty matrices...
2009-09-01 16:35:23 +02:00
Gael Guennebaud
4d91229bdc
[mq]: eigensolver
2009-09-01 16:20:56 +02:00
Gael Guennebaud
67ccc6b851
I've been too fast (again)
2009-09-01 13:44:21 +02:00
Gael Guennebaud
1e7a9ea70a
fix issue #47 : now m.noalias() = XXX properly resize m if needed
2009-09-01 13:35:44 +02:00
Gael Guennebaud
8392373d96
add a JacobiRotation class wrapping the cosine-sine pair with
...
some convenient features (transpose, adjoint, product)
2009-09-01 13:18:03 +02:00
Jitse Niesen
32f95ec267
Bug fix in MatrixExponential.h
...
Initialize matrices for intermediate results to correct dimension
2009-09-01 10:50:54 +01:00
Benoit Jacob
6e4e94ff32
* JacobiSVD:
...
- support complex numbers
- big rewrite of the 2x2 kernel, much more robust
* Jacobi:
- fix weirdness in initial design, e.g. applyJacobiOnTheRight actually did the inverse transformation
- fully support complex numbers
- fix logic to decide whether to vectorize
- remove several clumsy methods
fix for complex numbers
2009-08-31 22:26:15 -04:00
Benoit Jacob
29c6b2452d
simplifications
2009-08-31 22:09:44 -04:00
Benoit Jacob
5339db6164
add VERIFY_IS_UNITARY
2009-08-31 22:08:43 -04:00
Gael Guennebaud
a16599751f
fix Matrix::stride for vectors, add a unit test for Block::stride
...
and make use of it where it was relevant
2009-08-31 17:39:56 +02:00
Hauke Heibel
ab6eb6a1a4
Adaptions from .lazy() towards .noalias().
...
Added missing casts.
2009-08-31 17:29:37 +02:00
Hauke Heibel
bc7aec0ef5
ifdef removed from MapBase and warning disabled
2009-08-31 17:24:38 +02:00
Gael Guennebaud
095809edda
fix issue #45 and document the .data() and .stride() functions
2009-08-31 17:07:54 +02:00
Gael Guennebaud
27c9ecc50f
fix copy/paste issue
2009-08-31 16:41:13 +02:00
Hauke Heibel
0a0a805569
Fixed a cast warning in scaleAndAddTo.
...
Fixed lazyness in umeyama.
Added a few missing casts.
2009-08-31 15:34:57 +02:00
Hauke Heibel
32a9aee286
Added MSVC guards to assignment operators.
2009-08-31 14:40:53 +02:00
Hauke Heibel
99bfab6dcf
Removed redundant assignment operators.
2009-08-31 13:47:32 +02:00
Gael Guennebaud
9005eb0788
compilation fix in AmbiVector<int>
2009-08-31 09:32:46 +02:00
Thomas Capricelli
20480a5438
merging ei_lmdif() and lmdif_template()
2009-08-21 04:24:59 +02:00
Thomas Capricelli
2e3d17c3ce
be (hopefully) smarter with indices convention : we keep the c convention
...
(0->n-1) as much as possible, and only convert at borders with
fortran-expecting methods, that will eventually dissapear.
2009-08-21 04:16:37 +02:00
Thomas Capricelli
524e112ee5
merging ei_lmstr() and lmstr_template()
2009-08-21 03:41:19 +02:00
Thomas Capricelli
e48b6ad905
merging ei_hybrj() and hybrj_template()
2009-08-21 03:26:28 +02:00
Thomas Capricelli
f2ff0d3903
merging ei_hybrd() and hybrd_template()
2009-08-21 03:13:42 +02:00
Thomas Capricelli
1715e2cb3b
merging ei_lmder and lmder_template into ei_lmder() which takes eigen
...
argument, but still uses f2c code inside.
2009-08-21 02:34:40 +02:00
Thomas Capricelli
6a8b52b3aa
simplifying
2009-08-21 01:24:04 +02:00
Thomas Capricelli
0abb148b7d
use ei_sqrt instead of sqrt
2009-08-21 00:27:11 +02:00
Thomas Capricelli
1ad042c981
rename i__ to i. i really wonder how f2c can produce such things
2009-08-21 00:26:37 +02:00
Thomas Capricelli
9294d33a11
use references intead of pointers for njev/nfev
2009-08-21 00:23:26 +02:00
Thomas Capricelli
054652b789
use math function adapted to the Scalar type instead of hardcoding float or
...
double
2009-08-21 00:04:41 +02:00