Jitse Niesen
306ce33e1c
BDCSVD: Streamline compute() and copyUV()
2013-08-07 16:34:34 +01:00
Hauke Heibel
8f4d93a4b7
Fix compilation.
...
The Matrix is required to be mutable but it also needs to be a reference and
temporaries do not bind to non-const references - thus we need a hack and
cast away the constness.
2013-08-02 22:40:36 +02:00
Jitse Niesen
68168e9eae
MatrixFunctions: replace eval() by nested.
...
This eliminates an unnecessary copy in some situations, e.g. Map.
2013-07-31 14:57:20 +01:00
Hauke Heibel
9ef3645cc7
Removed 'T' prefix from types and thus fixed compilation for GCC.
2013-07-29 12:08:50 +02:00
Jitse Niesen
70131120ab
Fix bug in MatrixFunctions for matrices with multiple eigenvalues.
...
Store indices, not eigenvalues, in clusters.
Bug was introduced in changeset a3a55357db
.
2013-07-26 15:39:18 +01:00
Jitse Niesen
6d86cd7224
merge
2013-07-26 14:30:28 +01:00
Hauke Heibel
75dab1ce5e
Fixed floating point warning.
...
Fixed evaluation of matrix_exp_computeUV.
2013-07-26 15:13:54 +02:00
Jitse Niesen
e43934d60f
MatrixFunctions: Clean up StemFunction.h
2013-07-26 13:51:10 +01:00
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
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
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
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
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
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
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
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
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
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
b0cb5e6d48
remove the 'Unsupported Modules' meta module
2013-01-11 10:40:35 +01: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
Gael Guennebaud
f41d96deb9
Fix several documentation issues
2012-12-24 13:33:22 +01:00
David Harmon
23ce05971b
Add arpack support module file
2012-12-16 19:11:24 +01:00
David Harmon
dbe1ab67ac
Added ARPACK support for standard and generalized eigenvalue problems. Currently self-adjoint only.
2012-10-06 17:18:09 -06:00
Gael Guennebaud
8844f632fa
Move work in progress Levenberg Marquardt module in unsupported
2012-12-08 18:22:23 +01:00
Gael Guennebaud
d85253ccf4
Backed out changeset 363e506776
2012-12-07 20:53:19 +01:00
Desire NUENTSA
363e506776
Rename the old LevenbergMarquardt class to LevenbergMarquardtLegacy
...
Split the levenberg marquardt test and the hybrid nonlinear test
2012-12-07 15:51:25 +01:00
Desire NUENTSA
71cb78e1ba
Fix Incomplete Cholesky factorization. Stable but need iterative robust shift
2012-12-07 15:33:26 +01:00
Gael Guennebaud
6a790058f5
remove deprecated InnerVectorSet for the deprecated DynamicSparseMatrix class
2012-11-16 09:03:42 +01:00
Desire NUENTSA
b40a5b8b48
Improve the IncompleteLLT ... not yet robust
2012-11-13 18:14:34 +01:00
Desire NUENTSA
474716ec5b
Add restarted GMRES with deflation
2012-11-12 10:47:55 +01:00
Gael Guennebaud
a76fbbf397
Fix bug #314 :
...
- remove most of the metaprogramming kung fu in MathFunctions.h (only keep functions that differs from the std)
- remove the overloads for array expression that were in the std namespace
2012-11-06 15:25:50 +01:00
Desire NUENTSA
f7e203fb0c
Fix build error in matrixfunctions on MSVC
2012-10-30 11:30:37 +01:00
Pavel Holoborodko
8b84e05739
Updated multiprecision module to support the most recent version of MPFR C++
2012-10-19 18:12:31 +09:00
dnuentsa
f757034001
MINRES solver
2012-10-09 13:07:09 +02:00
Desire NUENTSA
fe78c86b4a
Discard failing tests in NonlinearOptimization
2012-10-09 12:20:21 +02:00
Jitse Niesen
2008f76120
Merge
2012-09-29 17:35:15 +01:00
Chen-Pang He
50c07e50e8
Avoid memory manipulation for simplicity, efficiency, and safety.
2012-09-29 17:41:51 +08:00
Chen-Pang He
5814a5f1a0
Abort the extension. MatrixSquareRootTriangular only takes upper triangular matrices.
2012-09-29 17:41:06 +08:00
Chen-Pang He
067a5a98c8
Extend MatrixPowerTriangularAtomic for future implementation for triangular matrix power.
2012-09-29 02:02:12 +08:00
Chen-Pang He
ed18d6f2ad
Fix doc and tidy up
2012-09-28 02:08:14 +08:00
Chen-Pang He
3b88216d42
Move unshared items back to MatrixPower
2012-09-27 17:19:32 +08:00
Chen-Pang He
73a0bfe261
Write doc on (matrix power) * (matrix expression)
2012-09-27 02:31:18 +08:00
Chen-Pang He
aa5acdb352
Create class MatrixPowerBase for further extension (like specialization for triangular or self-adjoint matrices)
2012-09-27 02:20:36 +08:00
Desire NUENTSA
a01371548d
Define sparseLU functions as static
2012-09-25 09:53:40 +02:00
giacomo po
fd0441baee
some clean-up and new comments.
2012-09-24 09:20:40 -07:00
Chen-Pang He
d387dfa9dc
Remove unnecessary code. lazyAssign seems to fix all (noalias, initialization, etc.)
2012-09-24 23:36:19 +08:00
giacomo po
18c41aa04f
Some minor optimization.
2012-09-24 08:33:11 -07:00
giacomo po
dd7ff3f493
moved MINRES to unsupported. Made unit test.
2012-09-24 07:47:38 -07:00
Chen-Pang He
334532b7f5
Remove class MatrixPowerEvaluator with enhanced existing MatrixPowerReturnValue to simplicity, but docs are not completed yet.
2012-09-23 23:49:50 +08:00
Chen-Pang He
1d402dac03
Fix bug in MatrixPower(expression) due to destruction of temporary objects. Sorry for ugly pointer manipulation but it prevents copying a PlainObject.
2012-09-23 18:49:44 +08:00
Chen-Pang He
963794b04a
Eliminate unnecessary evaluations
2012-09-23 00:20:19 +08:00
Chen-Pang He
7e64f78f65
Avoid inefficient 2x2 LU
2012-09-22 22:06:22 +08:00
Chen-Pang He
d7b1049cab
Fix my typo in MatrixPowerBase.h, no effect on the flow.
2012-09-22 19:13:02 +08:00
Chen-Pang He
dd8034bd1c
Fix cost evaluation. (chain product for integral power)
2012-09-22 17:37:14 +08:00
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
Desire NUENTSA
45672e724e
Incomplete Cholesky preconditioner... not yet stable
2012-09-11 12:12:19 +02: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
Jitse Niesen
edc7a09ee7
merge
2012-08-27 22:57:39 +01:00
Desire NUENTSA W.
fe9956defe
Read real and complex bench matrices from a unique folder
...
Output and display bench results using XML and XSLT
2012-08-27 22:52:43 +02:00
Chen-Pang He
b55d260ada
Replace atanh with atanh2
2012-08-27 21:43:41 +01:00
jdh8
1b4aed7255
Fix toc in dox and claim copyright
2012-08-20 03:04:28 +08: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
Hauke Heibel
52a0e0d65e
Added a default constructor for Splines which creates zero (constant) splines.
2012-07-28 13:37:29 +02:00
Benoit Jacob
df06e5662d
MINPACK license is OK for MPL2 after all
2012-07-15 10:30:57 -04:00
Benoit Jacob
269be00925
Add a EIGEN_MPL2_ONLY build option to generate compiler errors when including non-MPL2 modules
2012-07-13 14:42:47 -04:00
Benoit Jacob
0733e622a3
Manual MPL2 relicensing fixes
2012-07-13 14:42:47 -04:00