Romain Bossart
c6503e03eb
Updates to the Sparse unsupported solvers module.
...
* change Sparse* specialization's signatures from <..., int Backend> to <..., typename Backend>. Update SparseExtra accordingly to use structs instead of the SparseBackend enum.
* add SparseLDLT Cholmod specialization
* for Cholmod and UmfPack, SparseLU, SparseLLT and SparseLDLT now use ei_solve_retval and have the new solve() method (to be closer to the 3.0 API).
* fix doc
2010-10-04 20:56:54 +02:00
Gael Guennebaud
e3d01f85b2
extend OpenGL support module with true unit tests and support for Transform, Translation, etc.
2010-10-06 13:28:13 +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
Benoit Jacob
216c9125e9
disable NonLinearOptimization test until it's fixed
2010-08-18 09:11:01 -04:00
Gael Guennebaud
ba212aeaa9
fix missdetection of GLUT
2010-08-16 09:50:24 +02:00
Gael Guennebaud
96ba7cd655
add an OpenGL module simplifying the way you can pass Eigen's objects to GL
2010-07-22 16:08:58 +02:00
Jitse Niesen
abd5faf784
Require at least MPFR version 2.3.0, because we use mpfr_signbit.
...
Code in FindMPFR.cmake is taken from FindEigen2.cmake .
2010-07-19 12:26:52 +01:00
Gael Guennebaud
87e89fea4e
add a support module for MPFR C++ with basic unit testing
2010-07-15 16:29:04 +02:00
Hauke Heibel
8239c3b85b
Fix compilation.
2010-06-21 07:37:59 +02:00
Hauke Heibel
bb46a45340
Finally fixed the matrix function/exponential warning.
...
Index fixes.
2010-06-20 23:13:24 +02:00
Hauke Heibel
f34eaa2628
Next try - more Index fixes.
2010-06-20 21:44:25 +02:00
Hauke Heibel
f1679c7185
Utilize Index in all unit tests.
2010-06-20 17:37:56 +02:00
Hauke Heibel
e402d34407
More Index realted warnings.
2010-06-20 15:52:34 +02:00
Gael Guennebaud
17af8c763d
fix compilation of sparse tests
2010-06-19 15:24:39 +02:00
Gael Guennebaud
729960e465
add missing files
2010-06-18 11:36:30 +02:00
Gael Guennebaud
ece48a6450
split the Sparse module into multiple ones, and move non stable parts to unsupported/
...
(see the ML for details)
2010-06-18 11:28:30 +02:00
Jitse Niesen
8438719111
Compilation fix for matrix_exponential test: add 'typename'.
2010-06-16 11:07:40 +01:00
Hauke Heibel
e5aa6a466b
Fixed 64bit/Index related warnings in the matrix functions module.
2010-06-15 09:57:41 +02:00
Benoit Jacob
d72d538747
merge my Dynamic -> -1 change
2010-06-11 08:04:06 -04:00
Benoit Jacob
52e8c42a00
unsplit this test: was compiling 16 times the same thing! Need to find another way. Suggestion: should compile the stuff once into a binary library, or properly split into different tests with different code.
2010-06-11 07:15:34 -04:00
Hauke Heibel
45d3b405eb
Fixed many MSVC warnings.
2010-06-09 09:30:22 +02:00
Benoit Jacob
aaaade4b3d
the Index types change.
...
As discussed on the list (too long to explain here).
2010-05-30 16:00:58 -04:00
Benoit Jacob
9962c59b56
* implement the corner() API change: new methods topLeftCorner() etc
...
* get rid of BlockReturnType: it was not needed, and code was not always using it consistently anyway
* add topRows(), leftCols(), bottomRows(), rightCols()
* add corners unit-test covering all of that
* adapt docs, expand "porting from eigen 2 to 3"
* adapt Eigen2Support
2010-04-22 14:11:18 -04:00
Thomas Capricelli
63eaa8948e
tests for nonlinear module : use different slots + misc cleaning
2010-04-18 03:47:23 +02:00
Manuel Yguel
671cfb7ad0
Fix wrong header and warnings in polynomialutils.cpp
2010-03-25 03:31:33 +01:00
Manuel Yguel
5ef83d6a6c
Add missing test files for Polynomials module.
2010-03-25 03:21:52 +01:00
Manuel Yguel
9a4a08da46
Creation of the Polynomials module with the following features:
...
* convenient functions:
- Horner and stabilized Horner evaluation
- polynomial coefficients from a set of given roots
- Cauchy bounds
* a QR based polynomial solver
2010-03-25 03:15:05 +01:00
Jitse Niesen
04a4e22c58
API change: ei_matrix_exponential(A) --> A.exp(), etc
...
As discussed on mailing list; see
http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2010/02/msg00190.html
2010-03-16 17:26:55 +00:00
Mark Borgerding
3565e89be2
minor edit
2010-03-07 23:57:02 -05:00
Mark Borgerding
101cc03176
merge
2010-03-07 23:46:26 -05:00
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
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
Jitse Niesen
e6f0cd7121
Merge.
2010-02-22 16:17:43 +00: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
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
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
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
Thomas Capricelli
602778ea26
also fix tests for NumTraits<double>::epsilon()
2010-02-11 01:49:27 +01: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
Hauke Heibel
1a77334d54
Silenced type conversion warnings.
2010-02-03 19:20:25 +01:00
Thomas Capricelli
69f11c08a1
more eigenization, dropped 'ipvt' in lm
2010-01-26 12:09:52 +01:00
Thomas Capricelli
c759814f11
some more (thoroughly checked) eigenization
2010-01-26 01:43:58 +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
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
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
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
Jitse Niesen
65cd1c7639
Add support for matrix sine, cosine, sinh and cosh.
2010-01-11 18:05:30 +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
Jitse Niesen
fcf821b77d
Rename test per naming convention.
2009-12-28 22:30:08 +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
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
Gael Guennebaud
ea684af6b4
merge
2009-12-04 12:40:29 +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
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
0e8cd8de4d
quieted signed/unsigned comparison warning
2009-12-01 17:38:23 -05: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
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
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
a89b22f352
rename test for coherency with previous renaming of the module
2009-11-16 04:34:04 +01: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
6a56262bf4
merge with main repository
2009-11-10 20:31:07 +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
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
71a3e96b49
rename NonLinear to NonLinearOptimization
2009-11-09 03:27:15 +01:00
Thomas Capricelli
751a333491
merge with main repository
2009-11-08 22:27:32 +01:00
Mark Borgerding
103f741619
initialize Eigen::Complex arrays
2009-11-09 14:08:44 -05:00
Mark Borgerding
4c3345364e
moved half-spectrum logic to Eigen::FFT
2009-10-30 23:38:13 -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
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
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
Thomas Capricelli
977ed615a6
be sure that there's no name clash between NumericalDiff::df and the
...
original functor df()
2009-09-28 17:45:45 +02:00
Thomas Capricelli
7968737247
fix tests : we perform slightly worse because we do use one more function
...
evaluation in our numericaldiff than what (c)minpack did
2009-09-28 04:13:57 +02:00
Thomas Capricelli
d3850641a1
remove some duplicated code LevenbergMarquardt::minimizeNumericalDiff*() by
...
using the generic Eigen NumericalDiff recently introduced.
LevenbergMarquardt::lmdif1(), which is provided as a convenience method for
people porting code from (c)minpack, is now a static function
2009-09-28 03:26:42 +02:00
Thomas Capricelli
87be19de4a
central sheme for numerical diff
2009-09-28 02:55:30 +02:00
Thomas Capricelli
206b5e3972
starting work on a Numerical differenciation module
2009-09-28 02:43:07 +02:00
Thomas Capricelli
52026eb800
cleaning
2009-09-28 02:35:42 +02:00
Thomas Capricelli
8e8997d403
use dynamic type in functor, as NonLinear only knows about this currently
2009-09-28 01:19:29 +02:00
Thomas Capricelli
bee14ee8e6
use operator() so that to be coherent with eigen AutoDiff functor
2009-09-28 00:32:31 +02:00
Thomas Capricelli
956d65ea63
define a generic functor and makes other ones inherit it
2009-09-28 00:18:14 +02:00
Thomas Capricelli
251c0f45ac
remove references to adolc and split tests functions for clarity
2009-09-27 23:54:06 +02:00
Mark Borgerding
a39de276a9
added the test case for FFTW
2009-09-14 01:52:26 -04:00
Thomas Capricelli
72746838ad
merge with tip
2009-09-10 02:37:08 +02:00
Thomas Capricelli
c990938415
eigenization of fcn_chkder + bugfix
2009-08-29 02:46:19 +02:00
Thomas Capricelli
c1265ebbfe
fix bounds using c standard instead of fortran's
2009-08-29 02:36:13 +02:00
Thomas Capricelli
4f7daf942c
fix indentation for fcn_chkder
2009-08-29 02:30:18 +02:00
Thomas Capricelli
16d08b2b0f
check number of evaluation even in the case of *1(), now we have it..
2009-08-26 14:47:10 +02:00
Thomas Capricelli
458947af5e
move Parameters as a class member, simplify calling sequence. Convenience
...
methods from minpack ( "*1()" ) get their original name back : they are
only useful when porting, anyway. Still, i prefer to keep them.
2009-08-26 14:23:05 +02:00
Thomas Capricelli
eac9293449
split every algorithm in *Init() + while(running) { *OneStep() }
2009-08-25 23:43:33 +02:00
Thomas Capricelli
bbd44ef0ad
move more stuff into Parameters
2009-08-25 23:37:27 +02:00
Thomas Capricelli
470ea55834
put nfev/njev as internal variables as well
2009-08-25 22:13:08 +02:00
Thomas Capricelli
fa0183e7c7
make diag be an internal variable too
2009-08-25 21:59:10 +02:00
Thomas Capricelli
e465ea82e1
define and use struct Parameters
2009-08-25 21:50:01 +02:00
Thomas Capricelli
d59cc0ad82
merge files
2009-08-25 17:25:56 +02:00
Thomas Capricelli
613a464320
cleaning
2009-08-25 16:48:09 +02:00
Thomas Capricelli
6c1a9703b1
move most of results vectors/matrices inside respective classes.
2009-08-25 16:08:09 +02:00
Thomas Capricelli
201f58e528
merge both c methods lmstr/lmstr1 into one class
...
LevenbergMarquardtOptimumStorage with two methods.
2009-08-25 14:18:38 +02:00
Thomas Capricelli
3f1b81e129
merge both c methods lmdif/lmdif1 into one class
...
LevenbergMarquardtNumericalDiff with two methods.
2009-08-25 14:09:19 +02:00
Thomas Capricelli
a736378331
cleaning
2009-08-25 14:03:30 +02:00
Thomas Capricelli
d880e6f774
merge both c methods hybrj1/hybrj into one class HybridNonLinearSolver with
...
two methods. hybrd stuff renamed to HybridNonLinearSolverNumericalDiff.
2009-08-25 13:56:25 +02:00
Thomas Capricelli
a043708e87
merge both c methods hybrd/hybrd1 into one class HybridNonLinearSolver with
...
two methods.
2009-08-25 13:48:25 +02:00
Thomas Capricelli
602b13815f
merge both c methods lmder/lmder1 into one class LevenbergMarquardt with
...
two methods.
2009-08-25 13:40:45 +02:00
Thomas Capricelli
45442b8d41
some more work on Functors
2009-08-24 21:48:22 +02:00
Thomas Capricelli
15d2c3af90
playing with functors
2009-08-24 19:45:35 +02:00
Thomas Capricelli
6f567f10be
cleaning
2009-08-24 19:19:30 +02:00
Thomas Capricelli
4e62e29869
cleaning covar
2009-08-24 17:49:37 +02:00
Thomas Capricelli
17905c7399
eigenization of ei_covar()
2009-08-24 17:47:35 +02:00
Thomas Capricelli
92a5bb4539
clean debug stuff
2009-08-24 16:14:42 +02:00
Thomas Capricelli
e65a7c7c70
misc cleaning
2009-08-24 09:28:29 +02:00
Thomas Capricelli
950eb4a254
various cleaning and homogeneization
2009-08-24 08:28:31 +02:00
Thomas Capricelli
134dea76d3
beautify functors for lmdif, lmstr, hybrj, hybrd
2009-08-23 04:57:48 +02:00
Thomas Capricelli
acd757737a
beautify Functor for lmder : we now have f,df,debug methods
2009-08-23 04:39:22 +02:00
Thomas Capricelli
878f15b8a5
* use eigen object for callbacks for hybrd and lmdif
...
* use Functor instead of argument for ei_fdjac*()
2009-08-23 04:06:16 +02:00
Thomas Capricelli
8a27e774f8
use eigen objects for hybrj and lmstr
2009-08-23 03:14:42 +02:00
Thomas Capricelli
3251e12258
use eigen objects for the lmder callback
2009-08-23 03:02:03 +02:00
Thomas Capricelli
2727099906
remove redundant code, fix bounds in those loops that still come from
...
fortran
2009-08-23 02:32:08 +02:00
Thomas Capricelli
1225704753
we do not need/use the 'void *p' parameter
2009-08-23 01:59:20 +02:00
Thomas Capricelli
93fabbff5e
use blueNorm() instead of norm()
2009-08-22 07:05:10 +02:00
Thomas Capricelli
aa3a7c3303
raw import of covar() : this is the last one, and we now do not depend on
...
the cminpack library anymore.
2009-08-22 06:44:41 +02:00
Thomas Capricelli
16061a46db
Now that the main algorithms are imported into eigen, we import subroutines
...
used by those algorithms (aka "second level").
This is a row import : we copy/paste the files from cminpack and make
very few changes :
* template<Scalar> them (replace double)
* dpmpar() replaced by c++ standard equivalent
* abs/fabs/sqrt/min/max replaced by ei_* or std::*
* use eigen norms instead of enorm()
Important Notes:
* The use of stableNorm() was not enough in some cases, but using
blueNorm() instead fixed the problems (some tests gave bad results,
either in number of iterations or precision of the results)
* As a whole, the only test that changed is testNistMGH17() : it now takes
some few steps less to get the same result. So this is a small improvement.
After this commit, the only remaining dependency from the cminpack
static library is 'covar', only used from the tests.
2009-08-22 06:40:22 +02:00
Hauke Heibel
ab6eb6a1a4
Adaptions from .lazy() towards .noalias().
...
Added missing casts.
2009-08-31 17:29:37 +02:00
Thomas Capricelli
20480a5438
merging ei_lmdif() and lmdif_template()
2009-08-21 04:24:59 +02:00
Thomas Capricelli
2e3d17c3ce
be (hopefully) smarter with indices convention : we keep the c convention
...
(0->n-1) as much as possible, and only convert at borders with
fortran-expecting methods, that will eventually dissapear.
2009-08-21 04:16:37 +02:00
Thomas Capricelli
1715e2cb3b
merging ei_lmder and lmder_template into ei_lmder() which takes eigen
...
argument, but still uses f2c code inside.
2009-08-21 02:34:40 +02:00
Thomas Capricelli
9294d33a11
use references intead of pointers for njev/nfev
2009-08-21 00:23:26 +02:00
Thomas Capricelli
b09ebe01da
* porting lmdif1 to eigen
...
* qtf was missing in lmdif signature (this is an output of the method)
2009-08-20 22:59:09 +02:00
Thomas Capricelli
8d2f6ad7e1
iwa is not really an argument, but just an old fashioned 'work array' :
...
remove it from the eigen API
2009-08-20 22:46:38 +02:00
Thomas Capricelli
9a876806e1
use eigen stableNorm() instead of cminpack 'enorm'. The results are mostly
...
slightly better in tests (one test needs 15 iterations intead of 16, for
the same result). Some numerical results have improved slightly, too.
If one uses blueNorm() instead, an assert for 'overflow' is raised from
blueNorm()
2009-08-20 21:04:38 +02:00
Thomas Capricelli
6953cad81d
remove unneeded "Eigen::", we already 'use' Eigen namespace
2009-08-19 20:06:34 +02:00
Thomas Capricelli
369693aa1c
oops, forgot those ones
2009-08-19 20:02:49 +02:00
Thomas Capricelli
3093e92da5
machine_epsilon is now called epsilon in latest eigen
2009-08-19 19:53:08 +02:00
Thomas Capricelli
47ac354190
merge with the main dev branch
2009-08-19 19:46:37 +02:00
Thomas Capricelli
fb54cfb013
import main files from cminpack as *.h files:
...
* function names are changed by appending _template
* it uses basic templating : template<typename T>
* wrappers now use those versions instead of the ones from cminpack
* lot of external methods from cminpack are still used
* tests pass though they are unchanged (they use wrappers)
2009-08-19 18:38:45 +02:00
Thomas Capricelli
703198a1a6
wrapper for chkder() : this was the last wrapper missing
2009-08-19 18:32:37 +02:00
Gael Guennebaud
ef13c3e754
add normalize and normalized overloads in AlignedVector3
2009-08-16 11:51:46 +02:00
Thomas Capricelli
3f63d6f97f
fix BoxBOD in the first case : now all tests pass
2009-08-14 19:04:09 +02:00
Thomas Capricelli
3856c2d84d
oops, i missed one : real last difficult nist test : Eckerle4
2009-08-14 18:54:28 +02:00
Thomas Capricelli
93627fefcf
last 'hard' test from Nist : ratkowsky3
2009-08-14 18:31:04 +02:00
Thomas Capricelli
91f61f7679
fix bad urls
2009-08-14 17:48:04 +02:00
Thomas Capricelli
d8c671f475
yet another (difficult) Nist test : Thurber
2009-08-14 17:46:28 +02:00
Thomas Capricelli
e057d1ef47
tweak precision for Chwirut2 test
2009-08-14 17:25:39 +02:00
Thomas Capricelli
56127cfb1a
add yet another easy Nist test : Chwirut2
2009-08-14 17:21:31 +02:00
Thomas Capricelli
f7cd4c8923
cleaning : wa1 used in 'covar' needs not be the same as in lmder* and all.
...
it's just an old-fashioned way to re-use memory without allocation...
2009-08-13 16:29:17 +02:00
Jitse Niesen
f71f878bab
Add support for matrix exponential of floats and complex numbers.
2009-08-12 15:44:22 +01:00
Thomas Capricelli
7b922eb634
BoxBOD : oops.. shame on me, i did a mistake in the derivative.... now we need 16
...
iterations instead of 7693 ;-)
the first test still fails though.
2009-08-12 02:34:22 +02:00
Thomas Capricelli
fd307b8f3f
fix a bug in BoxBOD Nist test : we now get the actual value for 'start 2'
...
'start 1' still fails though :/
2009-08-12 02:27:44 +02:00
Thomas Capricelli
3c675609bf
add another Nist test of 'hard' difficutly : Bennett5
2009-08-12 02:13:04 +02:00
Thomas Capricelli
54d09a8122
add another Nist test of 'hard' difficutly : MGH09
2009-08-12 01:50:56 +02:00
Thomas Capricelli
5ac17b4680
add another Nist test of medium difficutly : MGH17
2009-08-11 20:24:02 +02:00
Thomas Capricelli
d1bc9144cb
wrapper for lmstr1 and lmstr + eigenization of calling tests
2009-08-10 17:37:27 +02:00
Thomas Capricelli
bb1204a145
wrapper for lmdif1 + eigenization of calling test
2009-08-10 17:16:43 +02:00
Thomas Capricelli
80372c18ee
wrapper for lmdif (+test call eigenization)
2009-08-10 16:54:53 +02:00
Thomas Capricelli
4a26baa718
wrapper for hybrj1
2009-08-10 16:32:45 +02:00
Thomas Capricelli
1d53ce8d48
wrapper for hybrj
2009-08-10 16:21:22 +02:00
Thomas Capricelli
120235deef
add another (actuallY) difficult NIST test : BoxBOD.
...
The first try fails, the second one passes, but with a very bad accuracy
(~4 digits only).
anyway, my aim is to check we do not change cminpack while portint, so i
keep this test.
2009-08-10 14:11:55 +02:00
Thomas Capricelli
bcfe874968
add another 'difficult'-rated NIST test, which passes
2009-08-10 13:47:18 +02:00
Thomas Capricelli
7d65bd42eb
fix testNistHahn1 : i had swapped x[] and y[].... :/
2009-08-10 13:46:43 +02:00
Thomas Capricelli
b71aa34946
a Nist test rated 'difficult', which passes.
2009-08-10 13:05:30 +02:00
Thomas Capricelli
9b1130b82a
another nist test with difficulty 'leverage', it passes.
2009-08-10 12:49:44 +02:00
Thomas Capricelli
7ecbbc9aa4
another nist test with difficulty 'leverage', this one passes
2009-08-10 12:34:51 +02:00
Thomas Capricelli
1045bc17f5
another nist test ('average' difficulty), which fails. It is disabled until
...
further notice.
2009-08-10 12:08:31 +02:00
Thomas Capricelli
c7a72958ba
add an easy test from the NIST set :
...
http://www.itl.nist.gov/div898/strd/nls/data/misra1a.shtml
2009-08-10 10:47:55 +02:00
Thomas Capricelli
ec2b9f90a3
hybrd : wrapper + eigenize test
2009-08-10 03:39:50 +02:00
Thomas Capricelli
50c192961c
eigenize lmder + some other small fixes
2009-08-09 05:07:59 +02:00
Thomas Capricelli
a6625f22d4
eigenize the test for lmder1, clean functor stuff.
...
(and check the tests still pass, of course, that's the whole point..)
2009-08-09 03:54:36 +02:00
Thomas Capricelli
ceeb023ff2
use template parameter Scalar instead of VectorType, fix a segfault.
2009-08-09 03:33:04 +02:00
Thomas Capricelli
7db4052749
eigenize the test a little more
2009-08-09 03:16:24 +02:00
Thomas Capricelli
f19eda7cf6
first test for a basic wrapper (and only wrapper!) for cminpack functions
2009-08-09 03:07:34 +02:00
Thomas Capricelli
2b9f110639
actually use eigen include file
2009-08-09 01:12:14 +02:00
Thomas Capricelli
b695113a81
Add all other file from cminpack/examples as tests.
...
Important : one test was failing because cminpack-1.0.2 does x[3]=1. on x
which is of size 3. Probably because fortran indices are shifted wrt to C
indices and someone forgot to fix this one.
This is correct in this commit and this is the only change I've done on files
from cminpack examples.
(i've also reported the bug to cminpack author)
2009-08-08 23:41:54 +02:00
Thomas Capricelli
d646d99366
Start of module "NonLinear". We start out of cminpack-1.0.2
...
(http://devernay.free.fr/hacks/cminpack.html )
The first test is adapted from the example/ directory.
Some stuff is hard coded for our initial tests.
2009-08-08 22:18:48 +02:00
Mark Borgerding
4d6b962ba4
added FindFFTW, but I don't think it's right yet
2009-06-10 22:16:32 -04:00
Mark Borgerding
1c54340174
more work on ei_fftw_impl
2009-05-31 15:44:57 -04:00
Mark Borgerding
03ed6f9bfb
refactored ei_kissfft_impl to maintain a cache of cpx fft plans
2009-05-25 23:06:49 -04:00
Mark Borgerding
210092d16c
changed name from simple_fft_traits to ei_kissfft_impl
2009-05-25 20:35:24 -04:00
Mark Borgerding
326ea77390
added FFT inverse complex-to-scalar interface (not yet optimized)
2009-05-23 22:50:07 -04:00