186 Commits

Author SHA1 Message Date
Chen-Pang He
446d14f6ad Implement matrix power-matrix product again 2012-09-22 03:26:00 +08:00
Chen-Pang He
87afd99433 Enable saving intermidiate (Schur decomposition) but disable unstable specialization for matrix power-matrix product. 2012-09-21 23:24:28 +08:00
Chen-Pang He
d5d99dd1f0 Optimize matrix functions: m_fT is triangular and trmm is faster than gemm 2012-09-16 14:42:42 +08:00
Chen-Pang He
d23134e4a7 Avoid inefficient 2x2 LU. Move atanh to internal for maintainability. 2012-08-30 23:40:30 +08:00
Chen-Pang He
d0ee31aea6 Fix dox and tabbing 2012-08-29 01:56:23 +08:00
Chen-Pang He
ba4e886376 Tidy up and write dox. 2012-08-28 01:55:13 +08:00
Chen-Pang He
5252d823c9 Optimize matrix power 2012-08-26 02:15:41 +08:00
Chen-Pang He
1cd4279b03 Fix a lot in MatrixPower.h 2012-08-25 01:09:20 +08:00
Chen-Pang He
b55d260ada Replace atanh with atanh2 2012-08-27 21:43:41 +01:00
jdh8
573d88f81c Dox in MatrixFunctions 2012-08-19 18:12:04 +08:00
jdh8
15dabd4db7 Bugfix in MatrixLogarithm.h 2012-08-18 21:28:05 +08:00
Hauke Heibel
42c1b9a8dd Ensured that all branches of MatrixLogarithmAtomic::getPadeDegree return values. 2012-08-18 10:18:31 +02:00
jdh8
f047030104 Add specialization for float and long double 2012-08-18 02:27:47 +08:00
jdh8
2337ea430b Remove useless code (abort specialization for complex exponent temporarily) 2012-08-15 20:56:03 +08:00
jdh8
4be172d84f matrix power: MatrixBase::pow(RealScalar) and MatrixBase::pow(T) where T is integral type 2012-08-15 00:34:20 +08:00
jdh8
c5800a2452 using std::frexp instead of frexp 2012-08-08 17:50:56 +08:00
jdh8
8cddcaf839 Optimize getting exponent from IEEE floating points. 2012-08-08 01:27:11 +08:00
jdh8
93967b0dd6 Fix some typos in MatrixLogarithm to improve accuracy. 2012-08-03 23:54:42 +08:00
Benoit Jacob
69124cfca2 Automatic relicensing to MPL2 using Keirs script. Manual fixup follows. 2012-07-13 14:42:47 -04:00
Jitse Niesen
823c44e4e5 merge 2012-05-02 17:21:29 +01:00
clusty
d062a8bd31 Got rid of a warning message by doing an explicit cast 2012-05-02 10:50:44 -04:00
Jitse Niesen
3c412183b2 Get rid of include directives inside namespace blocks (bug #339). 2012-04-15 11:06:28 +01:00
Chen-Pang He
16b13596a6 mainly enhance MatrixLogarithm's performance for RealScalar != double 2011-09-17 21:00:55 +08:00
Jitse Niesen
b38d3b360e Define log2() on FreeBSD (fixes bug #343). 2011-09-06 06:52:04 +01: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
Chen-Pang He
6d7a32231d add compatibility with long double 2011-08-20 12:33:51 +08: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
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
22bff949c8 protect calls to min and max with parentheses to make Eigen compatible with default windows.h
(transplanted from 49b6e9143e1d74441924c0c313536e263e12a55c
)
2011-07-21 11:19:36 +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
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
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
Benoit Jacob
75b7d98665 bug #54 - really fix const correctness except in Sparse 2010-12-22 17:45:37 -05: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
Hauke Heibel
bb46a45340 Finally fixed the matrix function/exponential warning.
Index fixes.
2010-06-20 23:13:24 +02:00
Hauke Heibel
9a6967d9ba Attempt to fix MatrixExponential/Function related warnings. 2010-06-20 13:17:57 +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
Hauke Heibel
cedea2aba4 Fixed warnings regarding missing assignment operator. 2010-06-11 07:59:59 +02:00