giacomo po
3e42b775ea
MINRES, bug #715 : add support for zero rhs, and remove square test.
2014-03-17 16:33:52 -07:00
Bo Li
4fe56a0e02
fix Spline constructor
2014-03-15 08:42:20 +08:00
Gael Guennebaud
bd6eca059d
Fix compilation of SPlines module
2014-02-17 10:00:38 +01:00
Gael Guennebaud
3283d98d13
optimize sparse-sparse Kronecker product
2014-02-14 14:46:01 +01: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
Desire NUENTSA
4bb1c48f25
Add a block sparse matrix class. tests to be added
2013-09-20 18:54:17 +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
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
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