[eigen-commits] commit/eigen: 5 new changesets

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen-commits Archives ]


5 new commits in eigen:

https://bitbucket.org/eigen/eigen/commits/725fdc08d8ec/
Changeset:   725fdc08d8ec
Branch:      tensor-for-merge
User:        chris-se
Date:        2013-11-14 22:27:06
Summary:     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.
Affected #:  5 files

https://bitbucket.org/eigen/eigen/commits/264b61523bd9/
Changeset:   264b61523bd9
Branch:      tensor-for-merge
User:        chris-se
Date:        2013-11-14 22:52:37
Summary:     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.
Affected #:  5 files

https://bitbucket.org/eigen/eigen/commits/2a08c9aa8148/
Changeset:   2a08c9aa8148
Branch:      tensor-for-merge
User:        chris-se
Date:        2013-11-14 23:35:11
Summary:     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;
Affected #:  8 files

https://bitbucket.org/eigen/eigen/commits/5861cab04169/
Changeset:   5861cab04169
Branch:      tensor-for-merge
User:        chris-se
Date:        2013-11-16 00:03:23
Summary:     C++11/Tensor: Fix copyright headers
Affected #:  14 files

https://bitbucket.org/eigen/eigen/commits/2db0d378c133/
Changeset:   2db0d378c133
User:        ggael
Date:        2013-11-16 11:12:05
Summary:     Merged in chris-se/eigen/tensor-for-merge (pull request #39)

Tensor support for Eigen
Affected #:  15 files

Repository URL: https://bitbucket.org/eigen/eigen/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/