Commit Graph

589 Commits

Author SHA1 Message Date
Benoit Jacob
d02eccf584 add SSE path for Matrix4f inverse, taken from Intel except that we do a kosher
division instead of RCPPS-followed-by-Newton-Raphson. The rationale for that is
that elsewhere in Eigen we dont allow ourselves this approximation (which throws
2 bits of mantissa), so there's no reason we should allow it here.
2009-12-14 22:47:14 -05:00
Hauke Heibel
3dce51bd8e Removed more warnings. 2009-12-12 14:49:43 +01:00
Hauke Heibel
d088ee35f6 Added to possibility to compile unit tests at maximum warning level.
Silenced (amongst others) many conversion related warnings.
2009-12-12 11:39:07 +01:00
Benoit Jacob
d2e44f2636 * 4x4 inverse: revert to cofactors method
* inverse tests: use createRandomMatrixOfRank, use more strict precision
* tests: createRandomMatrixOfRank: support 1x1 matrices
* determinant: nest the xpr
* Minor: add comment
2009-12-09 12:43:25 -05:00
Benoit Jacob
de25059502 * Remove test_ prefix in tests
* tests now honor EIGEN_REPEAT and EIGEN_SEED if no arguments were passed
2009-12-02 12:07:47 -05:00
Benoit Jacob
3e73f6036c * HouseholderSequence:
* be aware of number of actual householder vectors
    (optimization in non-full-rank case, no behavior change)
  * fix applyThisOnTheRight, it was using k instead of actual_k
* QR: rename matrixQ() to householderQ() where applicable
2009-12-02 11:11:09 -05:00
Hauke Heibel
84551d067e merge 2009-12-02 11:08:44 +01:00
Mark Borgerding
c05ae35441 merge with tip 2009-12-01 18:03:15 -05:00
Mark Borgerding
8fce0b5459 added newline at the end of file to quiet gcc warning 2009-12-01 17:37:33 -05:00
Benoit Jacob
95d88e1327 Big reworking of ColPivQR and its unit test, which now passes even with thousands of repetitions and correctly tests matrices of all sizes. Several surprises along the way: for example, a major cause of trouble was the optimized "table of column squared norms" where the accumulation of imprecision was a serious issue; another surprise is that tests like "x!=0" before dividing by x really benefit from being replaced by fuzzy tests, as i hit real cases where i got wrong results in 1/epsilon. 2009-12-01 13:26:29 -05:00
Hauke Heibel
2bf354da80 Much more NestByValue cleanup. 2009-12-01 11:51:22 +01:00
Benoit Jacob
4b1aca2288 precision ---> dummy_precision 2009-11-26 22:05:02 -05:00
Benoit Jacob
5923bcb1b9 improve the scripts for building unit tests:
* support unsupported/
* use egrep instead of grep, properly escape special chars.
2009-11-25 21:26:37 -05:00
Thomas Capricelli
f795681da0 export stableNorm(), blueNorm() and hypotNorm() to colwise() and rowwise()
+ rudimentary test
2009-11-26 02:28:13 +01:00
Benoit Jacob
1e2bcba5e4 forward port slight changes in the 4x4 inverse test 2009-11-25 09:08:03 -05:00
Benoit Jacob
e6ea9e401c improve precision test 2009-11-23 11:24:06 -05:00
Benoit Jacob
44d0d667cd 4x4 inverse:
* change block selection threshold from 1e-2 to 1e-1
* add rigorous precision test
2009-11-23 10:13:21 -05:00
Jitse Niesen
34be9d4537 Replace toDense() by toDenseMatrix() in tests. 2009-11-20 12:22:46 +00:00
Benoit Jacob
6cbf662f14 * don't laugh, but these bugs took me forever to fix.
* expand unit tests to make sure to catch them: they nearly escaped the existing tests as these memory violations were highly dependent on the numbers of rows and cols.
2009-11-19 22:01:13 -05:00
Benoit Jacob
eac3232095 minor improvements in triangular stuff 2009-11-19 20:50:50 -05:00
Benoit Jacob
88b551e89b * fix compilation of unit-tests (sorry, had tested only 1 channel)
* remove buggy (superfluous?) specialization in the meta-unroller
2009-11-19 19:20:19 -05:00
Benoit Jacob
a20a744adc TriangularMatrix: extend to rectangular matrices 2009-11-19 17:07:55 -05:00
Benoit Jacob
b5f4636d42 * eigen2->eigen3
* bump version to 2.91.0
* add FindEigen3.cmake
2009-11-19 12:09:04 -05:00
Benoit Jacob
126a8e6a69 fix remaining bug in ColPivHouseholderQR, so now all tests pass again 2009-11-18 17:40:45 -05:00
Benoit Jacob
8860203e6a fix stuff after the PermutationMatrix changes.
I still have JacobiSVD errors when cols>rows
2009-11-18 12:41:24 -05:00
Benoit Jacob
94c706d04f Assign.h: add LinearTraversal (non-vectorized index-based traversal)
Rename some constants to make names match more closely what they mean.
2009-11-18 11:57:07 -05:00
Benoit Jacob
9f21e2aab7 port the QR module to PermutationMatrix 2009-11-17 08:14:54 -05:00
Benoit Jacob
07412b2075 PermutationMatrix: add setIdentity and transpositions methods
LU: make use of that
2009-11-16 21:28:26 -05:00
Benoit Jacob
b90744dc05 Port FullPivLU to PermutationMatrix 2009-11-16 17:05:12 -05:00
Benoit Jacob
eb6df28c6c DiagonalMatrix: release-quality documentation
BandMatrix: rename toDense() ---> toDenseMatrix() for consistency
2009-11-16 15:25:58 -05:00
Benoit Jacob
e8d0dbf82e PermutationMatrix:
* make multiplication order not be reversed
 * release-quality documentation
2009-11-16 15:07:33 -05:00
Benoit Jacob
b25eb5fdaa PermutationMatrix: add inverse() and product of permutations 2009-11-16 09:39:07 -05:00
Benoit Jacob
e09768e3bc handle make errors ---> exit, don't run ctest 2009-11-16 09:38:44 -05:00
Thomas Capricelli
f7e73f1bf9 don't be shy and test them all 2009-11-16 04:20:13 +01:00
Benoit Jacob
955cd7f884 * add PermutationMatrix
* DiagonalMatrix:
   - add MaxSizeAtCompileTime parameter
   - DiagonalOnTheLeft ---> OnTheLeft
   - fix bug in DiagonalMatrix::setIdentity()
2009-11-15 21:12:15 -05:00
Mathieu Gautier
6680fa42ee * add Map<Quaternion> test based on Map from test/map.cpp
* replace implicit constructor AngleAxis(QuaternionBase&) by an explicit one, it seems ambiguous for the compiler
* remove explicit constructor with conversion type quaternion(Quaternion&): conflict between constructor.
* modify EIGEN_INHERIT_ASSIGNEMENT_OPERATORS to suit Quaternion class
2009-11-13 16:41:51 +01:00
Benoit Jacob
7e3c4096d8 xargs ---> xargs echo
(xargs alone doesnt seem to be documented in the man page, while xargs echo is documented)
2009-11-12 15:37:50 -05:00
Benoit Jacob
9b7708f660 introduce check target, and some renaming 2009-11-12 15:02:52 -05:00
Benoit Jacob
8132ee3908 * add non-default option to initialize matrices by 0
(useful for porting)
* maketests really has to be in test/
2009-11-12 12:39:22 -05:00
Benoit Jacob
358452bbe6 * add ./debug and ./release scripts
* update the messages
* rename EIGEN_CMAKE_RUN_FROM_CTEST to something saner
2009-11-12 12:07:18 -05:00
Benoit Jacob
fc492b6264 add mctestr script. In your build directory, just do:
./mctestr ^qr 5
and it will build all tests matching ^qr with 5 jobs and then do `ctest -R ^qr`
2009-11-12 09:35:10 -05:00
Benoit Jacob
bc18ba7e49 * add maketests script. It is like make but takes a regexp allowing to build selected targets. Next step will be a "mctestr" script doing that and then calling ctest -R.
* in runtest.sh, don't override the default number of repeats. If one thinks the default should be changed, let's change it at the source.
2009-11-11 21:25:21 -05:00
Benoit Jacob
ff7fbc9431 * use standard CMAKE_BUILD_TYPE
* remove debug_xxx targets
* runtest.sh: don't run make
2009-11-11 16:11:33 -05:00
Benoit Jacob
a440385b41 *adapt Householder to the convention that we now favor refs over ptrs for output. Keep "workspace" as pointer because it is an array (which is now more obvious).
*rename makeHouseholderSequence to householderSequence, because that's what it returns.
2009-11-10 21:22:20 -05:00
Benoit Jacob
92749eed11 * merge
* remove a ctor in QuaternionBase as it gives a strange error with GCC 4.4.2.
2009-11-09 09:08:03 -05:00
Benoit Jacob
9a0900e33e last round of changes, mainly to return derived types instead of base types, and fix various compilation issues 2009-11-09 07:51:31 -05:00
Benoit Jacob
ba7bfe110c port the qr module to ei_solve_xxx. 2009-11-08 10:21:26 -05:00
Jitse Niesen
daa4574a43 Add regression test for issue #66 (ComplexSchur of zero matrix). 2009-11-05 03:46:18 +00:00
Benoit Jacob
0182695204 move cholesky to ei_xxx_return_value 2009-11-03 11:34:45 -05:00
Benoit Jacob
da363d997f introduce ei_xxx_return_value and ei_xxx_impl for xxx in solve,kernel,impl
put them in a new internal 'misc' directory
2009-11-03 02:18:10 -05:00