Benoit Jacob
46be9c9ac1
* fix super nasty bug: vector.maxCoeff(&index) didn't work when 'vector'
...
was a row-vector. Fixed by splitting the vector version from the matrix version.
* add unit test, the visitors weren't covered by any test!!
2009-09-16 14:18:30 -04:00
Gael Guennebaud
d5319f4ba8
fix warning in stable norm
2009-09-15 11:16:58 +02:00
Hauke Heibel
3a2499fb11
Fixed conservative_resize compilation errors.
2009-09-08 10:02:19 +02:00
Hauke Heibel
437a79e1ab
Fixed unit test and improved code reusage for resizing.
2009-09-07 17:48:42 +02:00
Hauke Heibel
64095b6610
Changed the AnyMatrixBase / ei_special_scalar_op inheritance order as proposed by Gael.
...
Added conservativeResizeLike as discussed on the mailing list.
2009-09-07 17:22:01 +02:00
Gael Guennebaud
bdcc0bc157
fix compilation of swap for ICC
2009-09-07 11:37:41 +02:00
Gael Guennebaud
b0aa2520f1
* add real scalar * complex matrix, real matrix * complex scalar,
...
and complex scalar * real matrix overloads
* allows the inner and outer product specialisations to mix real and complex
2009-09-04 11:22:32 +02:00
Gael Guennebaud
6902ef0824
extend mixingtype test to check diagonal products and fix the later for real*complex products
2009-09-04 10:17:28 +02:00
Gael Guennebaud
3fbf71d6b9
compilation fix for conservativeResize
2009-09-04 09:26:00 +02:00
Hauke Heibel
7f5256f628
Added conservativeResize + unit test.
2009-09-03 17:27:51 +02:00
Hauke Heibel
41aea9508e
This seems to be important for MSVC to optimize the size of empty base classes.
2009-09-03 13:46:44 +02:00
Gael Guennebaud
3eb37fe1fb
update mixingtype unit test to reflect current status, but it is still clear
...
we should allow matrix products between complex and real ?
2009-09-03 13:03:26 +02:00
Gael Guennebaud
9515b00876
remove the \addexample tags
2009-09-03 11:22:42 +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
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
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
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
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
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
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
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
3705498721
add coeff(int,int), coeff(int) and value() functions to the inner product specialization
2009-08-26 00:24:22 +02: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
97bc1af1f1
add ColPivotingHouseholderQR
...
rename RRQR to fullPivotingHouseholderQR
2009-08-23 18:04:33 -04:00
Benoit Jacob
72b002eab9
work around internal compiler error with gcc 4.1 and 4.2, reported on the forum
2009-08-20 12:19:15 -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
Gael Guennebaud
fc9480cbb3
bugfix in compute_matrix_flags, optimization in LU,
...
improve doc, and workaround aliasing detection in MatrixBase_eval snippet
(not very nice but I don't know how to do it in a better way)
2009-08-16 10:55:10 +02:00
Gael Guennebaud
65fe5f76fd
rename back MayAliasBit to EvalBeforeAssigningBit
2009-08-16 00:14:05 +02:00
Gael Guennebaud
239ada95b7
add overloads of lazyAssign to detect common aliasing issue with
...
transpose and adjoint
2009-08-15 22:19:29 +02:00
Gael Guennebaud
50c703f0c7
As proposed on the list:
...
- rename EvalBeforeAssignBit to MayAliasBit
- make .lazy() remove the MayAliasBit only, and mark it as deprecated
- add a NoAlias pseudo expression, and MatrixBase::noalias() function
Todo:
- we have to decide whether += and -= assume no aliasing by default ?
- once we agree on the API: update the Sparse module and the unit tests respectively.
2009-08-15 18:35:51 +02:00
Gael Guennebaud
13a8956188
bugfix in inner-product specialization,
...
compilation fix in stable norm,
optimize apply householder
2009-08-15 13:12:50 +02:00
Gael Guennebaud
7b60713e87
my previous fix was not very good
2009-08-15 11:52:50 +02:00
Gael Guennebaud
0da31a6e1d
bugfix and compilation fix in ProductBase
2009-08-15 10:55:11 +02:00
Gael Guennebaud
109a4f650b
fix a couple of warnings
2009-08-15 10:20:01 +02:00
Benoit Jacob
fe4a86443f
fix warning
2009-08-14 20:16:04 -04:00
Benoit Jacob
a5f820b873
forgot to update this
2009-08-14 20:03:14 -04:00