Benoit Jacob
374deaed5f
make eigen2 eigensolver test pass
2011-01-31 08:36:14 -05:00
Gael Guennebaud
6e67d15795
now gemv supports strides
2011-01-30 08:17:46 +01:00
Benoit Jacob
a1f5ea8954
make eigen2 cholesky test pass
2011-01-28 13:04:23 -05:00
Gael Guennebaud
736d00ab87
typo
2011-01-28 09:57:35 +01:00
Benoit Jacob
b2b8c6a89c
dot() now always uses eigen3 convention, even in eigen2 support mode, even stage 10. Didn't have a choice as lots of eigen code is using it.
2011-01-27 12:04:26 -05:00
Gael Guennebaud
e761ba68f7
merge
2011-01-27 18:03:13 +01:00
Gael Guennebaud
3d8e179aa2
fix MaxCols in ComplexEigenSolver which was causing memory allocation instead of static allocation in the nomalloc test. Uncomment commenetd parts of the nomalloc test since now matrix-matrix products are safe.
2011-01-27 18:02:49 +01:00
Gael Guennebaud
32124bc64a
EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET must be defined to use Eigen/Sparse
2011-01-27 17:36:58 +01:00
Benoit Jacob
52fed69baa
add test for geometry with eigen2_ prefixes. fix that stuff.
2011-01-27 11:21:38 -05:00
Gael Guennebaud
955e096277
add an Options template parameter to Hyperplane and ParametrizedLine
2011-01-27 17:17:06 +01:00
Hauke Heibel
d5e81d866a
Added regression tests for bug #148 .
2011-01-27 16:37:06 +01:00
Gael Guennebaud
a954a0fbd5
Add an Options template paramter to Transform to enable/disable alignment
2011-01-27 16:07:33 +01:00
Jakob Schwendner
e3306953ef
test case for unaligned quaternion
2011-01-27 09:14:30 -05:00
Gael Guennebaud
999678c3f0
fix mixingtypes unit test
2011-01-27 13:51:17 +01:00
Gael Guennebaud
e8d6a5ca87
fix cross product for complexes and add support for mixed real-complex cross products
2011-01-27 11:33:37 +01:00
Gael Guennebaud
0bfb78c824
allow mixed complex-real and real-complex dot products
2011-01-27 09:59:19 +01:00
Benoit Jacob
162cb8ff42
import back LeastSquares into eigen2support. Pass most of eigen2's 'regression' test, except for regression_4 which is about complex numbers.
2011-01-26 11:05:41 -05:00
Gael Guennebaud
98285ba81c
merge
2011-01-26 16:36:07 +01:00
Gael Guennebaud
15ef62ca43
extend PermutationMatrix and Transpositions to support arbitrary interger types and to support the Map/Wrapper model via base and derived classes
2011-01-26 16:33:23 +01:00
Benoit Jacob
313eea8f10
fix the remainder of bug #159
2011-01-26 10:01:18 -05:00
Benoit Jacob
f88ca0ac79
fix the eigen3 part of bug #159 - build issue with selfadjointview
2011-01-26 09:49:06 -05:00
Benoit Jacob
1d98cc5e5d
eigen2 support: implement part<SelfAdjoint>, mimic eigen2 behavior braindeadness-for-braindeadness
2011-01-25 21:22:04 -05:00
Benoit Jacob
07e3ef4f38
eigen2: pass QR decomposition and hyperplane tests
2011-01-25 11:19:26 -05:00
Benoit Jacob
09d1923f61
eigen2: pass lu test
2011-01-25 10:02:36 -05:00
Benoit Jacob
3e2469f951
eigen2: split tests
2011-01-25 09:02:59 -05:00
Benoit Jacob
b04591fbb4
disable eigen2_first_aligned test, it's completely internal stuff
2011-01-25 08:38:22 -05:00
Benoit Jacob
acd2c82655
fix eigen2_bug_132 test
2011-01-25 08:37:32 -05:00
Benoit Jacob
8acd43bbdb
let eigen2 tests use the same ei_add_test macro, which required to prefix them with eigen2_ ; rename buildtests_eigen2 to eigen2_buildtests, etc.
2011-01-25 08:37:18 -05:00
Benoit Jacob
8df5bca979
rename build stages to multiples of 10; old stage 2 becomes stage 15, while stage 20 generates errors (instead of warnings) on conflicting API.
2011-01-23 18:22:18 -05:00
Benoit Jacob
30de1651d3
relax Map const correctness in eigen2 support stages <= 3
...
introduce new 'strict' stage 4
2011-01-21 10:42:19 -05:00
Benoit Jacob
54dfcdf86e
remove eigen2 vectorization_logic test, it's not an API test
2011-01-21 10:29:43 -05:00
Benoit Jacob
5be269db88
make eigen2 submatrices test pass
2011-01-21 10:24:59 -05:00
Benoit Jacob
cc2b7a5397
introduce the 3 stages of eigen2 support, writing to the mailing list about that in Eigen2 to Eigen3 Migration Path thread
2011-01-21 09:51:03 -05:00
Benoit Jacob
34d93686db
lots more EIGEN2_SUPPORT fixes. Now several of the most important core tests build and succeed.
2011-01-20 10:36:32 -05:00
Benoit Jacob
66a2ffa9bd
Completely disable Eigen/Array in Eigen3; completely enable in EIGEN2_SUPPORT.
2011-01-20 08:12:24 -05:00
Benoit Jacob
96f08213f7
big eigen2support fix, aimed at users who relied on internal eigen2 stuff: now we dont need customizations in test/eigen2/main.h anymore.
...
These tests already build:
eigen2_basicstuff
eigen2_adjoint
eigen2_linearstructure
eigen2_prec_inverse_4x4
2011-01-19 11:01:07 -05:00
Benoit Jacob
1f6bd2915d
import eigen2 test suite. enable by defining EIGEN_TEST_EIGEN2
...
only test_prec_inverse4x4 is fixed at the moment. now need to go over all those tests.
2011-01-19 10:10:54 -05:00
Thomas Capricelli
dcbf091e60
fix EIGEN_TEST_NOQT (reported by Philippe Hamelin)
2011-01-14 14:30:06 +01:00
Jitse Niesen
2cc75f4922
Make HouseholderSequence::setTrans() protected (cf. bug #50 ).
...
Users can call .transpose() instead.
2011-01-06 11:30:19 +00:00
Gael Guennebaud
64356a622d
fix vectorization_logic unit test when defaulting to row major
2011-01-04 14:18:07 +01:00
Benoit Jacob
fd4e366d7e
fix severe perf bug: coeff-based matrix products were not considered aligned, typically preventing vectorization.
...
added unit test.
2011-01-02 12:07:39 -05:00
Gael Guennebaud
902af035d3
merge
2010-12-31 17:26:48 +01:00
David J. Luitz
11e253bc10
[Sparse] Added regression tests for the two bugfixes, the code passes all sparse_product tests
2010-12-30 15:16:23 +01:00
Benoit Jacob
dbd9c5fd50
fix HouseholderSequence API, bug #50 :
...
* remove ctors taking more than 2 ints
* rename actualVectors to length
* add length/shift/trans accessors/mutators
2010-12-30 04:18:40 -05:00
Benoit Jacob
dc3618a557
move BandMatrix and TridiagonalMatrix to the internal:: namespace
2010-12-25 17:17:10 -05:00
Benoit Jacob
e8768251db
rename macro
2010-12-25 17:01:01 -05:00
Benoit Jacob
75b7d98665
bug #54 - really fix const correctness except in Sparse
2010-12-22 17:45:37 -05:00
Hauke Heibel
b31e1246e1
Re-enabled the missing tests, again...
2010-12-16 19:07:23 +01:00
Hauke Heibel
83e3c4582f
Improved the array unit test - internal::isApprox needs to use the same precision as VERIFY_IS_NOT_APPROX.
...
Removed debug code from test_isApprox.
2010-12-16 18:53:02 +01:00
Hauke Heibel
2d0dfe5d60
Uups - re-enabled subtests 1 to 5.
2010-12-16 17:36:10 +01:00
Hauke Heibel
f578dc7aff
Fixed compound subtraction in ArrayBase where the assignment needs to be carried out on the derived type.
...
Added unit tests for map based component wise arithmetic.
2010-12-16 17:34:13 +01:00
Hauke Heibel
dbfb53e8ef
Added unit test for matrix creation from const raw data.
2010-12-15 15:28:43 +01:00
Benoit Jacob
b11343e15c
fix intermittend failure of schur_real test: there only is an iterative process if size>2
2010-12-10 02:10:03 -05:00
Benoit Jacob
74cc42b22f
bug #54 - The big Map const-correctness changes
2010-12-10 02:09:58 -05:00
Benoit Jacob
1be6449f2e
fix bug #127 . our product selection logic was flawed in that it used the Max-sized to determine whether the size is 1.
...
+ test.
2010-12-09 02:38:07 -05:00
Gael Guennebaud
c49c013c47
add main ei_* functions into Eigen2Support
2010-12-03 11:22:35 +01:00
Hauke Heibel
3899857e08
Removed remove_const_on_value_type since the meaning is unclear and it is in fact unused.
...
Extened the meta unit tests.
2010-11-26 18:06:08 +01:00
Hauke Heibel
bf9d25ce58
Postfixed add_const and remove_const by _on_value_type to express the differences to the STL.
2010-11-26 16:30:45 +01:00
Jitse Niesen
e868b6736a
Merge.
2010-11-26 14:37:58 +00:00
Gael Guennebaud
0d63212257
add a TridiagonalizationMatrixTReturnType class to make Tridiagonalization::matrixT() more efficient and future proof.
2010-11-26 15:31:47 +01:00
Jitse Niesen
9bad7c7edb
Compilation fix in case EIGEN_DEBUG_ASSERTS is defined.
2010-11-26 14:21:57 +00:00
Gael Guennebaud
f1690fb9fa
fix bug #122 : rank 2 update test and scalar multiple extraction were both wrong
2010-11-23 19:19:04 +01:00
Benoit Jacob
0ab9a0a2f7
make UpperBidiagonalization internal: don't want to support it, it's not used.
...
Keeping it because it tests BandMatrix.
2010-11-23 11:12:42 -05:00
Gael Guennebaud
3976a66889
fix bug #120 : compilation issue of trsolve unit test
2010-11-22 18:59:56 +01:00
Gael Guennebaud
661ef6c127
add regression unit test
2010-11-19 15:38:37 +01:00
Gael Guennebaud
9a3ec637ff
new feature: copy from a sparse selfadjoint view to a full sparse matrix
2010-11-15 14:14:05 +01:00
Gael Guennebaud
2577ef90c0
generalize our internal rank K update routine to support more general A*B product while evaluating only one triangular part and make it available via, e.g.:
...
R.triangularView<Lower>() += s * A * B;
2010-11-10 18:58:55 +01:00
Gael Guennebaud
39477e697a
extend unit test to cover previous bug
2010-11-05 14:37:42 +01:00
Gael Guennebaud
0e6c1170ab
trsv: add support for inner-stride!=1, reduce code instanciation, move implementation to a new products/XX.h file
2010-11-05 12:43:14 +01:00
Gael Guennebaud
5a4f77716d
fix bug #107 : SelfAdjointEigenSolver and RowMajor (and add unit test)
2010-11-04 09:33:05 +01:00
Hauke Heibel
d204ec491d
Additional fix to enforce the compiler to use the correct prunning method.
2010-11-02 14:33:33 +01:00
Benoit Jacob
006c9a5105
implement VERIFY in a function so it doesn't get compiled thousands of times.
2010-10-29 10:27:20 -04:00
Benoit Jacob
7d441260db
on test failure, abort instead of exit, so we can get a stack trace
2010-10-29 10:07:30 -04:00
Benoit Jacob
bd249d1121
fix bug #92 - we were doing stupid things when passing the list of libraries to link to.
2010-10-28 10:44:20 -04:00
Hauke Heibel
c738cd56eb
Renamed cleantype to remove_all since it is close to remove_{const|pointer|reference}.
2010-10-26 16:47:01 +02:00
Hauke Heibel
7bc8e3ac09
Initial fixes for bug #85 .
...
Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const.
Changed boolean type 'ret' member to 'value'.
Changed 'ret' members refering to types to 'type'.
Adapted all code occurences.
2010-10-25 22:13:49 +02:00
Benoit Jacob
4716040703
bug #86 : use internal:: namespace instead of ei_ prefix
2010-10-25 10:15:22 -04:00
Benoit Jacob
e259f71477
rename PlanarRotation -> JacobiRotation
2010-10-19 21:56:26 -04:00
Benoit Jacob
9044c98cff
work around stupid msvc error when constructing at compile time an expression
...
that involves a division by zero, even if the numeric type has floating point
2010-10-19 21:56:11 -04:00
Hauke Heibel
9f8b6ad43e
Fixed bug #79 .
2010-10-19 09:43:54 +02:00
Benoit Jacob
8356bc8d06
add jacobiSvd() method, update test & docs
2010-10-17 09:40:52 -04:00
Hauke Heibel
c19b965730
Added stddeque unit test dervied from the stdlist test.
2010-10-16 10:45:30 +02:00
Benoit Jacob
8f0e80fe30
JacobiSVD:
...
* fix preallocating constructors, allocate U and V of the right size for computation options
* complete documentation and internal comments
* improve unit test, test inf/nan values
2010-10-14 10:14:43 -04:00
Benoit Jacob
bcb9068268
fix bug #44 : use VERIFY_IS_APPROX instead of exact comparison to please x87 extended precision
2010-10-13 09:40:57 -04:00
Benoit Jacob
8eb0fc1e72
remove SVD class (was bad code taked from elsewhere)
...
Use JacobiSVD for now.
We do plan to reintroduce a bidiagonalizing SVD asap.
2010-10-12 10:19:59 -04:00
Benoit Jacob
12a152031d
fix the Jacobi bug, expand unit test
2010-10-12 09:43:40 -04:00
Benoit Jacob
75e60121f4
add Jacobi unit test. jacobi_5 fails, exposing bug #39 .
2010-10-12 09:12:36 -04:00
Benoit Jacob
b8bb804007
set ColPivHouseholderQR as default preconditioner for JacobiSVD
2010-10-11 21:00:42 -04:00
Benoit Jacob
5c3d21693b
implement JacobiSVD::solve() and expand the unit test
2010-10-11 15:36:04 -04:00
Benoit Jacob
8ba8d90063
add option to compute thin U/V.
...
By default nothing is computed. You have to ask explicitly for thin/full U/V if you want them.
2010-10-08 10:42:40 -04:00
Benoit Jacob
6fad2eb97b
Rework JacobiSVD api / template parameters.
...
There is now an integer QRPreconditioner template parameter, defaulting to full-piv QR.
Since we have to special-case each QR dec anyway, a template template parameter didn't add much value here.
There is an option NoQRPreconditioner if you know your matrices are already square (auto-detected for fixed-size matrices).
2010-10-08 10:42:32 -04:00
Hauke Heibel
327ed3d1d3
Added a note to the Gram Schmidt code and improved some formatting.
2010-09-25 14:15:35 +02:00
Hauke Heibel
316dadc8e4
Fixed some SVD issues.
...
Make the SVD's output unitary.
Improved unit tests.
Added an assert to the SVD ctor to check whether rows>=cols.
2010-09-24 17:32:44 +02:00
Hauke Heibel
053261de88
Make the SVD's output unitary and improved unit tests.
2010-09-24 16:28:20 +02:00
Benoit Jacob
1c54514bfc
merge
2010-09-23 09:53:21 -04:00
Benoit Jacob
c253cc3d53
SVD:
...
* fix unit test for rectangular matrices.
* enforce that rows >= cols since various places in the code assume that.
2010-09-23 09:51:08 -04:00
Hauke Heibel
62bf04b339
Fixed bad memory access in the SVD.
2010-09-23 11:15:36 +02:00
Gael Guennebaud
9bb75937cc
fix += return by value like operations
2010-09-06 11:51:42 +02:00
Gael Guennebaud
62eb4dc99b
noalias was wrongly skipping automatic transposition
2010-09-02 19:18:34 +02:00
Gael Guennebaud
b49dde01dc
fix bad mat * mat * scalar when the implicit conversion operator to a Matrix is used
2010-08-31 09:54:38 +02:00