Jitse Niesen
c1921ad3e2
Remove unused typedef in polynomialsolver test.
2014-02-08 20:31:35 +00:00
Naumov Maks
9e71ecbeec
fix typo in evalSolverSugarFunction()
2014-02-08 10:40:51 +00:00
Hauke Heibel
e722f36ffa
Fixed issue #734 (thanks to Philipp Büttgenbach for reporting the issue and proposing a fix).
...
Kept ColMajor layout if possible in order to keep derivatives of the same order adjacent in memory.
2014-02-01 20:49:48 +01:00
Christoph Hertzberg
febfc7b9b4
Fix bug #730 : Path of OpenGL headers is different on MacOS
2014-01-29 22:05:39 +01:00
Anton Gladky
4cd4be97a7
Port unsupported constrained CG to Eigen3
2014-01-15 17:49:52 +01:00
Christian Seiler
f6bac196d5
C++11/Tensor: Fix copyright headers
2013-11-16 00:03:23 +01:00
Christian Seiler
03a956925a
CXX11/TensorSymmetry: add symmetry support for Tensor class
...
Add a symCoeff() method to the Tensor class template that allows the
user of the class to set multiple elements of a tensor at once if they
are connected by a symmetry operation with respect to the tensor's
indices (symmetry/antisymmetry/hermiticity/antihermiticity under
echange of two indices and combination thereof for different pairs of
indices).
A compile-time resolution of the required symmetry groups via meta
templates is also implemented. For small enough groups this is used to
unroll the loop that goes through all the elements of the Tensor that
are connected by this group. For larger groups or groups where the
symmetries are defined at run time, a standard run-time implementation
of the same algorithm is provided.
For example, the following code completely initializes all elements of
the totally antisymmetric tensor in three dimensions ('epsilon
tensor'):
SGroup<3, AntiSymmetry<0,1>, AntiSymmetry<1,2>> sym;
Eigen::Tensor<double, 3> epsilon(3,3,3);
epsilon.setZero();
epsilon.symCoeff(sym, 0, 1, 2) = 1;
2013-11-14 23:35:11 +01:00
Christian Seiler
f97b3cd024
CXX11/Tensor: add simple initial tensor implementation
...
This commit adds an initial implementation of a class template Tensor
that allows for the storage of objects with more than two indices.
Currently, only storing data and setting the object to zero for POD
data types are implemented.
2013-11-14 22:52:37 +01:00
Christian Seiler
5e28c41549
C++11: add template metaprogramming helpers
...
Create a new directory CXX11 under unsupported/Eigen that contains code
that requires C++11. In that directory, add a few generic templates
useful for any module relying on C++11. These templates may be included
with #include <[unsupported/]Eigen/CXX11/Core>. At the moment, this
will only provide templates in the Eigen::internal namespace.
2013-11-14 22:27:06 +01:00
Christoph Hertzberg
ae83f5ede9
Fixed bug #702 and added unit test.
...
Thanks to Alexander Werner for the report.
2013-11-07 18:32:24 +01:00
Gael Guennebaud
5974685866
Fix parenthesis min/max issue in mpreal
2013-10-29 17:43:21 +01:00
Desire NUENTSA
4bb1c48f25
Add a block sparse matrix class. tests to be added
2013-09-20 18:54:17 +02:00
Gael Guennebaud
ed78a76161
Merged in advanpix/eigen-mp-devs (pull request PR-32)
...
Fixes for SparseMatrix to support non-POD scalar types
2013-09-03 22:05:14 +02:00
Jitse Niesen
16cbd3d72d
BDCSVD: Use rational interpolation to solve secular equation.
...
Algorithm is rather ad-hoc and falls back on bisection if required.
2013-08-27 15:30:11 +01:00
Hauke Heibel
86daf2f75c
Added missing inline statements in order to prevent linker errors.
2013-08-27 15:41:18 +02:00
Pavel Holoborodko
d2c4f4ab21
Updated mpfr::mpreal. Move semantic support, RVO, other new features
2013-08-26 00:22:18 +09:00
Jitse Niesen
d1c48f1606
BDCSVD: Use HouseholderSeq directly.
2013-08-21 14:34:48 +01:00
Jitse Niesen
403be74861
BDCSVD: Compute SVD of combined problem directly.
...
First step at implementing final stage in BDCSVD algorithm.
Uses bisection method to solve nonlinear equation.
Still lots of room for optimization.
2013-08-20 14:10:55 +01:00
Gael Guennebaud
916d29e58f
Backout parts of changeset 6719e56b5b
...
(these changes were not intended to be commited)
2013-08-11 19:26:41 +02:00
Gael Guennebaud
6719e56b5b
Ref<> objects must be nested by reference because they potentially store a temporary object
2013-08-11 17:52:43 +02:00
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
Hauke Heibel
51b361b3bb
Ensure that (potentially aligned) stack objects are passed by reference.
2013-08-02 21:07:39 +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
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