diff options
author | Christian Seiler <christian@iwakd.de> | 2014-06-04 20:27:42 +0200 |
---|---|---|
committer | Christian Seiler <christian@iwakd.de> | 2014-06-04 20:27:42 +0200 |
commit | ea9943352368b990d27ba22eb8670287cf96302d (patch) | |
tree | 68511340c561f263b14a8569be0f926fe75bbb60 /unsupported/Eigen/CXX11/src/Tensor/Tensor.h | |
parent | cee62018fc38f5408e0afe497c37fade64ca15d0 (diff) |
unsupported/TensorSymmetry: make symgroup construction autodetect number of indices
When constructing a symmetry group, make the code automatically detect
the number of indices required from the indices of the group's
generators. Also, allow the symmetry group to be applied to lists of
indices that are larger than the number of indices of the symmetry
group.
Before:
SGroup<4, Symmetry<0, 1>, Symmetry<2,3>> group;
group.apply<SomeOp, int>(std::array<int,4>{{0, 1, 2, 3}}, 0);
After:
SGroup<Symmetry<0, 1>, Symmetry<2,3>> group;
group.apply<SomeOp, int>(std::array<int,4>{{0, 1, 2, 3}}, 0);
group.apply<SomeOp, int>(std::array<int,5>{{0, 1, 2, 3, 4}}, 0);
This should make the symmetry group easier to use - especially if one
wants to reuse the same symmetry group for different tensors of maybe
different rank.
static/runtime asserts remain for the case where the length of the
index list to which a symmetry group is to be applied is too small.
Diffstat (limited to 'unsupported/Eigen/CXX11/src/Tensor/Tensor.h')
0 files changed, 0 insertions, 0 deletions