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
01622e9855
use machine precision from eigen instead of the one from cminpack. The test
...
pass though they would not if using a value of 2.220e-16 (the real value
for 'double' is 2.22044604926e-16). How sensitive those tests are :)
2009-08-19 19:56:51 +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
Jitse Niesen
59a0c4a0d2
Add new unsupported modules to doc/unsupported_modules.dox
2009-08-18 15:30:38 +01:00
Jitse Niesen
7262716b78
Correct syntax error in doxygen comment.
2009-08-18 11:09:20 +01: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
953c37f8e5
i wonder how useful this really is, but others do this way. Probably
...
related to doxygen.
2009-08-09 05:14:45 +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
5e4cf6cae1
oops.. use the template paramater instead of hard coding 'double'
2009-08-09 03:34:32 +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
fb9a15e451
added copyright notice
2009-06-17 00:09:18 -04:00
Mark Borgerding
e577c70e49
candidate header for Eigen/Complex
2009-06-16 23:54:58 -04:00
Mark Borgerding
218711e18b
example file
2009-06-10 23:25:27 -04: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
1fd6dfe428
added ei_fftw_impl
2009-05-30 17:55:47 -04:00
Mark Borgerding
f13e000b45
various comment changes
2009-05-27 21:32:42 -04:00
Mark Borgerding
09b4733255
added real-optimized inverse FFT (NFFT must be multiple of 4)
2009-05-25 23:52:21 -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
Mark Borgerding
3047988172
scalar forward FFT optimized for even size, converts to cpx for odd
2009-05-23 12:50:07 -04:00
Mark Borgerding
9c0fcd0f62
started real optimization, added benchmark for FFT
2009-05-23 10:09:48 -04:00
Mark Borgerding
8b4afe3deb
added non-optimized real forward fft (no inverse yet)
2009-05-22 22:37:59 -04:00
Benoit Jacob
6347b1db5b
remove sentence "Eigen itself is part of the KDE project."
...
it never made very precise sense. but now does it still make any?
2009-05-22 20:25:33 +02:00
Mark Borgerding
68cad98bc9
indent level change
2009-05-19 00:34:38 -04:00
Mark Borgerding
be1b2ad4ec
removed unused code
2009-05-19 00:26:19 -04:00
Mark Borgerding
92ca9fc032
initial pass of FFT module -- includes complex 1-d case only
2009-05-19 00:21:04 -04:00
Jitse Niesen
72f66d717d
Evaluate argument of matrix exponential only once.
2009-05-18 23:14:53 +01:00
Gael Guennebaud
159c99a288
fix adolc unit test for dynamic sizes
2009-05-12 07:38:46 +00:00
Benoit Jacob
eac79b6d2e
CREDIT Hauke Heibel, fix MSVC warnings
2009-05-09 03:41:17 +00:00
Benoit Jacob
3b79d99f71
*make coeff() return a const reference (required with the recent change with CoeffReturnType)
...
*fix a unused variable warning
2009-05-09 03:39:31 +00:00
Benoit Jacob
159ab4a043
CREDIT Hauke Heibel, windows compatibility fixes in MatrixExponential
2009-05-07 18:11:49 +00:00
Gael Guennebaud
7080282a6d
forgot a svn add CMakeLists.txt
2009-05-07 14:49:56 +00:00
Benoit Jacob
834eb5bfc8
new unsupported module by Jitse Niesen: matrix exponential
2009-05-05 20:46:55 +00:00
Gael Guennebaud
c25fc50d54
add an AlignedVector3 module suitable for vectorization of 3D vectors
2009-05-03 17:19:19 +00:00
Gael Guennebaud
e201091d89
remove unsupported/doc from make's "all" target
2009-04-23 12:22:10 +00:00
Gael Guennebaud
acb32c69d4
* update BVH to explicitely use aligned_allocator
...
* fix warning in StdVector
2009-04-23 11:33:36 +00:00
Christian Ehrlicher
b14d1139df
not compilable with msvc :(
2009-04-15 17:13:23 +00:00
Gael Guennebaud
c744960984
patch from Ilya Baran: This small patch fixes a potential initialization
...
bug in BVAlgorithms and slightly corrects the BVH doc.
2009-04-15 05:54:07 +00:00
Benoit Jacob
2bb1c9e8dc
finally commit Rohit's work as the start of a new (currently
...
unsupported) module, MoreVectorization.
CCMAIL:rpg.314@gmail.com
2009-04-14 13:15:53 +00:00
Gael Guennebaud
ea41a18b80
clean asm comments
2009-04-09 21:29:31 +00:00
Jos van den Oever
5a628567b0
Compile fix.
2009-04-05 14:26:47 +00:00
Gael Guennebaud
0170eb0dbe
add an auto-diff module in unsupported. it is similar to adolc's forward
...
mode but the advantage of using Eigen's expression template to compute
the derivatives (unless you nest an AutoDiffScalar into an Eigen's
matrix).
2009-04-01 14:43:37 +00:00
Andrew Coles
64fbd93cd9
As values may be used uninitialised, they have now been given
...
sensible defaults; or, in other words, if worse comes to worst,
we'll get a guaranteed segfault rather than a heisenburg.
2009-03-23 21:15:33 +00:00
Gael Guennebaud
4bb5221d22
Add BVH module in unsupported (patch from Ilya Baran)
...
(I thought I committed it a week ago but it seems the command failed)
2009-03-18 20:06:06 +00:00
Gael Guennebaud
40774c625e
add a proof of concept autodiff jacobian helper class based on adolc
...
with unit test and FindAdolc cmake module
2009-02-27 16:19:13 +00:00
Laurent Montel
2d6d14a3d3
Add COMPONENT Devel
2009-02-23 07:50:56 +00:00
Gael Guennebaud
8f83b37b2a
fix install of IterativeSolvers module
2009-02-18 13:11:29 +00:00
Gael Guennebaud
40ad661183
added an experimental IterativeSolvers module (currently in unsupported)
...
with a constrained conjugate gradient algorithm adapted from GMM++/ITL.
This algorithm is needed for Step.
2009-02-10 10:02:41 +00:00
Gael Guennebaud
dc97079905
add optimization flag for MSVC and heavy tests
...
remove unsupported namespace
2009-02-05 22:13:50 +00:00
Gael Guennebaud
a4487ef198
add snippet for sub/super diagonal
...
fix a few doc issues
2009-02-05 21:19:40 +00:00
Gael Guennebaud
5e6707d7f7
forgot to add EigenTesting.cmake file
2009-02-04 17:11:04 +00:00
Gael Guennebaud
c26dc9ab1b
nothing interesting to see
2009-02-04 16:22:56 +00:00
Gael Guennebaud
82e0cbbac5
extend unsupported/README.txt file
2009-02-04 15:44:59 +00:00
Gael Guennebaud
95db32fcdc
setup the unsupported directory structure.
...
The unsupported module documentation is automatically generated in:
build/doc/unsupported/
with bidirectional cross references.
I leave a class Foo in AdolcForward module to illustrate the
cross-reference behavior. I will remove it in the next commit.
2009-02-04 15:37:00 +00:00
Gael Guennebaud
44a527dfa5
* classify and sort the doxygen "related pages"
...
by tweaking the filename and adding 2 categories:
Troubleshooting and Advanced
* use the EXCLUDE_SYMBOLS to clean the class list
(insteaded of a homemade bash script)
* remove the broken "exemple list"
* re-structure the unsupported directory as mentionned in the ML and
integrate the doc as follow:
- snippets of the unsupported directory are directly imported from the
main snippets/CMakefile.txt (no need to duplicate code)
- add a top level "Unsupported modules" group
- unsupported modules have to defined their own sub group and nest it
using \ingroup Unsupported_modules
- then a pair of //@{ //@} will put everything in the submodule
- this is just a proposal !
2009-02-04 09:44:44 +00:00
Gael Guennebaud
6c5868cc99
add a short unsupported/readme file
2009-02-03 09:02:55 +00:00
Gael Guennebaud
42fa03948c
add unsupported/ directory with a first contribution from myself:
...
a header file providing support for adolc's adouble type in forward
mode. (adolc is an automatic differentiation library)
2009-02-03 08:34:09 +00:00