Commit Graph

659 Commits

Author SHA1 Message Date
Gael Guennebaud
53fa851724 move sparse solvers from unsupported/ to main Eigen/ and remove the "not stable yet" warning 2011-11-12 14:11:27 +01:00
Gael Guennebaud
a997dacc67 mark deprecated sparse solvers as so. 2011-10-24 09:51:02 +02:00
Gael Guennebaud
5d43b4049d factorize solving with guess 2011-10-24 09:33:24 +02:00
Gael Guennebaud
70df09b76d move DynamicSparseMatrix to SparseExtra 2011-10-24 09:31:33 +02:00
Gael Guennebaud
3fce43a704 add a basic ILU preconditioner 2011-10-11 20:41:43 +02:00
Gael Guennebaud
15cb4f5b09 extend BiCGSTAB to arbitrary rhs 2011-10-11 19:53:18 +02:00
Gael Guennebaud
4f237f035c extend SimplicialCholesky for sparse rhs, and add determinant 2011-10-11 11:31:12 +02:00
Gael Guennebaud
5dc8458293 extend CG for multiple right hand sides 2011-10-11 11:29:50 +02:00
Gael Guennebaud
e97879857b DiagonalPrecond: fix potential segfault in case the diagonal contains explciit zeros 2011-10-09 22:17:37 +02:00
Gael Guennebaud
2fc1b58cd2 split SimplicialCholesky into SimplicialLLt and SimplicialLDLt classes and add specific factor access functions 2011-10-09 21:45:55 +02:00
Gael Guennebaud
683ea3c93f fix superLU when the salver is called multiple times 2011-09-27 18:30:53 +02:00
Gael Guennebaud
b2988375e8 fix a couple of issues in SuperLU support (memory and determinant) 2011-09-24 14:20:31 +02:00
Gael Guennebaud
6799fabba9 port umfpack support to new API 2011-09-24 14:19:39 +02:00
Gael Guennebaud
d8ae978b65 fix some compilation issues 2011-09-23 16:28:26 +02:00
Gael Guennebaud
823b2105b6 fix atan2 when tmp4==0 2011-09-22 17:34:25 +02:00
Gael Guennebaud
b0adbfbae7 BiCGSTAB does not like starting from 0... 2011-09-21 18:08:08 +02:00
Gael Guennebaud
1d796acb05 fix status after initialization 2011-09-20 18:45:50 +02:00
Chen-Pang He
16b13596a6 mainly enhance MatrixLogarithm's performance for RealScalar != double 2011-09-17 21:00:55 +08:00
Gael Guennebaud
9053729d68 add a bi conjugate gradient stabilized solver 2011-09-17 10:54:14 +02:00
Gael Guennebaud
f4122e9f94 add tan, acos, asin 2011-09-14 08:35:54 +02:00
Jitse Niesen
7898281b2b Put docs for unsupported modules in right place.
Doxygen was confused by the unsupported modules being partly in the doc/
directly, instead of completely in unsupported/doc/ . Thus, the link to
the unsupported modules on the server did not work (I think this manifested
itself after doxygen was upgraded on the server).
2011-09-07 04:19:12 +01:00
Jitse Niesen
b38d3b360e Define log2() on FreeBSD (fixes bug #343). 2011-09-06 06:52:04 +01:00
Gael Guennebaud
f1d98aad1b add atan2 support in AutoDiff and remove superfluous std:: specializations 2011-09-05 17:47:58 +02:00
Jitse Niesen
a2feb6f3c7 Add defensive assert to MatrixExponential, 2011-09-03 04:58:06 +01:00
Chen-Pang He
dd598ef8ce enhance efficacy via avoiding exception handling 2011-09-02 00:15:02 +08:00
Jitse Niesen
7ee084f82f Leverage triangular square root in matrix log. 2011-08-25 07:42:32 +01:00
Jitse Niesen
c01ed935dd Split code for (quasi)triangular matrices from MatrixSquareRoot.
This way, (quasi)triangular matrices can avoid the costly Schur decomposition.
2011-08-25 07:42:21 +01:00
Chen-Pang He
8ddd1e390b fix: <ctime> is necessary for srand(time(NULL)) 2011-08-24 18:26:38 +08:00
Jitse Niesen
9e667e28f5 Add coverage for long double to matrix_exponential test. 2011-08-21 00:20:29 +01:00
Chen-Pang He
6d7a32231d add compatibility with long double 2011-08-20 12:33:51 +08:00
Gael Guennebaud
ea4a1960f0 mv the mpreal copy in its own folder 2011-08-19 15:08:29 +02:00
Gael Guennebaud
42e2578ef9 the min/max macros to detect unprotected min/max were undefined by some std header,
so let's declare them after and do the respective fixes ;)
2011-08-19 14:18:05 +02:00
Gael Guennebaud
ca7d3dca79 fix linking issue 2011-08-12 22:38:53 +02:00
Thomas Capricelli
a660e6425c fix a bug where some rotations were not initialized
They actually were in the original minpack code, this is a bug introduced
by our migration.
Reported on #322 and
http://forum.kde.org/viewtopic.php?f=74&t=96197#p201158
2011-08-04 05:02:04 +02:00
Thomas Capricelli
5748d3c96f wa2 was computed twice because of a confustion between changesets
746c787a76
 and ee0e39284c
.
Reported on forum:
http://forum.kde.org/viewtopic.php?f=74&t=96197#p201158
2011-08-04 03:27:01 +02:00
Jitse Niesen
b12522f696 Remove unnecessary template keywords (breaks compilation under MSVC).
Thanks to Hauke for finding this.
2011-07-28 13:55:56 +01:00
Gael Guennebaud
3a2cabc275 compilation fix with conjugate_gradient_solve_retval_with_guess 2011-07-26 14:43:20 +02:00
Gael Guennebaud
51f706b916 add the possibility to configure the preconditioner 2011-07-26 09:22:18 +02:00
Gael Guennebaud
66fa6f39a2 add a naive IdentityPreconditioner 2011-07-26 09:17:18 +02:00
Gael Guennebaud
80b1d1371d add a conjugate gradient solver 2011-07-26 09:04:10 +02:00
Gael Guennebaud
22bff949c8 protect calls to min and max with parentheses to make Eigen compatible with default windows.h
(transplanted from 49b6e9143e
)
2011-07-21 11:19:36 +02:00
Thomas Capricelli
08074843ac fix few warnings reported by clang 2011-07-07 22:20:04 +02:00
Gael Guennebaud
c52268c649 suppress polluting EMPTY macro defined by SuperLU 2011-07-07 16:42:51 +02:00
Gael Guennebaud
2489c81562 add new interface to SuperLU 2011-07-07 14:19:42 +02:00
Gael Guennebaud
3ecf7e8f6e add a KroneckerProduct module (unsupported) from Kolja Brix and Andreas Platen materials. 2011-06-22 14:39:11 +02:00
Thomas Capricelli
cf04a7c682 fix typo in constant name 2011-06-12 23:54:28 +02:00
Jitse Niesen
8c8ab9ae10 Implement matrix logarithm + test + docs.
Currently, test matrix_function_1 fails due to bug #288.
2011-06-07 14:44:43 +01:00
Jitse Niesen
a6d42e28fe Decouple MatrixFunction and MatrixFunctionAtomic
in preparation for implementation of matrix log.
2011-06-07 14:40:27 +01:00
Jitse Niesen
86ca35ccff Fix and test MatrixSquareRoot for 1-by-1 matrices. 2011-06-07 14:32:16 +01:00
Gael Guennebaud
421ece38e1 Sparse: fix long int as index type in simplicial cholesky and other decompositions 2011-06-06 10:17:28 +02:00
Gael Guennebaud
b495203310 update URL 2011-05-31 19:07:15 +02:00
Gael Guennebaud
5830f90983 add read/write routines for sparse matrices in the Market format 2011-05-31 18:58:04 +02:00
Jitse Niesen
d23845c4cc Fix typo ('using namespace' instead of 'using'). 2011-05-26 09:52:36 +01:00
Gael Guennebaud
87ac09daa8 Simplify the use of custom scalar types, the rule is to never directly call a standard math function using std:: but rather put a using std::foo before and simply call foo:
using std::max;
max(a,b);
2011-05-25 08:41:45 +02:00
Gael Guennebaud
d4fd298fbb Autodiff: fix scalr - active_scalar 2011-05-14 22:38:41 +02:00
Gael Guennebaud
a34a216e82 AutoDiff: add one missing operator- version 2011-05-12 23:40:19 +02:00
Gael Guennebaud
3de2f4b75a AutoDiff: fix most of bug #234 (missing operators, used old internal math function interface, etc) 2011-05-12 23:36:33 +02:00
Gael Guennebaud
ae3b6cc324 AutoDiff: fix unary operator- 2011-05-12 22:27:51 +02:00
Jitse Niesen
0c463a21c4 Forgot to 'hg add' example file in last commit. 2011-05-10 09:59:58 +01:00
Jitse Niesen
d7e3c949be Implement and document MatrixBase::sqrt(). 2011-05-09 22:20:20 +01:00
Jitse Niesen
dac4bb640a Fix compilation error under GCC 4.5.
That version is stricter in forcing function prototype and definition
to match.
2011-05-09 13:57:06 +01:00
Jitse Niesen
6e1573f66a Implement square root for real matrices via Schur. 2011-05-08 22:18:37 +01:00
Jitse Niesen
6b4e215710 Implement matrix square root for complex matrices.
I hope to implement the real case soon, but it's a bit more
complicated due to the 2-by-2 blocks in the real Schur decomposition.
2011-05-07 22:57:46 +01:00
Thomas Capricelli
883219041f better fix for gcc 4.6.0 / ptrdiff_t, as suggested by Benoit 2011-05-05 18:48:18 +02:00
Thomas Capricelli
a18a1be42d Fix compilation with gcc-4.6.0, patch provided by Anton Gladky <gladky.anton@gmail.com>,
working on debian packaging.
2011-05-05 00:44:24 +02:00
Gael Guennebaud
535a61ede8 port sparse LLT/LDLT to new stack allocation API 2011-03-20 17:10:43 +01:00
Gael Guennebaud
951e238430 now fixing "unsupported" "legacy" code... 2011-03-01 16:45:46 +01:00
Gael Guennebaud
4fbd78d993 fix compilation with gcc 3.4 2011-02-25 09:02:15 +01:00
Benoit Jacob
d8e97aee89 shut up stupid ICC warnings 2011-02-22 09:31:22 -05:00
Gael Guennebaud
434817164e fix umfpack with complexes 2011-02-18 18:07:59 +01:00
Gael Guennebaud
3345ea0ddd clean a bit SuperLU declarations 2011-02-18 10:23:32 +01:00
Gael Guennebaud
a53a7d6e6a use C linkage for umfpack (might fix some linking issues) 2011-02-17 18:19:28 +01:00
Gael Guennebaud
03d86ea736 fix intallation of unsupported modules 2011-02-16 17:59:35 +01:00
Gael Guennebaud
a1d7e9051e fix bug #184 (warning) 2011-02-14 15:41:00 +01:00
Thomas Capricelli
0b555a4a3d fix misc warnings 2011-02-04 13:55:12 +01:00
Gael Guennebaud
c478e0039e disable broken determinant for complexes and SuperLU 2011-01-28 16:30:21 +01:00
Gael Guennebaud
6ec660ca7e fix crash in autodiff 2011-01-28 15:30:33 +01:00
Gael Guennebaud
837f1ae59c fix compilation with old gcc 2011-01-28 11:23:02 +01:00
Gael Guennebaud
f5d0f115b4 EigenSolver is now in the Eigenvalues modules, not QR !
: Enter commit message.  Lines beginning with 'HG:' are removed.
2011-01-27 13:56:03 +01:00
Gael Guennebaud
255f2a1379 fix various compilations issues 2011-01-27 13:51:39 +01:00
Gael Guennebaud
5f03cbd44f fix many missing const in return types 2011-01-27 12:12:24 +01:00
Gael Guennebaud
1eb85b4cf1 allow the possibility to automatically call or not the ctors on a per scalar type basis, and disable automatic initialization of std::complex<> 2011-01-26 17:56:49 +01:00
Romain Bossart
4abb772b52 Fix bug #38
* address of temporaries were passed to umfpack_zi_* functions. It is ok with g++-4.4 or 4.5, but not with the -std=c++0x in both versions. This patch makes it work for c++98 and c++0x versions
2011-01-07 10:27:22 +01:00
Gael Guennebaud
e7318148b5 an attempt to fix a compilation issue with -std=c++0x 2011-01-01 11:40:30 +01:00
Benoit Jacob
75b7d98665 bug #54 - really fix const correctness except in Sparse 2010-12-22 17:45:37 -05:00
Gael Guennebaud
6a9a6bbc78 fix warning 2010-12-13 10:18:33 +01:00
Jitse Niesen
9cd4f67e7f Specify root namespace for fftw_plan from FFTW3 library.
After changeset 4716040703
 (the ei_ --> internal:: change), there are two symbols
called fftw_plan, one from the FFTW3 library and one from Eigen.
2010-12-12 11:44:30 +00:00
Gael Guennebaud
3e99356b59 clean a bit AMD and SimplicialCholesky and add support for partly stored selfadjoint matrices 2010-11-18 10:30:52 +01:00
Gael Guennebaud
15e8ad686c add a minimum degree ordering routine based on CSparse (LGPL) and a new built-in sparse cholesky decomposition 2010-11-04 09:58:22 +01:00
Gael Guennebaud
241e5ee3e7 add the possibility to solve for sparse rhs with Cholmod 2010-10-27 14:31:23 +02:00
Hauke Heibel
3efff8c69e Merge 2010-10-26 16:48:12 +02:00
Gael Guennebaud
f4a6a8e295 rm the useless SparseSolverBase class and provide more compile time traits 2010-10-26 16:47:47 +02:00
Hauke Heibel
c738cd56eb Renamed cleantype to remove_all since it is close to remove_{const|pointer|reference}. 2010-10-26 16:47:01 +02:00
Gael Guennebaud
2fbb9932b0 fix compilation (bad internal:: stuff) 2010-10-26 16:38:51 +02:00
Gael Guennebaud
5e95ee6662 fix compilation and unit test of adolc 2010-10-26 16:26:20 +02:00
Gael Guennebaud
92044fcc2b fix bug #94: add #include src/misc/Solve.h in SparseExtra 2010-10-26 15:51:06 +02:00
Gael Guennebaud
666c16cf63 add new API for Cholmod preserving the legacy one for now 2010-10-26 15:48:33 +02:00
Hauke Heibel
7bc8e3ac09 Initial fixes for bug #85.
Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const.
Changed boolean type 'ret' member to 'value'.
Changed 'ret' members refering to types to 'type'.
Adapted all code occurences.
2010-10-25 22:13:49 +02:00
Benoit Jacob
fdaa3f311a adapt mpreal to eigen3 mathfunctions system 2010-10-25 10:15:22 -04:00
Benoit Jacob
4716040703 bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
Benoit Jacob
e259f71477 rename PlanarRotation -> JacobiRotation 2010-10-19 21:56:26 -04:00
Gael Guennebaud
0308f64515 add support for uniform of double 2010-10-12 11:04:19 +02:00
Gael Guennebaud
20be8ad91e add support for uniforms 2010-10-12 10:39:28 +02:00
Gael Guennebaud
d9c131de5b remove the Taucs backend : Taucs is not maintained anymore and the backend was crap anyway 2010-10-06 17:42:17 +02:00
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
Gael Guennebaud
82e4a16759 remove superfluous #ifdef 2010-09-15 15:24:21 +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
Gael Guennebaud
6a370f50c7 MPRealSupport was missing 2010-07-15 20:45:45 +02:00
Gael Guennebaud
87e89fea4e add a support module for MPFR C++ with basic unit testing 2010-07-15 16:29:04 +02:00
Jitse Niesen
49747fa4a9 Various documentation improvements.
* Add short documentation for Array class
* Put all classes explicitly in Core module (where applicable)
* Section on Modules in Quick Reference Guide
* Put Page 7 after Page 6 in Contents :)
2010-07-06 13:10:08 +01:00
Jens Mueller
5322b670c8 Add all unsupported modules and fix header file paths 2010-07-06 10:25:52 +02:00
Gael Guennebaud
21d940fbe4 fix unsupported module doc 2010-06-30 13:19:54 +02:00
Benoit Jacob
e5de9e5226 Remove \nonstable yet. The stability rules for Eigen3 are much simpler:
- all what's not in unsupported/ is considered stable API
    (except internal stuff e.g. expression templates).
2010-06-29 10:10:47 -04:00
Gael Guennebaud
28e64b0da3 email change 2010-06-24 23:21:58 +02:00
Hauke Heibel
bb46a45340 Finally fixed the matrix function/exponential warning.
Index fixes.
2010-06-20 23:13:24 +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
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