Go to file
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
bench Fix bug #595: typo 2013-06-10 13:10:36 +02:00
blas Fix dot*w to return 0 for empty vectors (BLAS interface) 2013-10-01 22:37:10 +02:00
cmake Add minimalistic unit tests for NVCC support 2013-11-05 15:41:45 +01:00
debug Added Visual Studio 2012 debug visualizers. 2013-01-26 17:32:14 +01:00
demos Disable opengl demo if Qt4 or OpenGL cannot be found. 2012-10-31 11:36:45 +01:00
doc Fix bug #674: typo in documentation example for BiCGSTAB. They are now proper snippet files. 2013-10-16 15:25:39 +02:00
Eigen Implement boolean reductions for zero-sized objects 2013-11-13 16:47:02 +01:00
failtest add more failtests 2011-02-06 11:55:51 -05:00
lapack Ease setting build options when running ctest -D 2013-07-07 17:25:58 +02:00
scripts simplify/uniformize eigen_gen_docs 2013-10-18 12:56:15 +02:00
test Implement boolean reductions for zero-sized objects 2013-11-13 16:47:02 +01:00
unsupported CXX11/TensorSymmetry: add symmetry support for Tensor class 2013-11-14 23:35:11 +01:00
.hgeol Added a pattern which forces LF line endings for *.sh files. 2013-07-31 18:20:58 +02:00
.hgignore update .hgignore 2011-01-31 09:21:31 -05:00
CMakeLists.txt Add cmake config files 2013-10-09 10:25:50 +02:00
COPYING.BSD Intel(R) MKL support added. 2011-12-05 14:52:21 +07:00
COPYING.GPL there's no reason why we should follow the FSF's stupid recommendation for the naming of these files, right? This could give the wrong impression that Eigen is only GPL-licensed. 2009-11-14 23:26:07 -05:00
COPYING.LGPL Replace COPYING.LGPL by a copy of the LGPL 2.1 (instead of LGPL 3). 2012-09-10 13:27:44 -04:00
COPYING.MINPACK add COPYING.MINPACK 2012-07-15 11:46:22 -04:00
COPYING.MPL2 add COPYING.MPL2 2012-07-15 10:20:59 -04:00
COPYING.README Replace COPYING.LGPL by a copy of the LGPL 2.1 (instead of LGPL 3). 2012-09-10 13:27:44 -04:00
CTestConfig.cmake Add Official/Unsupported labels to unit tests and add a ctest driver to submit subprojects to cdash 2013-03-20 08:40:13 +01:00
CTestCustom.cmake.in Reduce maximum number of warnings/errors. (they took GBs even for limited period of time) 2013-06-20 17:39:15 +02:00
eigen3.pc.in * eigen2->eigen3 2009-11-19 12:09:04 -05:00
INSTALL finally, the right fix: set CTEST_BUILD_TARGET. 2009-10-04 20:27:44 -04:00
signature_of_eigen3_matrix_library improve the scripts for building unit tests: 2009-11-25 21:26:37 -05:00