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
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
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
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
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
5f03cbd44f
fix many missing const in return types
2011-01-27 12:12:24 +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
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
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
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
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
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
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
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
Thomas Capricelli
eb3a3351cc
misc cleaning
2010-02-28 02:51:35 +01: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
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
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
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
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
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
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
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