Mark Borgerding
e31929337e
needed different proxy return types for fwd,inv to work around static asserts
2010-03-07 22:05:48 -05:00
Mark Borgerding
5b2c8b77df
created FFT::fwd and FFT::inv with ReturnByValue
2010-03-07 21:31:06 -05:00
Jitse Niesen
2d7bd1ec91
Make MatrixFunctions tests more robust.
...
* Use absolute error instead of relative error.
* Test on well-conditioned matrices.
* Do not repeat the same test g_repeat times (bug fix).
* Correct diagnostic output in matrix_exponential.cpp .
2010-03-01 12:05:57 +00:00
Thomas Capricelli
eb3a3351cc
misc cleaning
2010-02-28 02:51:35 +01:00
Thomas Capricelli
e0830cb1b7
Use a specialization of test_is_equal() instead of defining COMPARE()
2010-02-27 17:56:22 +01:00
Thomas Capricelli
15a33622ac
* define COMPARE(,), which prints expected/actual results in case of failure
...
* use it in test/NonLinearOptimization.cpp
2010-02-27 16:30:15 +01:00
Benoit Jacob
4927841cba
Document Map and Stride, add examples.
2010-02-26 21:29:04 -05:00
Mark Borgerding
b528b747c1
merge
2010-02-22 21:44:30 -05:00
Mark Borgerding
5d530e0373
enable caller to supply FFT length for Eigen Matrix interface functions to effect zero pad or source shrink at Nyquist bin
2010-02-22 21:43:30 -05:00
Jitse Niesen
e6f0cd7121
Merge.
2010-02-22 16:17:43 +00:00
Hauke Heibel
e2a059863e
Added missing precision/eps functions to AutoDiffScalar.
2010-02-21 15:44:34 +01:00
Thomas Capricelli
a7d085eb4e
NonLinearOptimization : clean 'mode' handling from the old minpack code :
...
* this is actually a boolean, not an int
* use a better name
* can be set at initialization time instead of bloating all methods signatures
2010-02-21 12:41:37 +01:00
Jitse Niesen
4e389b195d
Change MatrixFunction::separation() parameter from 0.01 to 0.1 .
...
The latter is actually the value used in the literature.
2010-02-20 16:27:04 +00:00
Hauke Heibel
abc8c01080
Renamed PlainMatrixType to PlainObject (Array != Matrix).
...
Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
2010-02-20 15:53:57 +01:00
Jitse Niesen
67ce07ea83
matrix_function test: replace expm(A).inverse() by expm(-A)
...
The latter is more stable. This fixes one of the issues with the test.
Also, make typedef's in MatrixFunctionReturnValue public; this is
necessary to get the test to compile.
2010-02-20 14:45:50 +00:00
Hauke Heibel
f0c8dcf1e2
Renamed AnyMatrixBase to EigenBase.
2010-02-20 15:26:02 +01:00
Jitse Niesen
39d9f0275b
Update matrix_exponential test after API change in ei_matrix_function
...
Apologies for forgetting this yesterday and not testing properly.
2010-02-17 09:50:11 +00:00
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