Hauke Heibel
e402d34407
More Index realted warnings.
2010-06-20 15:52:34 +02:00
Hauke Heibel
7548708848
Silence index warnings in triangular unit test.
...
Silence index warnings in FFT module.
2010-06-20 14:00:14 +02:00
Hauke Heibel
9a6967d9ba
Attempt to fix MatrixExponential/Function related warnings.
2010-06-20 13:17:57 +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
Hauke Heibel
7958797648
Ups, fixed a little ugly bug.
2010-06-15 12:37:54 +02:00
Hauke Heibel
e5aa6a466b
Fixed 64bit/Index related warnings in the matrix functions module.
2010-06-15 09:57:41 +02:00
Benoit Jacob
d788627b54
rename:
...
EIGEN_SIZE_MIN ---> EIGEN_SIZE_MIN_PREFER_DYNAMIC
EIGEN_MAXSIZE_MIN ---> EIGEN_SIZE_MIN_PREFER_FIXED
and make sure to use the latter in products xprs to determine the inner size.
2010-06-14 09:05:08 -04:00
Benoit Jacob
d72d538747
merge my Dynamic -> -1 change
2010-06-11 08:04:06 -04:00
Benoit Jacob
bdd7c6c88a
change the value of Dynamic to -1, since the index type is now configurable.
...
remove EIGEN_ENUM_MIN/MAX, implement new macros instead
2010-06-11 07:56:50 -04:00
Hauke Heibel
cedea2aba4
Fixed warnings regarding missing assignment operator.
2010-06-11 07:59:59 +02:00
Gael Guennebaud
d2779a1a8e
fix warning with gcc 4.3
2010-06-10 10:59:06 +02: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
e277586958
Complete rework of global math functions and NumTraits.
...
* Now completely generic so all standard integer types (like char...) are supported.
** add unit test for that (integer_types).
* NumTraits does no longer inherit numeric_limits
* All math functions are now templated
* Better guard (static asserts) against using certain math functions on integer types.
2010-04-28 18:51:38 -04:00
Benoit Jacob
ce09b4ddfc
compile
2010-04-25 17:10:28 -04:00
Benoit Jacob
58e7297859
* remove class DenseDirectAccessBase
...
* remove member XprBase typedefs, use ei_dense_xpr_base
* remove member _HasDirectAccess typedefs, use ei_has_direct_access
2010-04-23 10:27:15 -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
Gael Guennebaud
0326a51f89
fix use of uninitialzed calues
2010-04-17 05:23:23 +02:00
Benoit Jacob
0ab431d7b8
* merge with mainline
...
* adapt Eigenvalues module to the new rule that the RowMajorBit must have the proper value for vectors
* Fix RowMajorBit in ei_traits<ProductBase>
* Fix vectorizability logic in CoeffBasedProduct
2010-04-16 11:25:50 -04:00
Benoit Jacob
ff6a46105d
* Refactoring of the class hierarchy: introduction of DenseDirectAccessBase, removal of extra _Base/_Options template parameters.
...
* Introduction of strides-at-compile-time so for example the optimized code really knows when it needs to evaluate to a temporary
* StorageKind / XprKind
* Quaternion::setFromTwoVectors: use JacobiSVD instead of SVD
* ComplexSchur: support the 1x1 case
2010-04-16 10:13:32 -04:00
Thomas Capricelli
0a5c2d8a54
fix misc warnings, more importantly when NDEBUG is defined, assert() is a
...
nop.
2010-03-27 18:58:29 +01:00
Manuel Yguel
eb0c921a58
Fix some doc typos.
2010-03-25 16:54:00 +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
307c428253
Move documentation of MatrixBase methods in MatrixFunctions to module page.
...
I think that because MatrixFunctions is in unsupported/ and MatrixBase is
not, doxygen does not include the MatrixBase methods defined and documented
in the MatrixFunctions module with the other MatrixBase methods. This is a
kludge, but at least the documentation is not lost.
2010-03-22 13:58:19 +00: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
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
Thomas Capricelli
eb3a3351cc
misc cleaning
2010-02-28 02:51:35 +01: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
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
Gael Guennebaud
48f5980669
fix compilation (cwise and epsilon)
2010-02-11 09:24:29 +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
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
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
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
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
Hauke Heibel
84551d067e
merge
2009-12-02 11:08:44 +01: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
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
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
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
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
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
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
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
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
d912034565
fdjac2 is not needed anymore
2009-09-28 03:49:23 +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
a453298322
cleaning doc
2009-09-28 02:42:19 +02:00
Thomas Capricelli
de942a44c2
default argument for _jac in functor operator() : this way, we can use
...
AutoDiffJacobian::operator()(x,value) exactly as the original functor
2009-09-28 01:28:48 +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
b1637df4f4
update URL for adol-c
2009-09-27 01:56:50 +02:00
Gael Guennebaud
432fcefcb1
fix warning with gcc 4.2
2009-09-15 11:27:31 +02:00
Thomas Capricelli
7a8ec4ba26
cleaning
2009-09-15 04:17:11 +02:00
Thomas Capricelli
6d8baa757e
fix indentation (and only that)
2009-09-14 23:47:44 +02:00
Thomas Capricelli
ab88ba6f7f
provide some default values for important results. So that we can read them
...
even before *Init() and do no get random values.
2009-09-13 23:55:08 +02:00
Thomas Capricelli
8c3f7d8e94
cleaning
2009-09-13 01:44:34 +02:00
Thomas Capricelli
8b84c3733a
functors need not be const
2009-09-11 20:50:01 +02:00
Jitse Niesen
9f14d72927
Remove no-op statement in AlignedVector3.
2009-09-10 09:22:06 +01:00
Thomas Capricelli
72746838ad
merge with tip
2009-09-10 02:37:08 +02:00
Jitse Niesen
2a6db40f10
Re-factor matrix exponential.
...
Put all routines in a class. I think this is a cleaner design.
2009-09-08 14:51:34 +01:00
Thomas Capricelli
e3db42611b
fix warning about unused variable
2009-08-29 02:48:44 +02:00
Thomas Capricelli
c990938415
eigenization of fcn_chkder + bugfix
2009-08-29 02:46:19 +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
c1be96967e
remove printfs, they are of no use and may prevent compilation
2009-08-26 01:09:23 +02:00
Thomas Capricelli
6de3f5f0e7
cleaning
2009-08-25 23:47:22 +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
a2abb4afb6
cleaning
2009-08-25 23:26:36 +02:00
Thomas Capricelli
baec4f39ab
reduce local variables so that we can split algorithms
2009-08-25 22:49:05 +02:00
Thomas Capricelli
be368c33bb
cleaning
2009-08-25 22:15:09 +02:00
Thomas Capricelli
470ea55834
put nfev/njev as internal variables as well
2009-08-25 22:13:08 +02:00
Thomas Capricelli
41b6ea81db
oops... fixing return values, some copy/paste was done far too quickly
2009-08-25 22:06:58 +02:00
Thomas Capricelli
3bca4bba87
if mode==2, the user is supposed to supply diag: do some basic check.
2009-08-25 22:02:19 +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
d13bcdc891
those are actually bools
2009-08-25 20:01:30 +02:00
Thomas Capricelli
84f2c451e5
cleaning
2009-08-25 19:57:42 +02:00
Thomas Capricelli
d38d4709bc
use an enum for status reporting
2009-08-25 19:48:53 +02:00
Thomas Capricelli
d59cc0ad82
merge files
2009-08-25 17:25:56 +02:00
Thomas Capricelli
493c72ac38
rename files
2009-08-25 17:21:16 +02:00
Thomas Capricelli
858acfcc64
remove the boring, old-school nprint option, we'll have a dedicated
...
method for 'one iteration' anyway.
2009-08-25 17:11:14 +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
38fc6c8553
cleaning
2009-08-25 14:28:19 +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
86cb9364c9
clean fortran stuff in fdjac*
2009-08-24 21:53:08 +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
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
f69869c42a
covar : cleaning, removing goto's
2009-08-24 16:49:38 +02:00
Thomas Capricelli
312ab1abb3
further cleaning/ goto removing
2009-08-24 16:39:49 +02:00
Thomas Capricelli
c6d7da6edc
cleaning some more
2009-08-24 16:08:13 +02:00
Thomas Capricelli
63071ac968
cleaning, removing goto's, uniformization (try to reduce diff between
...
hybr[dj].h or lm[der,dif,str].h as much as possible), for future merging.
2009-08-24 16:05:57 +02:00
Thomas Capricelli
91a2145cb3
clean, remove goto's
2009-08-24 15:32:06 +02:00
Thomas Capricelli
d4968cd059
cleaning, fixing most goto's
2009-08-24 15:13:12 +02:00
Thomas Capricelli
e65a7c7c70
misc cleaning
2009-08-24 09:28:29 +02:00
Thomas Capricelli
6e41f15fea
use a local variable for qrfac
2009-08-24 09:13:06 +02:00
Thomas Capricelli
88f5d06b08
move ipvt/fortran fixing deeper
2009-08-24 08:45:06 +02:00
Thomas Capricelli
950eb4a254
various cleaning and homogeneization
2009-08-24 08:28:31 +02:00
Thomas Capricelli
930651ff9a
dogleg, lmpar : use more eigen features
2009-08-23 21:52:39 +02:00
Thomas Capricelli
4958c53bfb
trivial fixes
2009-08-23 21:47:55 +02:00
Thomas Capricelli
5e8dee7a19
eigenize dogleg()
2009-08-23 21:39:47 +02:00
Thomas Capricelli
f793dbe45c
only indentation fixes (this eases porting)
2009-08-23 21:06:57 +02:00
Thomas Capricelli
feb5af3ede
porting lmpar() to eigen : both api and some of the code
2009-08-23 21:04:55 +02:00
Thomas Capricelli
9a8c5cbd2c
misc cleaning
2009-08-23 06:16:05 +02:00
Thomas Capricelli
264e61932c
cleaning fdjac*()
2009-08-23 06:04:06 +02:00
Thomas Capricelli
f01332043b
only indentation
2009-08-23 05:56:12 +02:00
Thomas Capricelli
8b9b671e83
some eigenization in main algorithms
2009-08-23 05:55:43 +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
f2fcbb0207
use eigen objects for ei_fdjac*(), this is a prerequisite before porting
...
hybrd/lmdif..
2009-08-23 03:54:40 +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
1225704753
we do not need/use the 'void *p' parameter
2009-08-23 01:59:20 +02:00
Thomas Capricelli
a3e8a14e3a
forgot to clean this one
2009-08-22 07:40:43 +02:00
Thomas Capricelli
c5218c7d38
ei_lmpar : use a reference for the parameter
2009-08-22 07:37:23 +02:00
Thomas Capricelli
b3f8d02df4
use const for machine constants
2009-08-22 07:31:14 +02:00
Thomas Capricelli
bb6ffafdb9
keep on cleaning f2c mess
2009-08-22 07:27:17 +02:00
Thomas Capricelli
a35586504e
cleaning f2c mess / trivial stuff
2009-08-22 07:14:17 +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