Commit Graph

848 Commits

Author SHA1 Message Date
Hauke Heibel
75edc7cc8b Fixed VC11 compilation.
The typedefs Lhs/Rhs in the base class are now accessible by derived classes.
2013-07-26 11:05:21 +02:00
Jitse Niesen
a3a55357db Clean up MatrixFunction and MatrixLogarithm. 2013-07-25 15:08:53 +01:00
Jitse Niesen
084dc63b4c Clean-up of MatrixSquareRoot. 2013-07-22 13:56:15 +01:00
Jitse Niesen
463343fb37 Clean-up of MatrixExponential:
* put internal stuff in the internal namespace
* replace member functions by free functions
2013-07-21 21:31:15 +01:00
Jitse Niesen
5879937f58 Merge in jdh8's branch.
* Enable singular matrix power and complex exponents.
* Eliminate unnecessary copying for sparse Kronecker product.
2013-07-21 20:50:15 +01:00
Chen-Pang He
01190b3544 Directly code failing example, or it breaks make doc. 2013-07-21 18:09:11 +08:00
Chen-Pang He
c00f688c64 Fix doc. (It is also used by computeFracPower) 2013-07-21 05:40:56 +08:00
Chen-Pang He
51573da3a4 Warn about power of a matrix with non-semisimple 0 eigenvalue. 2013-07-21 01:00:36 +08:00
Chen-Pang He
1191949e87 Improve documentation on Kronecker product module. 2013-07-21 00:19:46 +08:00
Chen-Pang He
3d94ed9fa0 Document on MatrixExponential::ScalingOp 2013-07-21 00:18:19 +08:00
Chen-Pang He
ede27f5780 Apply argument-dependent lookup on user-defined types. (using std::) 2013-07-20 23:30:37 +08:00
Chen-Pang He
dda869051d Optimize MatrixPower::computeIntPower 2013-07-20 18:47:54 +08:00
Chen-Pang He
2320073e41 Comment on private members of MatrixPower. 2013-07-20 17:58:12 +08:00
Chen-Pang He
c587e63631 Simplify MatrixPower::split 2013-07-20 17:49:38 +08:00
Gael Guennebaud
e3774e93b7 Fix vompilation of bdcsvd with ICC. 2013-07-17 09:20:30 +02:00
Gael Guennebaud
c76990664b Add bdcsvd unit test in CMakeLists 2013-07-15 21:16:57 +02:00
Chen-Pang He
4b780553e0 Eliminate unnecessary copying for sparse Kronecker product. 2013-07-15 09:10:17 +08:00
Chen-Pang He
9be658f701 generateTestMatrix can use processTriangularMatrix 2013-07-15 00:43:14 +08:00
Chen-Pang He
b8f0364a1c Test singular matrix power with square roots. Exponent laws are too unstable. 2013-07-15 00:10:17 +08:00
Chen-Pang He
cbe92de2b5 Fix typo in testSingular. 2013-07-14 17:27:44 +08:00
Chen-Pang He
eeb744dc8d Add test3dRotation. 2013-07-14 02:00:50 +08:00
Chen-Pang He
d5501d3a90 Document on MatrixPowerAtomic. 2013-07-13 23:13:07 +08:00
Chen-Pang He
3c423ccfe2 Document on complex matrix power. 2013-07-13 22:12:09 +08:00
Chen-Pang He
738d75d3eb Document on the return type of MatrixPower::operator() 2013-07-13 22:11:36 +08:00
Gael Guennebaud
6d1f5dbaae Add no_assignment_operator to a few classes that must not be assigned, and fix a couple of warnings. 2013-07-10 23:48:26 +02:00
Chen-Pang He
a992fa74eb Make non-conversion unary constructors explicit. 2013-07-11 02:31:13 +08:00
Chen-Pang He
4466875d54 The only(?) way to test complex matrix power. 2013-07-10 02:59:16 +08:00
Chen-Pang He
5c95892b83 Test power of singular matrices. 2013-07-10 02:57:54 +08:00
Chen-Pang He
639d03d900 These casts are unnecessary because isApprox already casts them. 2013-07-10 02:53:15 +08:00
Chen-Pang He
d204bb57d0 Remove unused struct definition in test. 2013-07-10 02:48:17 +08:00
Chen-Pang He
c52cbd9de9 Write doc for positive power of a matrix with a semisimple zero eigenvalue. 2013-07-10 02:44:38 +08:00
Chen-Pang He
159a3bed9e Write doc for complex power of a matrix. 2013-07-10 02:43:10 +08:00
Chen-Pang He
25544dbec3 Add assertion against undefined matrix power. 2013-07-10 02:36:34 +08:00
Chen-Pang He
00e30a5fc4 We need not prohibit assignment here. Thanks to changeset 3edd4681f2
.
2013-07-07 19:57:23 +08:00
Chen-Pang He
55ec3cc6d5 Prevent copying with internal::noncopyable. 2013-07-07 19:34:13 +08:00
Chen-Pang He
9e2b4eeac0 Const-correct the scaling functor. 2013-07-05 23:28:57 +08:00
Chen-Pang He
c273a6c37c Avoid pow(Scalar, int) for C++11 conformance. 2013-07-05 03:33:56 +08:00
Chen-Pang He
04a9ad6e10 Let complex power fall back to "log, scale, exp". 2013-07-05 00:28:28 +08:00
Chen-Pang He
cce68d4e91 Remove unused inclusions. 2013-07-04 18:39:33 +08:00
Chen-Pang He
75b3391e3f Enable singular matrix power using unitary similarities. 2013-07-04 18:37:46 +08:00
Chen-Pang He
3cda1deb52 Simplify class hierarchy. 2013-07-04 05:10:43 +08:00
Chen-Pang He
eaf92ef48c Remove unreachable MatrixPowerTriangular, paving the way to future cleanups. 2013-07-04 04:42:02 +08:00
Chen-Pang He
7b6e94fb58 Clean namespace pollution. 2013-06-25 02:56:30 +08:00
Chen-Pang He
b9543ce237 Matrix square root can process 0 eigenvalue. 2013-06-24 23:57:57 +08:00
Chen-Pang He
b9fc9d8f32 Remove mat.pow * vec specialization, which causes segfault for mat.pow * mat.pow 2013-06-24 23:56:17 +08:00
Chen-Pang He
ee8a28fb85 Fix segfault and bug with equal eivals in matrix power (bug #614). 2013-06-24 13:58:51 +01:00
Gael Guennebaud
dd964ec08c Fix a couple of warnings 2013-06-21 19:06:45 +02:00
Gael Guennebaud
cf5c5ed725 Fix warning typedef XXX locally defined but not used 2013-06-21 09:27:38 +02:00
Gauthier Brun
8105b5ed3f new unsupported and not finished SVD, using a divide and conquert algorithm, with tests and benchmark 2013-06-19 00:03:27 +02:00
Kolja Brix
05da15bf40 bug #230, fix compilation issues and wrong static assertions 2013-06-18 09:44:40 +02:00
Gael Guennebaud
f6c1841316 compilation fixes in unsupported 2013-06-12 12:52:41 +02:00
Gael Guennebaud
62670c83a0 Fix bug #314: move remaining math functions from internal to numext namespace 2013-06-10 23:40:56 +02:00
Thomas Capricelli
62e337eb01 fix a weird typo I commited in ae76c97704
(Nov 10th, 2009)
2013-06-03 23:09:33 +02:00
Desire NUENTSA
cf939f154f Fix bug #596 : Recover plain SparseMatrix from SparseQR matrixQ() 2013-05-21 17:35:10 +02:00
Gael Guennebaud
9816e8532e Fix bug #482: pass scalar value by const reference (it remained a few cases) 2013-04-12 15:26:55 +02:00
Gael Guennebaud
899c0c2b6c Clean source code and unit tests with respect to -Wunused-local-typedefs 2013-04-10 22:27:35 +02:00
Gael Guennebaud
225fd0f579 adapt AutoDiff to scalar_product_traits 2013-03-20 21:20:13 +01:00
Desire NUENTSA
f350f34560 Add complex support to dgmres and the unit test 2013-03-20 18:38:22 +01:00
Desire NUENTSA
da6219b19d Bug567 : Fix iterative solvers to immediately return when the initial guess is the true solution and for trivial solution 2013-03-20 16:15:18 +01:00
Desire NUENTSA
4107b371e3 Handle zero right hand side in CG and GMRES 2013-03-20 11:22:45 +01:00
Gael Guennebaud
9bfeeba1c5 Add Official/Unsupported labels to unit tests and add a ctest driver to submit subprojects to cdash 2013-03-20 08:40:13 +01:00
Christoph Hertzberg
6357fd68da Patch by Kolja Brix <brix@igpm.rwth-aachen.de> that fixes bug #565 and adds a testcase to verify that. 2013-03-17 13:55:31 +01:00
Jitse Niesen
79f93247c5 Relax tolerances in matrix_power tests to avoid intermittent failures. 2013-03-09 17:20:16 +00:00
Gael Guennebaud
03373f41cb Fix bug #561: remove useless sign macro 2013-03-07 23:35:26 +01:00
Gael Guennebaud
b9fe79153b Fix a couple of remaining warnings (missing newlines, inline-noinline, meaningless type qualifiers) 2013-03-01 14:42:36 +01:00
Gael Guennebaud
87142237b5 Fix "missing return statement at end of non-void function" 2013-03-01 14:33:11 +01:00
Gael Guennebaud
210a56ff48 Update to latest mpreal. 2013-03-01 14:31:11 +01:00
Gael Guennebaud
1bb1945078 Fix "explicit instantiation of 'Eigen::Spline' must occur in namespace 'Eigen'" warnings 2013-02-28 20:22:26 +01:00
Hauke Heibel
83aac6d54c MSVC fix; the compiler failed to detect the correct overload. 2013-02-28 11:38:34 +01:00
Gael Guennebaud
bd8c9c69e4 Protect min with parenthesis in IncompleteLLT 2013-02-22 14:41:32 +01:00
Desire NUENTSA
febf8e5d7b Set built-in sparse QR as the default sparse solver and add ComputationInfo for Levenberg Marquardt, 2013-02-20 14:10:14 +01:00
Gael Guennebaud
9fd465ea2b Fix the following warning: "comparison between signed and unsigned integer expressions" 2013-02-15 14:31:38 +01:00
Gael Guennebaud
5154253933 Fix some MPL2/LGPL lisencing confusions 2013-02-06 11:30:33 +01:00
Jitse Niesen
14e2ab02b5 Replace assert() by eigen_assert() (fixes bug #548). 2013-02-02 22:04:42 +00:00
Gael Guennebaud
7282a45a0a Remove dummy code in MPRealSupport 2013-01-24 08:48:26 +01:00
Gael Guennebaud
29d395f769 Relax a bit the precision in mpreal unit test. 2013-01-23 23:57:28 +01:00
Gael Guennebaud
691e607d85 Specialize GEBP traits and kernel for mpreal to by-pass mpreal and remove the costly creation of many temporaries. 2013-01-23 23:56:57 +01:00
Gael Guennebaud
c22f7cef83 Workaround "error: floating-point literal cannot appear in a constant-expression" in mpreal.h when compiling with predantic.
(I really don't know how to properly fix this))
2013-01-23 20:51:38 +01:00
Chen-Pang He
23c87fcde6 I think it's OK to let XprHelper.h determine the nested type. 2012-10-15 00:14:32 +08:00
Chen-Pang He
fe0ef8e609 Remove unused typedef (traits<MatrixPowerProduct>::PlainObject) for brevity. 2012-10-14 22:30:52 +08:00
Chen-Pang He
40fce01648 Simplify traits<MatrixPowerProduct>: StorageKind must be Dense because MatrixPowerProduct is derived from MatrixBase. 2012-10-14 18:36:17 +08:00
Chen-Pang He
c890cf5489 Use the nested type instead of const reference 2012-10-14 03:02:16 +08:00
Chen-Pang He
daa65c5bce Just tidy up: no need to specify template parameters inside class body. 2012-10-14 01:36:54 +08:00
Chen-Pang He
0017d8c58f Make MatrixPowerTriangularAtomic::computePade static because it should be. 2012-10-07 02:25:00 +08:00
Chen-Pang He
a5d348e30a Use simplified return type, trying to work around MSVC. 2012-10-03 19:42:02 +08:00
Chen-Pang He
4cfde4590f Make use of TRMM (speed up), and remove useless condition (the triangular don't need LU) 2012-10-02 23:04:23 +08:00
Chen-Pang He
21c2b4e327 Make better decision on PartialPivLU vs inverse(): We have specialized inverse() only for FIXED matrices. 2012-10-02 19:53:38 +08:00
Chen-Pang He
e92fe88159 Add test for real MatrixPowerTriangular. 2012-09-30 19:21:53 +08:00
Chen-Pang He
eb33d307af Avoid Schur decomposition on (quasi-)triangular matrices. (Huge speed up!) 2012-09-30 16:30:18 +08:00
Chen-Pang He
332eb36436 Implement complex MatrixPowerTriangular. There are still problems with real one. 2012-09-30 02:14:16 +08:00
Gael Guennebaud
1ccd90a927 Make the MatrixFunctions documentation page looks a bit better 2013-01-11 10:48:43 +01:00
Gael Guennebaud
cc444bbbf9 update unsupported module documentation to be conformed with new documentation style 2013-01-11 10:41:26 +01:00
Gael Guennebaud
b0cb5e6d48 remove the 'Unsupported Modules' meta module 2013-01-11 10:40:35 +01:00
Jitse Niesen
eac676ff6c Set matrix to zero before inserting entries (partially fixes bug #539). 2013-01-03 18:00:45 +00:00
Chen-Pang He
8321b7ae74 Make KroneckerProductSparse inherit EigenBase instead of SparseMatrixBase, for it does not provide an InnerIterator. 2012-10-25 02:09:48 +08:00
Chen-Pang He
204a09cb82 Fix compile error caused by incomplete SparseMatrixBase. 2012-10-16 00:06:49 +08:00
Chen-Pang He
0508a0620b Let KroneckerProduct inherit ReturnByValue to eliminate temporary evaluation. It's uncommon to store the product back to one of the operands. 2012-10-15 19:45:50 +08:00
Chen-Pang He
8284e7134b Add doc for KroneckerProductSparse. 2012-10-15 00:31:09 +08:00
Chen-Pang He
c4b83461d9 Make kroneckerProduct take two arguments and return an expression, which is more straight-forward. 2012-10-15 00:21:12 +08:00
Chen-Pang He
f34db6578a KroneckerProduct: we have const_cast_derived so why not use it? 2012-10-14 01:38:38 +08:00