Commit Graph

477 Commits

Author SHA1 Message Date
Mark Borgerding
2cd1ad2ded typo in merge 2010-02-16 22:06:23 -05:00
Mark Borgerding
f200c84d9f merge 2010-02-16 21:41:04 -05:00
Mark Borgerding
8f51a4ac90 found out about little-documented FFTW_PRESERVE_INPUT which has effect on c2r transforms 2010-02-16 20:44:48 -05:00
Jitse Niesen
319bf3130b Use ReturnByValue to return result of ei_matrix_function(), ... 2010-02-16 16:43:11 +00:00
Jitse Niesen
25019f0836 Use ReturnByValue to return result of ei_matrix_exponential() . 2010-02-15 19:17:25 +00:00
Jitse Niesen
b18f737aa1 Test matrix functions with matrices with clustered imaginary eivals.
The idea is that these test MatrixFunction::swapEntriesInSchur(),
which is not covered by existing tests. This did not work out as
expected, but nevertheless it is a good test so I left it in.
2010-02-13 22:49:01 +00:00
Jitse Niesen
a4a2671fd0 Refactor matrix_function test in preparation of next commit. 2010-02-13 22:38:27 +00:00
Gael Guennebaud
48f5980669 fix compilation (cwise and epsilon) 2010-02-11 09:24:29 +01:00
Thomas Capricelli
602778ea26 also fix tests for NumTraits<double>::epsilon() 2010-02-11 01:49:27 +01:00
Thomas Capricelli
fd19dd57d8 fix usage of epsilon wrt to latest API change 2010-02-11 01:43:36 +01:00
Thomas Capricelli
ccc58e935e fix usage of epsilon wrt to latest API change 2010-02-11 01:43:03 +01:00
Jitse Niesen
fc5fa77743 unsupported/Eigen/AlignedVector3: dummy_precision is now in NumTraits 2010-02-10 17:59:27 +00:00
Mark Borgerding
1d342e135c changed destination argument to reference 2010-01-22 22:52:13 -05:00
Mark Borgerding
141c746fc7 if the src.stride() != 1, then the layout is not continuous -- need to copy to temporary 2010-01-22 01:17:36 -05:00
Mark Borgerding
cd7912313d changed FFT function vector and Matrix args to pointer as Benoit suggested
implemented 2D Complex FFT for FFTW impl
2010-01-22 00:35:03 -05:00
Mark Borgerding
a30d42354f updated comments and played around with Map 2010-01-21 21:10:16 -05:00
Jitse Niesen
dbf3af866e Remove some Array #includes. 2010-01-21 12:31:03 +00:00
Hauke Heibel
1a77334d54 Silenced type conversion warnings. 2010-02-03 19:20:25 +01:00
Thomas Capricelli
2b2fcc9460 erm.... using nxn is the actual purpose of this variant, fix this. 2010-01-29 08:59:25 +01:00
Thomas Capricelli
98a584ceb8 Put the Status outside of the class, it really does not depend on the
FunctorType or Scalar template parameters.
2010-01-28 10:29:26 +01:00
Thomas Capricelli
27cf1b3a97 eigenization of ei_r1updt() 2010-01-28 04:28:52 +01:00
Thomas Capricelli
40eac2d8a0 misc cleaning / eigenization 2010-01-28 04:19:39 +01:00
Thomas Capricelli
bd732986bc fix compilation 2010-01-27 23:43:15 +01:00
Benoit Jacob
35bacf7cb8 *forward port fix in MapBase::coeff(int) and coeffRef(int)
*forward port expanded map.cpp unit test
*fix unused variable warnings
2010-01-27 07:11:49 -05:00
Thomas Capricelli
7ba9dc07ed port ei_rwupdt to c++, and misc cleaning 2010-01-27 09:01:13 +01:00
Thomas Capricelli
e97529c2e3 doc : update code, mention examples 2010-01-27 08:14:50 +01:00
Thomas Capricelli
afb9bf6281 use PlanarRotation<> instead of handmade givens rotation in cminpack code
+ cleaning.
This results in some more memory being used, but not much.
2010-01-26 17:40:55 +01:00
Thomas Capricelli
c04a93df31 clean r1mpyq: remove fortran leftovers 2010-01-26 14:08:52 +01:00
Thomas Capricelli
55f328b264 misc cleaning 2010-01-26 13:20:24 +01:00
Thomas Capricelli
71f513e250 forgot to commit this: qform.h is not used anymore 2010-01-26 13:08:29 +01:00
Thomas Capricelli
69f11c08a1 more eigenization, dropped 'ipvt' in lm 2010-01-26 12:09:52 +01:00
Thomas Capricelli
8a690299c6 fix possible segfault 2010-01-26 11:48:32 +01:00
Thomas Capricelli
d791b51112 remove spaces 2010-01-26 10:50:43 +01:00
Thomas Capricelli
113995355b get rid of ei_qform + lot of other cleaning, now that we do not depend on
minpack qr factorization.
2010-01-26 08:42:48 +01:00
Thomas Capricelli
ba2a9cce03 some more eigenization 2010-01-26 07:36:15 +01:00
Thomas Capricelli
a3034ee079 cleaning 2010-01-26 06:05:01 +01:00
Thomas Capricelli
91561cded4 use a plain matrix to store the upper triangular matrix 'R', instead
of the "compact inside a vector" scheme used by fortran/minpack.
The most difficult part is to fix all related code. Tests pass.
2010-01-26 05:59:58 +01:00
Thomas Capricelli
4b859c8554 cleaning 2010-01-26 01:59:32 +01:00
Thomas Capricelli
c759814f11 some more (thoroughly checked) eigenization 2010-01-26 01:43:58 +01:00
Jitse Niesen
bdb0e9fcd0 Clean up one compilation error and two warnings. 2010-01-26 16:02:19 +00:00
Thomas Capricelli
1403cea087 fix a bug introduced between the cminpack version of Manolis Lourakis and
the one from Frédéric Devernay.
Here, we want to compute the max over the column, the -1 is not needed in
fortran because indices start at 1, contrary to c/c++.
2010-01-26 04:55:36 +01:00
Thomas Capricelli
9651e0c503 Use eigen methods for solving triangular systems. We loose again very
slightly on both speed and precision on some tests.
2010-01-25 11:34:52 +01:00
Thomas Capricelli
92be7f461b define ei_lmpar2() that takes a ColPivHouseholderQR as argument. We still
need to keep the old one around, though.
2010-01-25 07:23:38 +01:00
Thomas Capricelli
ee0e39284c Replace the qr factorization from (c)minpack (qrfac) by Eigen's own stuff.
Results as checked by unit tests are very slightly worse, but not much.
2010-01-25 07:22:28 +01:00
Thomas Capricelli
1cb0be05b0 useful cleaning 2010-01-25 07:08:08 +01:00
Thomas Capricelli
cbf6022e5a useless cleaning 2010-01-25 07:07:31 +01:00
Jitse Niesen
858539a6af Use matrices with clustered eigenvalues in matrix function test.
This is in order to get better code coverage.
Test matrix_function_3 now fails regularly because ComplexSchur
reaches the max number of iterations; further study needed.
2010-01-24 22:56:28 +00:00
Hauke Heibel
89ee9f092f Fixed compilation of MatrixFunctions module. 2010-01-20 11:32:13 +01:00
Mark Borgerding
dacfa97e82 merge 2010-01-18 19:53:44 -05:00
Mark Borgerding
adb2170eb8 removed Eigen::Complex class since it offered insufficient advantage over std::complex when sane real,imag structure packing is assumed.
for more info see:
http://www.cpptalk.net/portable-complex-numbers-between-c-c--vt46432.html
2010-01-18 19:39:22 -05:00
Thomas Capricelli
c8b9097740 erm.. forgot to test after previous commit. Now it's ok (tm). 2010-01-19 01:00:59 +01:00
Thomas Capricelli
a33b2dfeb3 introduce new state, "Not started" 2010-01-13 05:17:58 +01:00
Jitse Niesen
65cd1c7639 Add support for matrix sine, cosine, sinh and cosh. 2010-01-11 18:05:30 +00:00
Jitse Niesen
3407e8a67e triangularView<UpperTriangular> --> triangularView<Upper>
Necessary after c5d7c9f0de
 (big delete of "triangular").
2010-01-08 12:49:46 +00:00
Gael Guennebaud
801e601ff1 a couple of improvements in the Autodiff module 2010-01-05 16:04:05 +01:00
Gael Guennebaud
39209edd71 port unsupported modules to new API 2010-01-05 15:38:20 +01:00
Benoit Jacob
51b8f014f3 merge 2010-01-04 21:26:15 -05:00
Benoit Jacob
39ac57fa6d Big renaming:
start ---> head
  end   ---> tail
Much frustration with sed syntax. Need to learn perl some day.
2010-01-04 21:24:43 -05:00
Thomas Capricelli
e9724c8ea2 accessor for the levenberg-marquardt parameter 2010-01-05 01:22:53 +01:00
Jitse Niesen
708e6629e2 Further refactoring of MatrixFunction<MatrixType, 1>
* move some data to member variables
* split and/or rename member functions
* document all members
2010-01-04 23:13:15 +00:00
Thomas Capricelli
fd19e0a9ea unimportant small fix 2010-01-04 23:25:00 +01:00
Thomas Capricelli
95d9cb77f8 fix compilation in some cases 2010-01-04 22:45:33 +01:00
Jitse Niesen
233540e58a Refactoring of MatrixFunction: Simplify handling of fixed-size case. 2009-12-30 17:34:48 +00:00
Jitse Niesen
fcf821b77d Rename test per naming convention. 2009-12-28 22:30:08 +00:00
Jitse Niesen
d35cc381fe Refactor MatrixFunction class: Split new class MatrixFunctionAtomic off. 2009-12-27 20:44:19 +00:00
Jitse Niesen
a25c9b1e46 Simplify and document Sylvester equation solver in MatrixFunction. 2009-12-27 18:09:50 +00:00
Jitse Niesen
f54a2a0484 Add support for general matrix functions.
This does the job but it is only a first version. Further plans:
improved docs, more tests, improve code by refactoring, add convenience
functions for sine, cosine, sinh, cosh, and (eventually) add the matrix
logarithm.
2009-12-21 18:53:00 +00:00
Jitse Niesen
945cbc3bc6 Add test for issue #75 (Hessenberg of 1x1 matrix).
Also remove an superfluous #include in matrixExponential test.
2009-12-16 22:24:24 +00:00
Jitse Niesen
63957ad5d6 Remove //@{ ... //@} for same reason as in changeset 2026ea7ff2
.
2009-12-13 00:29:31 +00: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
Hauke Heibel
494a88685e Fixed the bad fix - now the unsupported examples and snippets work on windows. 2009-12-11 19:39:01 +01:00
Jitse Niesen
2026ea7ff2 Coax doxygen in producing better docs for MatrixFunctions.
The //@{ ... //@} in unsupported/Eigen/MatrixFunctions for some reason
caused doxygen to list the constructor of the MatrixExponential class
as a separate function in the MatrixFunctions module without any reference
to the class; very confusing.
2009-12-11 15:54:21 +00:00
Thomas Capricelli
7d444375e7 fix compilation (for some reason the pb happens only under windows) 2009-12-11 02:38:28 +01:00
Jitse Niesen
39ceba409b Various improvements to the docs for unsupported.
* Enable compilation of examples for unsupported.
* Fix use of std::vector in BVH example.
* Add an example for the matrix exponential.
* Bug fixes in unsupported/doc/{examples,snippets}/CMakeLists.txt .
2009-12-07 19:10:11 +00:00
Gael Guennebaud
ea684af6b4 merge 2009-12-04 12:40:29 +01:00
Marton Danoczy
ffaea19a70 Fixed compilation warnings in MSVC with Scalar==float 2009-12-03 14:01:34 +01:00
bjornpiltz
af17770680 Fix compilation for MSVC. 2009-12-03 09:27:15 +01:00
Mark Borgerding
012cd62c81 explicitly cast to use the acos(long double) 2009-12-02 22:58:34 -05:00
Mark Borgerding
e5c91b4e95 removed troublesome M_PI and M_PIl constants 2009-12-02 17:23:09 -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
Hauke Heibel
e3b5a90611 Removed unused 'benchmark'. 2009-12-02 16:51:40 +01:00
Benoit Jacob
3279e39340 * fix include for case-sensitive filesystem
* on GNU, clock_gettime requires linking -lrt
2009-12-02 10:03:16 -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
0e8cd8de4d quieted signed/unsigned comparison warning 2009-12-01 17:38:23 -05:00
Thomas Capricelli
291fd4f8da merge 2009-12-01 21:07:20 +01:00
Hauke Heibel
b08d5b2d2c Even more NestByValue cleanup... 2009-12-01 13:16:51 +01:00
Hauke Heibel
82971a5dcd Adapted the number of test runs. 2009-12-01 09:29:56 +01:00
Hauke Heibel
1fc5fdea25 Added missing typedef (will I ever learn it!?)
Removed unsupported directories that do not provide CMakeList.txt (CMake 2.8 warning).
The BenchTimer is now also working on Cygwin.
2009-12-01 09:20:05 +01:00
Hauke Heibel
7af1ee0b6c Added the profiling test to unsupported. 2009-12-01 07:53:09 +01:00
Thomas Capricelli
120882c4f1 fix another 'duplicated content in doxygen pages' bug : exclude *.orig
files
2009-11-30 19:42:00 +01:00
Hauke Heibel
66534b782c Some of our unit tests require mathematical constants and thus we rely on non-ansi code.
It seems as if the new standard removed pow(T,int).
M_PIL is only defined when _GNU_SOURCE is defined.
2009-11-30 16:54:04 +01:00
Thomas Capricelli
21ff296652 Adapted a mail from Mark about some design and add it as documentation for
the FFT module.
2009-11-30 16:21:21 +01:00
Benoit Jacob
4b1aca2288 precision ---> dummy_precision 2009-11-26 22:05:02 -05:00
Thomas Capricelli
c245054aa8 cleaning 2009-11-26 08:30:38 +01:00
Thomas Capricelli
f948df5a72 cleaning 2009-11-26 07:37:37 +01:00
Thomas Capricelli
db39f892a3 kill yet another un-needed parameter 2009-11-26 05:48:38 +01:00
Thomas Capricelli
905aecf803 make qrsolv use eigen types 2009-11-26 04:29:51 +01:00
Thomas Capricelli
e18caf7a01 clean qrsolv 2009-11-26 04:06:40 +01:00
Thomas Capricelli
e95f736402 reduce ei_qrsolv() signature, wa is actually a 'working array' 2009-11-26 03:26:41 +01: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
746c787a76 computes column norms outside of ei_qrfac() 2009-11-26 02:53:58 +01:00
Thomas Capricelli
9cbfdbad22 cleaning 2009-11-26 02:42:27 +01:00
Thomas Capricelli
dca80b5f22 use typedef 2009-11-25 23:08:46 +01:00
Thomas Capricelli
a6380ae272 silent warnings 2009-11-25 23:08:39 +01:00
Thomas Capricelli
06f11f3379 fix important typo 2009-11-21 02:00:47 +01:00
Benoit Jacob
b5f4636d42 * eigen2->eigen3
* bump version to 2.91.0
* add FindEigen3.cmake
2009-11-19 12:09:04 -05:00
Thomas Capricelli
a89b22f352 rename test for coherency with previous renaming of the module 2009-11-16 04:34:04 +01:00
Jitse Niesen
d07c05b3a5 Build tests for unsupported modules if EIGEN_LEAVE_TEST_IN_ALL_TARGET 2009-11-13 13:05:57 +00: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
Thomas Capricelli
e06aa749a4 doxygen : exclude diff files 2009-11-10 22:17:23 +01:00
Thomas Capricelli
2612bbdf8b make the complex module appear in doxygen + small documentation 2009-11-10 22:02:10 +01:00
Thomas Capricelli
d47a723a6e make FFT appear in doxygen doc, and provide a mininum of documentation 2009-11-10 21:58:17 +01:00
Thomas Capricelli
2c9f46d151 fix Skyline module doxygen stuff 2009-11-10 21:47:57 +01:00
Thomas Capricelli
df117a64c7 merge with main repository 2009-11-10 21:34:43 +01:00
Thomas Capricelli
ae76c97704 documentation fixes 2009-11-10 21:33:36 +01:00
Gael Guennebaud
f647fb8dd4 fix compilation and removed some unused stuff in skyline 2009-11-10 21:22:55 +01:00
Thomas Capricelli
6a56262bf4 merge with main repository 2009-11-10 20:31:07 +01:00
Gael Guennebaud
1879403562 mv the Skyline module to unsupported/ 2009-11-10 12:47:42 +01:00
Thomas Capricelli
42b92c2022 merge with main repository 2009-11-09 19:02:52 +01: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
Thomas Capricelli
087df89e20 few doc fixes 2009-11-09 06:45:27 +01:00
Thomas Capricelli
d1cc2745f7 Reduce general diff with eigen-tip. Moreover, this test now seems to pass
again.
2009-11-09 05:12:50 +01:00
Thomas Capricelli
17f3e8571c more documentatin 2009-11-09 04:52:47 +01:00
Thomas Capricelli
de195e0e78 some more documentation 2009-11-09 04:21:45 +01:00
Thomas Capricelli
ac8f7d8c9c various fixes in headers 2009-11-09 03:32:40 +01:00
Thomas Capricelli
71a3e96b49 rename NonLinear to NonLinearOptimization 2009-11-09 03:27:15 +01:00
Thomas Capricelli
09cb27c587 documentation + move "namespace eigen" to the main file, as others do. 2009-11-09 03:25:21 +01:00
Thomas Capricelli
cddc83752c starting documentation 2009-11-09 03:07:36 +01:00
Thomas Capricelli
751a333491 merge with main repository 2009-11-08 22:27:32 +01:00
Gael Guennebaud
5dc02fe5e9 improve a bit AutoDiffVector, but it still not working 2009-11-06 11:34:58 +01:00
Mark Borgerding
103f741619 initialize Eigen::Complex arrays 2009-11-09 14:08:44 -05:00
Mark Borgerding
ec70f8006b added inlines to a bunch of functions 2009-10-31 00:13:22 -04:00
Mark Borgerding
4c3345364e moved half-spectrum logic to Eigen::FFT 2009-10-30 23:38:13 -04:00
Mark Borgerding
d659fd9b14 moved real-half-spectrum reflection into Eigen::FFT 2009-10-30 20:26:30 -04:00
Mark Borgerding
a26b729cc9 moved scaling to Eigen::FFT 2009-10-30 19:50:11 -04:00
Mark Borgerding
7911df4b6e improved selftest for Eigen::Complex -- mainly a documentation of what does not work 2009-10-28 23:22:10 -04:00
Mark Borgerding
288ba155f1 forgot Complex test file 2009-10-28 23:05:18 -04:00
Benoit Jacob
e8dd552257 sync with mainline 2009-10-28 19:06:45 -04:00
Benoit Jacob
2840ac7e94 big huge changes, so i dont remember everything.
* renaming, e.g. LU ---> FullPivLU
* split tests framework: more robust, e.g. dont generate empty tests if a number is skipped
* make all remaining tests use that splitting, as needed.
* Fix 4x4 inversion (see stable branch)
* Transform::inverse() and geo_transform test : adapt to new inverse() API, it was also trying to instantiate inverse() for 3x4 matrices.
* CMakeLists: more robust regexp to parse the version number
* misc fixes in unit tests
2009-10-28 18:19:29 -04:00
Mark Borgerding
0167f5ef43 added inline to many functions 2009-10-22 23:06:19 -04:00
Mark Borgerding
e3d08443dc inlining,all namespace declaration moved to FFT, removed preprocessor definitions, 2009-10-21 20:53:05 -04:00
Mark Borgerding
78a53574b7 merge branches 2009-10-21 10:28:56 -04:00
Mark Borgerding
85f8d1f0c6 renamed 'Traits' to 'Impl', added vim modelines for syntax highlighting 2009-10-21 10:27:17 -04:00
Benoit Jacob
c3180b7ffb MatrixBase:
* support resize() to same size (nop). The case of FFT was another case where that make one's life far easier.
   hope that's ok with you Gael. but indeed, i don't use it in the ReturnByValue stuff.

FFT:
 * Support MatrixBase (well, in the case with direct memory access such as Map)
 * adapt unit test
2009-10-20 23:25:49 -04:00
Mark Borgerding
d9b418bf12 merged eigen2_for_fft into eigen2 mainline 2009-10-20 15:18:01 -04:00
Gael Guennebaud
7b0c4102fa * add a Make* expression type builder to allow the
construction of generic expressions working
  for both dense and sparse matrix. A nicer solution
  would be to use CwiseBinaryOp for any kind of matrix.
  To this end we either need to change the overall design
  so that the base class(es) depends on the kind of matrix,
  or we could add a template parameter to each expression
  type (e.g., int Kind = ei_traits<MatrixType>::Kind)
  allowing to specialize each expression for each kind of matrix.
* Extend AutoDiffScalar to work with sparse vector expression
  for the derivatives.
2009-10-16 13:22:38 +02:00
Gael Guennebaud
44ba4b1d6d add operator+ scalar to AutoDiffScalar 2009-10-16 11:27:04 +02:00
Gael Guennebaud
1503043981 autodiff:
* fix namespace issue
* simplify Jacobian code
* fix issue with "Dynamic derivatives"
2009-10-15 18:43:15 +02:00
Thomas Capricelli
456f7d094d merge with eigen-tip 2009-10-13 01:14:19 +02:00