DUNE-ACFEM (unstable)

Dune::ACFem::Tensor::IsSelfTransposed< Perm, T, std::enable_if_t<(IsDecay< Perm >::value &&IsDecay< T >::value &&!isSimple(Perm{}) &&IsEinsumExpression< T >::value &&IsRuntimeEqualExpression< Operand< 0, T > >::value &&IsRuntimeEqualExpression< Operand< 1, T > >::value &&std::is_same< std::decay_t< Operand< 0, T > >, std::decay_t< Operand< 1, T > > >::value &&std::is_same< typename T::LeftIndexPositions, typename T::RightIndexPositions >::value &&std::is_same< Perm, SequenceCat< typename T::RightArgs, typename T::LeftArgs > >::value)> > Struct Template Reference

Einsum operations over the same set of indices of identical tensors are self-transposed when exchanging the complete index set. More...

#include <dune/acfem/tensors/operations/transposetraits.hh>

Detailed Description

template<class Perm, class T>
struct Dune::ACFem::Tensor::IsSelfTransposed< Perm, T, std::enable_if_t<(IsDecay< Perm >::value &&IsDecay< T >::value &&!isSimple(Perm{}) &&IsEinsumExpression< T >::value &&IsRuntimeEqualExpression< Operand< 0, T > >::value &&IsRuntimeEqualExpression< Operand< 1, T > >::value &&std::is_same< std::decay_t< Operand< 0, T > >, std::decay_t< Operand< 1, T > > >::value &&std::is_same< typename T::LeftIndexPositions, typename T::RightIndexPositions >::value &&std::is_same< Perm, SequenceCat< typename T::RightArgs, typename T::LeftArgs > >::value)> >

Einsum operations over the same set of indices of identical tensors are self-transposed when exchanging the complete index set.


The documentation for this struct was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 16, 22:29, 2024)