v0.8.14
Classes | Enumerations | Functions
FTensor Namespace Reference

Fully Antisymmetric Levi-Civita Tensor. More...

Classes

class  Christof
 
class  Christof< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim12 >
 
class  Christof< T *, Tensor_Dim0, Tensor_Dim12 >
 
class  Christof_constructor
 
class  Christof_constructor< T, 2, 2 >
 
class  Christof_constructor< T, 3, 3 >
 
class  Christof_constructor< T, 3, 4 >
 
class  Christof_constructor< T, 4, 4 >
 
class  Christof_Expr
 
class  Christof_number_0
 
class  Christof_numeral_0
 
class  Christof_numeral_1
 
class  conj_Tensor2
 
class  d_boundary_Tensor0
 
class  d_boundary_Tensor2_symmetric
 
class  d_one_sided_Tensor1
 
class  d_one_sided_Tensor2_symmetric
 
class  dd_boundary_Tensor0
 
class  dd_boundary_Tensor2_symmetric
 
class  Ddg
 
class  Ddg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim23 >
 
class  Ddg< T *, Tensor_Dim01, Tensor_Dim23 >
 
class  Ddg_and_Ddg0213
 
class  Ddg_and_Ddg0321
 
class  Ddg_and_Tensor2_symmetric
 
class  Ddg_and_Tensor2_symmetric< A, B, T, U, Dim01, Dim23, Dim01, i, j, k, l, i, j >
 
class  Ddg_and_Tensor2_symmetric< A, B, T, U, Dim01, Dim23, Dim23, i, j, k, l, k, l >
 
class  Ddg_carat_Ddg_13
 
class  Ddg_carat_Tensor2_symmetric_13
 
class  Ddg_Expr
 
class  Ddg_Expr< Ddg< A, Tensor_Dim01, Tensor_Dim23 >, T, Dim01, Dim23, i, j, k, l >
 
class  Ddg_minus_Ddg
 
class  Ddg_mod_Ddg
 
class  Ddg_mod_Tensor2_symmetric
 
class  Ddg_mod_Tensor2_symmetric< A, B, T, U, Dim01, Dim23, Dim01, i, j, k, l, i, j >
 
class  Ddg_mod_Tensor2_symmetric< A, B, T, U, Dim01, Dim23, Dim23, i, j, k, l, k, l >
 
class  Ddg_number_0
 
class  Ddg_number_01
 
class  Ddg_number_rhs_0
 
class  Ddg_number_rhs_01
 
class  Ddg_numeral_0
 
class  Ddg_numeral_01
 
class  Ddg_numeral_02
 
class  Ddg_numeral_123
 
class  Ddg_numeral_23
 
class  Ddg_or_Ddg
 
class  Ddg_or_Tensor2_symmetric_13
 
class  Ddg_plus_Ddg
 
class  Ddg_plus_Ddg< A, B, T, U, Dim01, Dim23, Dim01, Dim23, i, j, k, l, i, j, k, l >
 
class  Ddg_plus_Ddg< A, B, T, U, Dim01, Dim23, Dim23, Dim01, i, j, k, l, k, l, i, j >
 
class  Ddg_times_Tensor1_2
 
class  Ddg_times_Tensor2_0_0
 
class  Ddg_times_Tensor2_0_1
 
class  Ddg_times_Tensor2_13
 
class  Ddg_times_Tensor2_1_0
 
class  Ddg_times_Tensor2_1_1
 
class  Ddg_times_Tensor2_23
 
class  Ddg_times_Tensor2_2_0
 
class  Ddg_times_Tensor2_2_1
 
class  Ddg_times_Tensor2_32
 
class  Ddg_times_Tensor2_3_0
 
class  Ddg_times_Tensor2_3_1
 
class  Ddg_times_Tensor2_symmetric_01
 
class  Ddg_times_Tensor2_symmetric_13
 
class  Ddg_times_Tensor2_symmetric_23
 
class  ddTensor0
 
class  ddTensor1
 
class  ddTensor2_symmetric
 
class  Dg
 
class  Dg< PackPtr< T *, I >, Tensor_Dim01, Tensor_Dim2 >
 
class  Dg< T *, Tensor_Dim01, Tensor_Dim2 >
 
class  Dg_and_Dg_02
 
class  Dg_and_Dg_12
 
class  Dg_and_Tensor1
 
class  Dg_and_Tensor2_symmetric
 
class  Dg_constructor
 
class  Dg_constructor< T, 2, 2 >
 
class  Dg_constructor< T, 3, 3 >
 
class  Dg_constructor< T, 4, 3 >
 
class  Dg_constructor< T, 4, 4 >
 
class  Dg_divide_generic
 
class  Dg_Expr
 
class  Dg_Expr< Christof< A, Tensor_Dim0, Tensor_Dim12 >, T, Dim12, Dim0, i, j, k >
 
class  Dg_Expr< const Christof< A, Tensor_Dim0, Tensor_Dim12 >, T, Dim12, Dim0, i, j, k >
 
class  Dg_Expr< Ddg_number_rhs_0< A, T, N0 >, T, Dim23, Dim1, i, j, k >
 
class  Dg_Expr< Dg< A, Tensor_Dim01, Tensor_Dim2 >, T, Dim01, Dim2, i, j, k >
 
class  Dg_minus_Dg
 
class  Dg_minus_Dg_02
 
class  Dg_number_0
 
class  Dg_number_01
 
class  Dg_number_12
 
class  Dg_number_2
 
class  Dg_number_rhs_0
 
class  Dg_number_rhs_01
 
class  Dg_number_rhs_12
 
class  Dg_number_rhs_2
 
class  Dg_numeral_0
 
class  Dg_numeral_01
 
class  Dg_numeral_12
 
class  Dg_numeral_2
 
class  Dg_or_Dg_02
 
class  Dg_or_Dg_12
 
class  Dg_plus_Dg
 
class  Dg_plus_Dg_10
 
class  Dg_plus_Dg_210
 
class  Dg_times_Dg_12_01
 
class  Dg_times_Dg_12_20
 
class  Dg_times_Dg_2
 
class  Dg_times_generic
 
class  Dg_times_Tensor1_0
 
class  Dg_times_Tensor1_1
 
class  Dg_times_Tensor1_2
 
class  Dg_times_Tensor2_0
 
class  Dg_times_Tensor2_01
 
class  Dg_times_Tensor2_02
 
class  Dg_times_Tensor2_1
 
class  Dg_times_Tensor2_10
 
class  Dg_times_Tensor2_12
 
class  Dg_times_Tensor2_1_0
 
class  Dg_times_Tensor2_1_1
 
class  Dg_times_Tensor2_20
 
class  Dg_times_Tensor2_21
 
class  Dg_times_Tensor2_symmetric_0
 
class  Dg_times_Tensor2_symmetric_01
 
class  Dg_times_Tensor2_symmetric_02
 
class  Dg_times_Tensor2_symmetric_1
 
class  Dg_times_Tensor2_symmetric_10
 
class  Dg_times_Tensor2_symmetric_12
 
class  Dg_times_Tensor2_symmetric_1_0
 
class  Dg_times_Tensor2_symmetric_1_1
 
class  Dg_times_Tensor2_symmetric_20
 
class  Dg_times_Tensor2_symmetric_21
 
class  diffusion_Tensor1
 
class  diffusion_Tensor2_symmetric
 
class  dTensor0
 
class  dTensor1
 
class  dTensor2_symmetric
 
class  generic_minus_Tensor1
 
class  generic_minus_Tensor2_symmetric
 
class  Index
 
class  interpolate_Tensor1
 
class  interpolate_Tensor2_symmetric
 
class  Levi_Civita
 Levi_Civita Classes. More...
 
class  minus_Ddg
 
class  minus_Dg
 
class  minus_Tensor1
 
class  minus_Tensor2
 
class  minus_Tensor2_symmetric
 
class  Number
 
class  PackPtr
 
struct  Permutation2
 
struct  Permutation3
 
struct  Permutation4
 
class  promote
 
class  Riemann
 
class  Riemann< T, 3 >
 
class  Riemann_Expr
 
class  Riemann_Expr< Riemann< A, Dim >, T, Dim, i, j, k, l >
 
class  Riemann_minus_Riemann
 
class  Riemann_plus_Riemann
 
class  Riemann_times_Tensor1_0
 
class  Riemann_times_Tensor1_1
 
class  Riemann_times_Tensor1_2
 
class  Riemann_times_Tensor1_3
 
class  Riemann_times_Tensor2_symmetric_0
 
class  T4Ddg_times_equals_generic
 
class  Tensor0
 
class  Tensor0< PackPtr< T *, I > >
 
class  Tensor0< T * >
 
class  Tensor1
 
class  Tensor1< PackPtr< T *, I >, Tensor_Dim >
 
class  Tensor1< T *, Tensor_Dim >
 
class  Tensor1_and_Tensor1
 
class  Tensor1_carat_Tensor1
 
class  Tensor1_constructor
 
class  Tensor1_constructor< T, 1 >
 
class  Tensor1_constructor< T, 2 >
 
class  Tensor1_constructor< T, 3 >
 
class  Tensor1_constructor< T, 4 >
 
class  Tensor1_divide_generic
 
class  Tensor1_Expr
 
class  Tensor1_Expr< Dg_number_rhs_01< A, T, N1, N2 >, T, Dim, i >
 
class  Tensor1_Expr< Dg_number_rhs_12< A, T, N1, N2 >, T, Dim, i >
 
class  Tensor1_Expr< Tensor1< A, Tensor_Dim >, T, Dim, i >
 
class  Tensor1_Expr< Tensor2_number_rhs_0< A, T, N >, T, Dim1, i >
 
class  Tensor1_Expr< Tensor2_number_rhs_1< A, T, N >, T, Dim1, i >
 
class  Tensor1_minus_generic
 
class  Tensor1_minus_Tensor1
 
class  Tensor1_or_Tensor1
 
class  Tensor1_plus_generic
 
class  Tensor1_plus_Tensor1
 
class  Tensor1_times_generic
 
class  Tensor1_times_Tensor1
 
class  Tensor2
 
class  Tensor2< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1 >
 
class  Tensor2< T *, Tensor_Dim0, Tensor_Dim1 >
 
class  Tensor2_and_Tensor1
 
class  Tensor2_and_Tensor1< A, B, T, U, Dim0, Dim1, Dim0, i, j, i >
 
class  Tensor2_and_Tensor1< A, B, T, U, Dim0, Dim1, Dim1, i, j, j >
 
class  Tensor2_antisymmetric
 
class  Tensor2_antisymmetric_constructor
 
class  Tensor2_antisymmetric_constructor< T, 2 >
 
class  Tensor2_antisymmetric_constructor< T, 3 >
 
class  Tensor2_antisymmetric_constructor< T, 4 >
 
class  Tensor2_antisymmetric_Expr
 
class  Tensor2_antisymmetric_Expr< Tensor2_antisymmetric< A, Tensor_Dim >, T, Dim, i, j >
 
class  Tensor2_carat_Tensor2
 
class  Tensor2_carat_Tensor2< A, B, T, U, Dim, Dim1, Dim, Dim1, i, j, k, j >
 
class  Tensor2_carat_Tensor2< A, B, T, U, Dim, Dim1, Dim1, Dim, i, j, j, k >
 
class  Tensor2_carat_Tensor2< A, B, T, U, Dim1, Dim, Dim, Dim1, j, i, k, j >
 
class  Tensor2_carat_Tensor2< A, B, T, U, Dim1, Dim, Dim1, Dim, j, i, j, k >
 
class  Tensor2_constructor
 
class  Tensor2_constructor< T, 1, 2, column_major >
 
class  Tensor2_constructor< T, 1, 2, row_major >
 
class  Tensor2_constructor< T, 2, 1, column_major >
 
class  Tensor2_constructor< T, 2, 1, row_major >
 
class  Tensor2_constructor< T, 2, 2, column_major >
 
class  Tensor2_constructor< T, 2, 2, row_major >
 
class  Tensor2_constructor< T, 3, 2, column_major >
 
class  Tensor2_constructor< T, 3, 2, row_major >
 
class  Tensor2_constructor< T, 3, 3, column_major >
 
class  Tensor2_constructor< T, 3, 3, row_major >
 
class  Tensor2_constructor< T, 4, 4, column_major >
 
class  Tensor2_constructor< T, 4, 4, row_major >
 
class  Tensor2_divide_generic
 
class  Tensor2_Expr
 
class  Tensor2_Expr< Dg_number_rhs_0< A, T, N >, T, Dim0, Dim1, i, j >
 
class  Tensor2_Expr< Tensor2< A, Tensor_Dim0, Tensor_Dim1 >, T, Dim0, Dim1, i, j >
 
class  Tensor2_minus_Tensor2
 
class  Tensor2_minus_Tensor2< A, B, T, U, Dim0, Dim1, Dim0, Dim1, i, j, i, j >
 
class  Tensor2_minus_Tensor2< A, B, T, U, Dim0, Dim1, Dim1, Dim0, i, j, j, i >
 
class  Tensor2_minus_Tensor2_symmetric
 
class  Tensor2_minus_Tensor2_symmetric< A, B, T, U, Dim, Dim, Dim, i, j, i, j >
 
class  Tensor2_minus_Tensor2_symmetric< A, B, T, U, Dim, Dim, Dim, i, j, j, i >
 
class  Tensor2_number_0
 
class  Tensor2_number_1
 
class  Tensor2_number_rhs_0
 
class  Tensor2_number_rhs_1
 
class  Tensor2_numeral_0
 
class  Tensor2_numeral_1
 
class  Tensor2_or_Tensor2
 
class  Tensor2_or_Tensor2< A, B, T, U, Dim, Dim, Dim, Dim, i, j, i, j >
 
class  Tensor2_or_Tensor2< A, B, T, U, Dim, Dim, Dim, Dim, i, j, j, i >
 
class  Tensor2_plus_Tensor2
 
class  Tensor2_plus_Tensor2< A, B, T, U, Dim0, Dim1, Dim0, Dim1, i, j, i, j >
 
class  Tensor2_plus_Tensor2< A, B, T, U, Dim0, Dim1, Dim1, Dim0, i, j, j, i >
 
class  Tensor2_symmetric
 
class  Tensor2_symmetric< PackPtr< T *, I >, Tensor_Dim >
 
class  Tensor2_symmetric< T *, Tensor_Dim >
 
class  Tensor2_symmetric_and_Tensor2_symmetric
 
class  Tensor2_symmetric_and_Tensor2_symmetric< A, B, T, U, Dim, Dim, i, j, i, j >
 
class  Tensor2_symmetric_and_Tensor2_symmetric< A, B, T, U, Dim, Dim, i, j, j, i >
 
class  Tensor2_symmetric_carat_Tensor2
 
class  Tensor2_symmetric_carat_Tensor2< A, B, T, U, Dim, Dim, Dim, i, j, j, k >
 
class  Tensor2_symmetric_carat_Tensor2< A, B, T, U, Dim, Dim, Dim, i, j, k, j >
 
class  Tensor2_symmetric_carat_Tensor2< A, B, T, U, Dim, Dim, Dim, j, i, j, k >
 
class  Tensor2_symmetric_carat_Tensor2< A, B, T, U, Dim, Dim, Dim, j, i, k, j >
 
class  Tensor2_symmetric_constructor
 
class  Tensor2_symmetric_constructor< T, 1 >
 
class  Tensor2_symmetric_constructor< T, 2 >
 
class  Tensor2_symmetric_constructor< T, 3 >
 
class  Tensor2_symmetric_constructor< T, 4 >
 
class  Tensor2_symmetric_divide_generic
 
class  Tensor2_symmetric_Expr
 
class  Tensor2_symmetric_Expr< Ddg_number_rhs_01< A, T, N0, N1 >, T, Dim, i, j >
 
class  Tensor2_symmetric_Expr< Dg_number_rhs_2< A, T, N >, T, Dim, i, j >
 
class  Tensor2_symmetric_Expr< Tensor2_symmetric< A, Tensor_Dim >, T, Dim, i, j >
 
class  Tensor2_symmetric_minus_generic
 
class  Tensor2_symmetric_minus_Tensor2
 
class  Tensor2_symmetric_minus_Tensor2< A, B, T, U, Dim, Dim, Dim, i, j, i, j >
 
class  Tensor2_symmetric_minus_Tensor2< A, B, T, U, Dim, Dim, Dim, i, j, j, i >
 
class  Tensor2_symmetric_minus_Tensor2_symmetric
 
class  Tensor2_symmetric_minus_Tensor2_symmetric< A, B, T, U, Dim, Dim, i, j, i, j >
 
class  Tensor2_symmetric_minus_Tensor2_symmetric< A, B, T, U, Dim, Dim, i, j, j, i >
 
class  Tensor2_symmetric_mod_Tensor2_symmetric
 
class  Tensor2_symmetric_mod_Tensor2_symmetric< A, B, T, U, Dim, Dim, i, j, i, j >
 
class  Tensor2_symmetric_mod_Tensor2_symmetric< A, B, T, U, Dim, Dim, i, j, j, i >
 
class  Tensor2_symmetric_plus_Tensor2
 
class  Tensor2_symmetric_plus_Tensor2< A, B, T, U, Dim, Dim, Dim, i, j, i, j >
 
class  Tensor2_symmetric_plus_Tensor2< A, B, T, U, Dim, Dim, Dim, i, j, j, i >
 
class  Tensor2_symmetric_plus_Tensor2_symmetric
 
class  Tensor2_symmetric_plus_Tensor2_symmetric< A, B, T, U, Dim, Dim, i, j, i, j >
 
class  Tensor2_symmetric_plus_Tensor2_symmetric< A, B, T, U, Dim, Dim, i, j, j, i >
 
class  Tensor2_symmetric_times_Tensor1
 
class  Tensor2_symmetric_times_Tensor1_0
 
class  Tensor2_symmetric_times_Tensor1_1
 
class  Tensor2_symmetric_times_Tensor2_00
 
class  Tensor2_symmetric_times_Tensor2_01
 
class  Tensor2_symmetric_times_Tensor2_10
 
class  Tensor2_symmetric_times_Tensor2_11
 
class  Tensor2_symmetric_times_Tensor2_symmetric
 
class  Tensor2_symmetric_times_Tensor2_symmetric_00
 
class  Tensor2_symmetric_times_Tensor2_symmetric_01
 
class  Tensor2_symmetric_times_Tensor2_symmetric_10
 
class  Tensor2_symmetric_times_Tensor2_symmetric_11
 
class  Tensor2_times_generic
 
class  Tensor2_times_Tensor1
 
class  Tensor2_times_Tensor1_single
 
class  Tensor2_times_Tensor2
 
class  Tensor2_times_Tensor2_00
 
class  Tensor2_times_Tensor2_01
 
class  Tensor2_times_Tensor2_10
 
class  Tensor2_times_Tensor2_11
 
class  Tensor3
 
class  Tensor3< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >
 
class  Tensor3< T *, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >
 
class  Tensor3_antisymmetric
 
class  Tensor3_antisymmetric< T *, Tensor_Dim0, Tensor_Dim12 >
 
class  Tensor3_antisymmetric_constructor
 
class  Tensor3_antisymmetric_constructor< T, 2, 2 >
 
class  Tensor3_antisymmetric_constructor< T, 3, 3 >
 
class  Tensor3_antisymmetric_constructor< T, 4, 4 >
 
class  Tensor3_antisymmetric_Expr
 
class  Tensor3_antisymmetric_Expr< Tensor3_antisymmetric< A, Dim0, Dim12 >, T, Dim0, Dim12, i, j, k >
 
class  Tensor3_antisymmetric_mod_Tensor1
 
class  Tensor3_antisymmetric_or_Tensor3_antisymmetric
 
class  Tensor3_antisymmetric_plus_Tensor3_antisymmetric
 
class  Tensor3_antisymmetric_plus_Tensor3_antisymmetric_12
 
class  Tensor3_antisymmetric_times_generic
 
class  Tensor3_constructor
 
class  Tensor3_constructor< T, 2, 2, 2 >
 
class  Tensor3_constructor< T, 3, 3, 3 >
 
class  Tensor3_constructor< T, 4, 4, 4 >
 
class  Tensor3_contracted_01
 
class  Tensor3_contracted_02
 
class  Tensor3_contracted_12
 
class  Tensor3_Expr
 
class  Tensor3_Expr< Tensor3< A, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 >, T, Dim0, Dim1, Dim2, i, j, k >
 
class  Tensor3_Expr< Tensor4_number_rhs_2< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >
 
class  Tensor3_Expr< Tensor4_number_rhs_3< A, T, N >, T, Dim0, Dim1, Dim2, i, j, k >
 
class  Tensor3_minus_Tensor3
 
class  Tensor3_minus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim0, Dim1, Dim2, i, j, k, i, j, k >
 
class  Tensor3_minus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim0, Dim2, Dim1, i, j, k, i, k, j >
 
class  Tensor3_minus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim1, Dim0, Dim2, i, j, k, j, i, k >
 
class  Tensor3_minus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim1, Dim2, Dim0, i, j, k, j, k, i >
 
class  Tensor3_minus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim2, Dim0, Dim1, i, j, k, k, i, j >
 
class  Tensor3_minus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim2, Dim1, Dim0, i, j, k, k, j, i >
 
class  Tensor3_number_0
 
class  Tensor3_number_01
 
class  Tensor3_number_02
 
class  Tensor3_number_1
 
class  Tensor3_number_12
 
class  Tensor3_number_2
 
class  Tensor3_number_rhs_0
 
class  Tensor3_number_rhs_01
 
class  Tensor3_number_rhs_02
 
class  Tensor3_number_rhs_1
 
class  Tensor3_number_rhs_12
 
class  Tensor3_number_rhs_2
 
class  Tensor3_numeral_0
 
class  Tensor3_numeral_01
 
class  Tensor3_numeral_12
 
class  Tensor3_numeral_2
 
class  Tensor3_or_Tensor3
 
class  Tensor3_or_Tensor3< A, B, T, U, Dim0, Dim12, Dim12, Dim0, Dim12, Dim12, i, j, k, i, k, j >
 
class  Tensor3_or_Tensor3< A, B, T, U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02, i, j, k, j, i, k >
 
class  Tensor3_or_Tensor3< A, B, T, U, Dim02, Dim1, Dim02, Dim02, Dim1, Dim02, i, j, k, k, j, i >
 
class  Tensor3_plus_Tensor3
 
class  Tensor3_plus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim0, Dim1, Dim2, i, j, k, i, j, k >
 
class  Tensor3_plus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim0, Dim2, Dim1, i, j, k, i, k, j >
 
class  Tensor3_plus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim1, Dim0, Dim2, i, j, k, j, i, k >
 
class  Tensor3_plus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim1, Dim2, Dim0, i, j, k, j, k, i >
 
class  Tensor3_plus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim2, Dim0, Dim1, i, j, k, k, i, j >
 
class  Tensor3_plus_Tensor3< A, B, T, U, Dim0, Dim1, Dim2, Dim2, Dim1, Dim0, i, j, k, k, j, i >
 
class  Tensor3_times_Dg
 
class  Tensor3_times_Dg_02_20
 
class  Tensor3_times_Tensor1_0
 
class  Tensor3_times_Tensor1_1
 
class  Tensor3_times_Tensor1_2
 
class  Tensor3_times_Tensor2_0_01
 
class  Tensor3_times_Tensor2_0_10
 
class  Tensor3_times_Tensor2_1_01
 
class  Tensor3_times_Tensor2_1_10
 
class  Tensor3_times_Tensor2_2_01
 
class  Tensor3_times_Tensor2_2_10
 
class  Tensor3_times_Tensor2_double
 
class  Tensor3_times_Tensor2_symmetric_01
 
class  Tensor3_times_Tensor2_symmetric_02
 
class  Tensor3_times_Tensor2_symmetric_1
 
class  Tensor3_times_Tensor2_symmetric_12
 
class  Tensor3_times_Tensor3_12_21
 
class  Tensor3_times_Tensor3_21
 
class  Tensor3_times_Tensor3_23_32
 
class  Tensor4
 
class  Tensor4< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2, Tensor_Dim3 >
 
class  Tensor4< T *, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2, Tensor_Dim3 >
 
class  Tensor4_constructor
 
class  Tensor4_constructor< T, 2, 2, 2, 2 >
 
class  Tensor4_constructor< T, 3, 3, 3, 3 >
 
class  Tensor4_contracted_01
 
class  Tensor4_contracted_02
 
class  Tensor4_contracted_03
 
class  Tensor4_contracted_12
 
class  Tensor4_contracted_13
 
class  Tensor4_contracted_23
 
class  Tensor4_Expr
 
class  Tensor4_Expr< Tensor4< A, Dim0, Dim1, Dim2, Dim3 >, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l >
 
class  Tensor4_minus_Tensor4
 
class  Tensor4_number_2
 
class  Tensor4_number_3
 
class  Tensor4_number_rhs_2
 
class  Tensor4_number_rhs_3
 
class  Tensor4_numeral_2
 
class  Tensor4_numeral_3
 
class  Tensor4_or_Tensor4
 
class  Tensor4_or_Tensor4< A, B, T, U, Dim01, Dim01, Dim23, Dim23, Dim01, Dim01, Dim23, Dim23, i, j, k, l, j, i, l, k >
 
class  Tensor4_plus_Tensor4
 
class  Tensor4_times_Tensor1_0
 
class  Tensor4_times_Tensor1_1
 
class  Tensor4_times_Tensor1_2
 
class  Tensor4_times_Tensor1_3
 
class  Tensor4_times_Tensor2_03
 
class  Tensor4_times_Tensor2_0_0
 
class  Tensor4_times_Tensor2_0_1
 
class  Tensor4_times_Tensor2_13
 
class  Tensor4_times_Tensor2_1_0
 
class  Tensor4_times_Tensor2_1_1
 
class  Tensor4_times_Tensor2_23
 
class  Tensor4_times_Tensor2_2_0
 
class  Tensor4_times_Tensor2_2_1
 
class  Tensor4_times_Tensor2_30
 
class  Tensor4_times_Tensor2_32
 
class  Tensor4_times_Tensor2_3_0
 
class  Tensor4_times_Tensor2_3_1
 
class  Tensor4_times_Tensor2_double
 
class  Tensor4_times_Tensor2_single
 
class  Tensor4_times_Tensor2_symmetric_01
 
class  Tensor4_times_Tensor2_symmetric_02
 
class  Tensor4_times_Tensor2_symmetric_03
 
class  Tensor4_times_Tensor2_symmetric_23
 
class  Tensor4_times_Tensor2_symmetric_30
 
class  Tensor4_times_Tensor2_symmetric_32
 
class  Tensor4_times_Tensor3_12_21
 
class  Tensor4_times_Tensor3_23
 
class  Tensor4_times_Tensor3_triple
 
class  Tensor_Levi_Civita
 
class  transform_Tensor2
 

Enumerations

enum  Layout { column_major, row_major }
 

Functions

template<class A , class B , class T , class U , char i, char j, char k>
auto cross (const Tensor1_Expr< A, T, 3, i > &a, const Tensor1_Expr< B, U, 3, j > &b, const Index< k, 3 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Riemann_Expr< Ddg_and_Ddg0321< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, j, k, l > operator && (const Ddg_Expr< A, T, Dim, Dim, i, k, j, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, l, k, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Riemann_Expr< Ddg_and_Ddg0213< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, j, k, l > operator && (const Ddg_Expr< A, T, Dim, Dim, i, k, l, j > &a, const Ddg_Expr< B, U, Dim, Dim, i, l, k, j > &b)
 
template<class A , class B , class T , class U , int Dim01_0, int Dim23_0, int Dim_1, char i0, char j0, char k0, char l0, char i1, char j1>
Ddg_Expr< Ddg_and_Tensor2_symmetric< A, B, T, U, Dim01_0, Dim23_0, Dim_1, i0, j0, k0, l0, i1, j1 >, typename promote< T, U >::V, Dim01_0, Dim23_0, i0, j0, k0, l0 > operator & (const Ddg_Expr< A, T, Dim01_0, Dim23_0, i0, j0, k0, l0 > &a, const Tensor2_symmetric_Expr< B, U, Dim_1, i1, j1 > &b)
 
template<class A , class B , class T , class U , int Dim01_0, int Dim23_0, int Dim_1, char i0, char j0, char k0, char l0, char i1, char j1>
Ddg_Expr< Ddg_and_Tensor2_symmetric< A, B, T, U, Dim01_0, Dim23_0, Dim_1, i0, j0, k0, l0, i1, j1 >, typename promote< T, U >::V, Dim01_0, Dim23_0, i0, j0, k0, l0 > operator & (const Tensor2_symmetric_Expr< B, U, Dim_1, i1, j1 > &b, const Ddg_Expr< A, T, Dim01_0, Dim23_0, i0, j0, k0, l0 > &a)
 
template<class A , class B , class T , class U , int Dim, int Dim23, char i, char j, char k, char l, char m, char n>
Ddg_Expr< Ddg_carat_Ddg_13< A, B, T, U, Dim, Dim23, i, j, k, l, m, n >, typename promote< T, U >::V, Dim, Dim23, i, k, m, n > operator^ (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim23, j, l, m, n > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_carat_Tensor2_symmetric_13< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, k > operator^ (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, l > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_carat_Tensor2_symmetric_13< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, k > operator^ (const Tensor2_symmetric_Expr< B, U, Dim, j, l > &b, const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a)
 
template<class A , class B , class U , int Current_Dim0, int Current_Dim1, int Current_Dim2, int Current_Dim3, int Dim01, int Dim23, char i, char j, char k, char l>
void T4ddg_equals_T4ddg (A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class U , int Current_Dim1, int Current_Dim2, int Current_Dim3, int Dim01, int Dim23, char i, char j, char k, char l>
void T4ddg_equals_T4ddg (A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class U , int Current_Dim2, int Current_Dim3, int Dim01, int Dim23, char i, char j, char k, char l>
void T4ddg_equals_T4ddg (A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class U , int Current_Dim3, int Dim01, int Dim23, char i, char j, char k, char l>
void T4ddg_equals_T4ddg (A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class U , int Dim01, int Dim23, char i, char j, char k, char l>
void T4ddg_equals_T4ddg (A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class U , int Current_Dim0, int Current_Dim1, int Current_Dim2, int Current_Dim3, int Dim01, int Dim23, char i, char j, char k, char l>
void T4ddg_plus_equals_T4ddg (A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class U , int Current_Dim1, int Current_Dim2, int Current_Dim3, int Dim01, int Dim23, char i, char j, char k, char l>
void T4ddg_plus_equals_T4ddg (A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class U , int Current_Dim2, int Current_Dim3, int Dim01, int Dim23, char i, char j, char k, char l>
void T4ddg_plus_equals_T4ddg (A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class U , int Current_Dim3, int Dim01, int Dim23, char i, char j, char k, char l>
void T4ddg_plus_equals_T4ddg (A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class U , int Dim01, int Dim23, char i, char j, char k, char l>
void T4ddg_plus_equals_T4ddg (A &iter, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &result, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Ddg_Expr< Ddg_minus_Ddg< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim23, i, j, k, l > operator- (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Ddg_Expr< B, U, Dim01, Dim23, i, j, k, l > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Riemann_Expr< Ddg_mod_Ddg< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, j, k, l > operator% (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, l, k, j > &b)
 
template<class A , class B , class T , class U , int Dim01_0, int Dim23_0, int Dim_1, char i0, char j0, char k0, char l0, char i1, char j1>
Ddg_Expr< Ddg_mod_Tensor2_symmetric< A, B, T, U, Dim01_0, Dim23_0, Dim_1, i0, j0, k0, l0, i1, j1 >, typename promote< T, U >::V, Dim01_0, Dim23_0, i0, j0, k0, l0 > operator% (const Ddg_Expr< A, T, Dim01_0, Dim23_0, i0, j0, k0, l0 > &a, const Tensor2_symmetric_Expr< B, U, Dim_1, i1, j1 > &b)
 
template<class A , class B , class T , class U , int Dim01_0, int Dim23_0, int Dim_1, char i0, char j0, char k0, char l0, char i1, char j1>
Ddg_Expr< Ddg_mod_Tensor2_symmetric< A, B, T, U, Dim01_0, Dim23_0, Dim_1, i0, j0, k0, l0, i1, j1 >, typename promote< T, U >::V, Dim01_0, Dim23_0, i0, j0, k0, l0 > operator% (const Tensor2_symmetric_Expr< B, U, Dim_1, i1, j1 > &b, const Ddg_Expr< A, T, Dim01_0, Dim23_0, i0, j0, k0, l0 > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Ddg_Expr< Ddg_or_Ddg< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, i, k, j, l > operator|| (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, l, k, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_or_Tensor2_symmetric_13< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, k > operator| (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, l > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_or_Tensor2_symmetric_13< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, k > operator| (const Tensor2_symmetric_Expr< B, U, Dim, j, l > &b, const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01_0, int Dim23_0, int Dim01_1, int Dim23_1, char i0, char j0, char k0, char l0, char i1, char j1, char k1, char l1>
Ddg_Expr< Ddg_plus_Ddg< A, B, T, U, Dim01_0, Dim23_0, Dim01_1, Dim23_1, i0, j0, k0, l0, i1, j1, k1, l1 >, typename promote< T, U >::V, Dim01_0, Dim23_0, i0, j0, k0, l0 > operator+ (const Ddg_Expr< A, T, Dim01_0, Dim23_0, i0, j0, k0, l0 > &a, const Ddg_Expr< B, U, Dim01_1, Dim23_1, i1, j1, k1, l1 > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l, int Current_Dim0, int Current_Dim1, int Current_Dim2, int Current_Dim3>
promote< T, U >::V T4ddg_times_T4ddg_0213 (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, k, j, l > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l, int Current_Dim1, int Current_Dim2, int Current_Dim3>
promote< T, U >::V T4ddg_times_T4ddg_0213 (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, k, j, l > &b, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l, int Current_Dim2, int Current_Dim3>
promote< T, U >::V T4ddg_times_T4ddg_0213 (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, k, j, l > &b, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l, int Current_Dim3>
promote< T, U >::V T4ddg_times_T4ddg_0213 (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, k, j, l > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim3 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
promote< T, U >::V T4ddg_times_T4ddg_0213 (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, k, j, l > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
promote< T, U >::V operator* (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, k, j, l > &b)
 
template<class A , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
auto operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const U &d0)
 
template<class A , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
auto operator* (const U &d0, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
auto operator/ (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const U &d0)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Dg_Expr< Ddg_times_Tensor1_2< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim23, i, j, l > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim23, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Dg_Expr< Ddg_times_Tensor1_2< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim23, i, j, l > operator* (const Tensor1_Expr< B, U, Dim23, k > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_times_Tensor2_23< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, i, j > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim23, Dim23, k, l > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_times_Tensor2_23< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, i, j > operator* (const Tensor2_Expr< B, U, Dim23, Dim23, k, l > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_times_Tensor2_32< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, i, j > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim23, Dim23, l, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_times_Tensor2_32< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, i, j > operator* (const Tensor2_Expr< B, U, Dim23, Dim23, l, k > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Tensor2_Expr< Ddg_times_Tensor2_13< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim23, i, k > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim01, Dim23, j, l > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Tensor2_Expr< Ddg_times_Tensor2_13< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim23, i, k > operator* (const Tensor2_Expr< B, U, Dim01, Dim23, j, l > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_3_1< A, B, T, U, Dim01, Dim23, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim01, Dim23, Dim4, i, j, k, m > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim23, Dim4, l, m > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_3_1< A, B, T, U, Dim01, Dim23, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim01, Dim23, Dim4, i, j, k, m > operator* (const Tensor2_Expr< B, U, Dim23, Dim4, l, m > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_3_0< A, B, T, U, Dim01, Dim23, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim01, Dim23, Dim4, i, j, k, m > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim4, Dim23, m, l > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_3_0< A, B, T, U, Dim01, Dim23, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim01, Dim23, Dim4, i, j, k, m > operator* (const Tensor2_Expr< B, U, Dim4, Dim23, m, l > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_2_0< A, B, T, U, Dim01, Dim23, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim01, Dim23, Dim4, i, j, m, l > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim4, Dim23, m, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_2_0< A, B, T, U, Dim01, Dim23, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim01, Dim23, Dim4, i, j, m, l > operator* (const Tensor2_Expr< B, U, Dim4, Dim23, m, k > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_2_1< A, B, T, U, Dim01, Dim23, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim01, Dim23, Dim4, i, j, m, l > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim4, Dim23, k, m > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_2_1< A, B, T, U, Dim01, Dim23, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim01, Dim23, Dim4, i, j, m, l > operator* (const Tensor2_Expr< B, U, Dim4, Dim23, k, m > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim2, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_1_0< A, B, T, U, Dim01, Dim23, Dim2, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim2, Dim23, Dim23, i, m, k, l > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim01, Dim2, j, m > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim2, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_1_0< A, B, T, U, Dim01, Dim23, Dim2, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim2, Dim23, Dim23, i, m, k, l > operator* (const Tensor2_Expr< B, U, Dim01, Dim2, j, m > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim2, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_1_1< A, B, T, U, Dim01, Dim23, Dim2, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim2, Dim23, Dim23, i, m, k, l > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim01, Dim2, m, j > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim2, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_1_1< A, B, T, U, Dim01, Dim23, Dim2, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim2, Dim23, Dim23, i, m, k, l > operator* (const Tensor2_Expr< B, U, Dim01, Dim2, m, j > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim1, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_0_0< A, B, T, U, Dim01, Dim23, Dim1, i, j, k, l, m >, typename promote< T, U >::V, Dim1, Dim01, Dim23, Dim23, m, j, k, l > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim01, Dim1, i, m > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim1, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_0_0< A, B, T, U, Dim01, Dim23, Dim1, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim01, Dim23, Dim1, m, j, k, l > operator* (const Tensor2_Expr< B, U, Dim01, Dim1, i, m > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim1, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_0_1< A, B, T, U, Dim01, Dim23, Dim1, i, j, k, l, m >, typename promote< T, U >::V, Dim1, Dim01, Dim23, Dim23, m, j, k, l > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim01, Dim1, m, i > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim1, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Ddg_times_Tensor2_0_1< A, B, T, U, Dim01, Dim23, Dim1, i, j, k, l, m >, typename promote< T, U >::V, Dim1, Dim01, Dim23, Dim23, m, j, k, l > operator* (const Tensor2_Expr< B, U, Dim01, Dim1, m, i > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor2_Expr< Ddg_times_Tensor2_symmetric_13< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, i, k > operator* (const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, l > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor2_Expr< Ddg_times_Tensor2_symmetric_13< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, i, k > operator* (const Tensor2_symmetric_Expr< B, U, Dim, j, l > &b, const Ddg_Expr< A, T, Dim, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_times_Tensor2_symmetric_01< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim23, k, l > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_times_Tensor2_symmetric_01< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim23, k, l > operator* (const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_times_Tensor2_symmetric_23< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, i, j > operator* (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim23, k, l > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Ddg_times_Tensor2_symmetric_23< A, B, T, U, Dim01, Dim23, i, j, k, l >, typename promote< T, U >::V, Dim01, i, j > operator* (const Tensor2_symmetric_Expr< B, U, Dim23, k, l > &b, const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class T , int Dim01, int Dim23, char i, char j, char k, char l>
Ddg_Expr< minus_Ddg< A, T, Dim01, Dim23, i, j, k, l >, T, Dim01, Dim23, i, j, k, l > operator- (const Ddg_Expr< A, T, Dim01, Dim23, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor3_antisymmetric_Expr< Dg_and_Dg_12< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, i, j, k > operator && (const Dg_Expr< A, T, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim, i, k, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor3_antisymmetric_Expr< Dg_and_Dg_02< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, j, i, k > operator && (const Dg_Expr< A, T, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim, k, j, i > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg_and_Tensor1< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j, k > operator & (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor1_Expr< B, U, Dim2, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg_and_Tensor1< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j, k > operator & (const Tensor1_Expr< B, U, Dim2, k > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg_and_Tensor2_symmetric< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j, k > operator & (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg_and_Tensor2_symmetric< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j, k > operator & (const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg_divide_generic< A, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j, k > operator/ (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const U &d0)
 
template<class A , class B , class U , int Dim01, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
void T3dg_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim01, int Dim2, char i, char j, char k, int Current_Dim1, int Current_Dim2>
void T3dg_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim01, int Dim2, char i, char j, char k, int Current_Dim2>
void T3dg_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim01, int Dim2, char i, char j, char k>
void T3dg_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim01, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
void T3dg_plus_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim01, int Dim2, char i, char j, char k, int Current_Dim1, int Current_Dim2>
void T3dg_plus_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim01, int Dim2, char i, char j, char k, int Current_Dim2>
void T3dg_plus_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim01, int Dim2, char i, char j, char k>
void T3dg_plus_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &result, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class U , int Dim01, int Dim2, int Current_Dim0, int Current_Dim1, int Current_Dim2>
void T3dg_equals_generic (A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Dim01 > &, const Number< Dim2 > &)
 
template<class A , class U , int Dim01, int Dim2, int Current_Dim1, int Current_Dim2>
void T3dg_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Dim01 > &, const Number< Dim2 > &)
 
template<class A , class U , int Dim01, int Dim2, int Current_Dim2>
void T3dg_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &, const Number< Dim01 > &, const Number< Dim2 > &)
 
template<class A , class U , int Dim01, int Dim2>
void T3dg_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< Dim01 > &, const Number< Dim2 > &)
 
template<class A , class B , class U , int Dim12, int Dim0, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
void T3ch_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim12, Dim0, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim12, int Dim0, char i, char j, char k, int Current_Dim1, int Current_Dim2>
void T3ch_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim12, Dim0, i, j, k > &result, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim12, int Dim0, char i, char j, char k, int Current_Dim2>
void T3ch_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim12, Dim0, i, j, k > &result, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim12, int Dim0, char i, char j, char k>
void T3ch_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim12, Dim0, i, j, k > &result, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class U , int Dim12, int Dim0, int Current_Dim0, int Current_Dim1, int Current_Dim2>
void T3ch_equals_generic (A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Dim12 > &, const Number< Dim0 > &)
 
template<class A , class U , int Dim12, int Dim0, int Current_Dim1, int Current_Dim2>
void T3ch_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Dim12 > &, const Number< Dim0 > &)
 
template<class A , class U , int Dim12, int Dim0, int Current_Dim2>
void T3ch_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &, const Number< Dim12 > &, const Number< Dim0 > &)
 
template<class A , class U , int Dim12, int Dim0>
void T3ch_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< Dim12 > &, const Number< Dim0 > &)
 
template<class A , class B , class U , int Dim23, int Dim1, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2, int N>
void T4ddgrhs0_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim23, Dim1, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< N > &)
 
template<class A , class B , class U , int Dim23, int Dim1, char i, char j, char k, int Current_Dim1, int Current_Dim2, int N>
void T4ddgrhs0_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim23, Dim1, i, j, k > &result, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< N > &)
 
template<class A , class B , class U , int Dim23, int Dim1, char i, char j, char k, int Current_Dim2, int N>
void T4ddgrhs0_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim23, Dim1, i, j, k > &result, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &, const Number< N > &)
 
template<class A , class B , class U , int Dim23, int Dim1, char i, char j, char k, int N>
void T4ddgrhs0_equals_T3dg (A &iter, const Dg_Expr< B, U, Dim23, Dim1, i, j, k > &result, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< N > &)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg_minus_Dg< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j, k > operator- (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor3_Expr< Dg_minus_Dg_02< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, Dim, i, j, k > operator- (const Dg_Expr< A, T, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim, k, j, i > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Dg_Expr< Dg_or_Dg_12< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, j, k, i > operator|| (const Dg_Expr< A, T, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim, i, k, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Dg_Expr< Dg_or_Dg_02< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, j, k, i > operator|| (const Dg_Expr< A, T, Dim, Dim, j, i, k > &a, const Dg_Expr< B, U, Dim, Dim, k, i, j > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg_plus_Dg< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j, k > operator+ (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim01, Dim2, i, j, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg_plus_Dg_10< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j, k > operator+ (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim01, Dim2, j, i, k > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor3_Expr< Dg_plus_Dg_210< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, Dim, i, j, k > operator+ (const Dg_Expr< A, T, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim, k, j, i > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Tensor2_Expr< Dg_times_Dg_12_01< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, i, l > operator* (const Dg_Expr< A, T, Dim01, Dim01, i, j, k > &a, const Dg_Expr< B, U, Dim01, Dim2, j, k, l > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Tensor2_Expr< Dg_times_Dg_12_01< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, i, l > operator* (const Dg_Expr< B, U, Dim01, Dim2, j, k, l > &b, const Dg_Expr< A, T, Dim01, Dim01, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Tensor2_Expr< Dg_times_Dg_12_20< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, i, l > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim2, Dim01, k, l, j > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Tensor2_Expr< Dg_times_Dg_12_20< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, i, l > operator* (const Dg_Expr< B, U, Dim2, Dim01, k, l, j > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim23, int Dim2, char i, char j, char k, char l, char m>
Ddg_Expr< Dg_times_Dg_2< A, B, T, U, Dim01, Dim23, Dim2, i, j, k, l, m >, typename promote< T, U >::V, Dim01, Dim23, i, j, l, m > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim23, Dim2, l, m, k > &b)
 
template<class A , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg_times_generic< A, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j, k > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const U &d0)
 
template<class A , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< Dg_times_generic< A, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j, k > operator* (const U &d0, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor2_symmetric_Expr< Dg_times_Tensor1_2< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, i, j > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor1_Expr< B, U, Dim2, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor2_symmetric_Expr< Dg_times_Tensor1_2< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, i, j > operator* (const Tensor1_Expr< B, U, Dim2, k > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor2_Expr< Dg_times_Tensor1_1< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, k, j > &a, const Tensor1_Expr< B, U, Dim01, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor2_Expr< Dg_times_Tensor1_1< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j > operator* (const Tensor1_Expr< B, U, Dim01, k > &b, const Dg_Expr< A, T, Dim01, Dim2, i, k, j > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor2_Expr< Dg_times_Tensor1_0< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j > operator* (const Dg_Expr< A, T, Dim01, Dim2, k, i, j > &a, const Tensor1_Expr< B, U, Dim01, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor2_Expr< Dg_times_Tensor1_0< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, Dim2, i, j > operator* (const Tensor1_Expr< B, U, Dim01, k > &b, const Dg_Expr< A, T, Dim01, Dim2, k, i, j > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, int Dim3, char i, char j, char k, char l>
Dg_Expr< Dg_times_Tensor2_0< A, B, T, U, Dim01, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim3, i, j, l > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim2, Dim3, k, l > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, int Dim3, char i, char j, char k, char l>
Dg_Expr< Dg_times_Tensor2_0< A, B, T, U, Dim01, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim3, i, j, l > operator* (const Tensor2_Expr< B, U, Dim2, Dim3, k, l > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, int Dim3, char i, char j, char k, char l>
Dg_Expr< Dg_times_Tensor2_1< A, B, T, U, Dim01, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim3, i, j, l > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim3, Dim2, l, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, int Dim3, char i, char j, char k, char l>
Dg_Expr< Dg_times_Tensor2_1< A, B, T, U, Dim01, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim3, i, j, l > operator* (const Tensor2_Expr< B, U, Dim3, Dim2, l, k > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Dg_times_Tensor2_1_0< A, B, T, U, Dim01, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, Dim3, i, k, l > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim01, Dim3, j, l > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Dg_times_Tensor2_1_0< A, B, T, U, Dim01, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, Dim3, i, k, l > operator* (const Tensor2_Expr< B, U, Dim01, Dim3, j, l > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Dg_times_Tensor2_1_1< A, B, T, U, Dim01, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, Dim3, i, k, l > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim3, Dim01, l, j > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Dg_times_Tensor2_1_1< A, B, T, U, Dim01, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, Dim3, i, k, l > operator* (const Tensor2_Expr< B, U, Dim3, Dim01, l, j > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_12< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, i > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim01, Dim2, j, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_12< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, i > operator* (const Tensor2_Expr< B, U, Dim01, Dim2, j, k > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_21< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, i > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim2, Dim01, k, j > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_21< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, i > operator* (const Tensor2_Expr< B, U, Dim2, Dim01, k, j > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_02< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, i > operator* (const Dg_Expr< A, T, Dim01, Dim2, j, i, k > &a, const Tensor2_Expr< B, U, Dim01, Dim2, j, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_02< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, i > operator* (const Tensor2_Expr< B, U, Dim01, Dim2, j, k > &b, const Dg_Expr< A, T, Dim01, Dim2, j, i, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_20< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, i > operator* (const Dg_Expr< A, T, Dim01, Dim2, k, i, j > &a, const Tensor2_Expr< B, U, Dim2, Dim01, j, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_20< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim01, i > operator* (const Tensor2_Expr< B, U, Dim2, Dim01, j, k > &b, const Dg_Expr< A, T, Dim01, Dim2, k, i, j > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_01< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim2, i > operator* (const Dg_Expr< A, T, Dim01, Dim2, j, k, i > &a, const Tensor2_Expr< B, U, Dim01, Dim01, j, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_01< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim2, i > operator* (const Tensor2_Expr< B, U, Dim01, Dim01, j, k > &b, const Dg_Expr< A, T, Dim01, Dim2, j, k, i > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_10< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim2, i > operator* (const Dg_Expr< A, T, Dim01, Dim2, j, k, i > &a, const Tensor2_Expr< B, U, Dim01, Dim01, k, j > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_10< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim2, i > operator* (const Tensor2_Expr< B, U, Dim01, Dim01, k, j > &b, const Dg_Expr< A, T, Dim01, Dim2, j, k, i > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Dg_Expr< Dg_times_Tensor2_symmetric_0< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, i, j, l > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim2, k, l > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Dg_Expr< Dg_times_Tensor2_symmetric_0< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, i, j, l > operator* (const Tensor2_symmetric_Expr< B, U, Dim2, k, l > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Dg_Expr< Dg_times_Tensor2_symmetric_1< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, i, j, l > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim2, l, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Dg_Expr< Dg_times_Tensor2_symmetric_1< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, i, j, l > operator* (const Tensor2_symmetric_Expr< B, U, Dim2, l, k > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Tensor3_Expr< Dg_times_Tensor2_symmetric_1_0< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, Dim01, i, k, l > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim01, j, l > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Tensor3_Expr< Dg_times_Tensor2_symmetric_1_0< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, Dim01, i, k, l > operator* (const Tensor2_symmetric_Expr< B, U, Dim01, j, l > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Tensor3_Expr< Dg_times_Tensor2_symmetric_1_1< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, Dim01, i, k, l > operator* (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim01, l, j > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k, char l>
Tensor3_Expr< Dg_times_Tensor2_symmetric_1_1< A, B, T, U, Dim01, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim01, Dim2, Dim01, i, k, l > operator* (const Tensor2_symmetric_Expr< B, U, Dim01, l, j > &b, const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_12< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, i > operator* (const Dg_Expr< A, T, Dim, Dim, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_12< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, i > operator* (const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b, const Dg_Expr< A, T, Dim, Dim, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_21< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, i > operator* (const Dg_Expr< A, T, Dim, Dim, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim, k, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_21< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, i > operator* (const Tensor2_symmetric_Expr< B, U, Dim, k, j > &b, const Dg_Expr< A, T, Dim, Dim, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_02< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, i > operator* (const Dg_Expr< A, T, Dim, Dim, j, i, k > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_02< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, i > operator* (const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b, const Dg_Expr< A, T, Dim, Dim, j, i, k > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_20< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, i > operator* (const Dg_Expr< A, T, Dim, Dim, k, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_20< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, i > operator* (const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b, const Dg_Expr< A, T, Dim, Dim, k, i, j > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_01< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim2, i > operator* (const Dg_Expr< A, T, Dim01, Dim2, j, k, i > &a, const Tensor2_symmetric_Expr< B, U, Dim01, j, k > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_01< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim2, i > operator* (const Tensor2_symmetric_Expr< B, U, Dim01, j, k > &b, const Dg_Expr< A, T, Dim01, Dim2, j, k, i > &a)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_10< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim2, i > operator* (const Dg_Expr< A, T, Dim01, Dim2, j, k, i > &a, const Tensor2_symmetric_Expr< B, U, Dim01, k, j > &b)
 
template<class A , class B , class T , class U , int Dim01, int Dim2, char i, char j, char k>
Tensor1_Expr< Dg_times_Tensor2_symmetric_10< A, B, T, U, Dim01, Dim2, i, j, k >, typename promote< T, U >::V, Dim2, i > operator* (const Tensor2_symmetric_Expr< B, U, Dim01, k, j > &b, const Dg_Expr< A, T, Dim01, Dim2, j, k, i > &a)
 
template<class A , class T , int Dim01, int Dim2, char i, char j, char k>
Dg_Expr< minus_Dg< A, T, Dim01, Dim2, i, j, k >, T, Dim01, Dim2, i, j, k > operator- (const Dg_Expr< A, T, Dim01, Dim2, i, j, k > &a)
 
template<typename T >
constexpr bool error_when_instantiated ()
 
template<class T = int, char i, char j, int Dim0, int Dim1>
constexpr std::enable_if<(Dim0<=2 &&Dim1<=2), Tensor2_Expr< Levi_Civita< T >, T, Dim0, Dim1, i, j > >::type levi_civita (const Index< i, Dim0 > &, const Index< j, Dim1 > &)
 levi_civita functions to make for easy adhoc use More...
 
template<class T = int, char i, int Dim0>
constexpr auto levi_civita (const Index< i, Dim0 > &, const int &N1)
 
template<class T = int, char j, int Dim1>
constexpr auto levi_civita (const int &N0, const Index< j, Dim1 > &)
 
template<class T = int, char i, char j, char k, int Dim0, int Dim1, int Dim2>
constexpr std::enable_if<(Dim0<=3 &&Dim1<=3 &&Dim2<=3), Tensor3_Expr< Levi_Civita< T >, T, Dim0, Dim1, Dim2, i, j, k > >::type levi_civita (const Index< i, Dim0 > &, const Index< j, Dim1 > &, const Index< k, Dim2 > &)
 Rank 3. More...
 
template<class T = int, char i, char j, int Dim0, int Dim1>
constexpr auto levi_civita (const Index< i, Dim0 > &, const Index< j, Dim1 > &, const int &N2)
 
template<class T = int, char i, char k, int Dim0, int Dim2>
constexpr auto levi_civita (const Index< i, Dim0 > &, const int &N1, const Index< k, Dim2 > &)
 
template<class T = int, char j, char k, int Dim1, int Dim2>
constexpr auto levi_civita (const int &N0, const Index< j, Dim1 > &, const Index< k, Dim2 > &)
 
template<class T = int, char i, int Dim0>
constexpr auto levi_civita (const Index< i, Dim0 > &, const int &N1, const int &N2)
 
template<class T = int, char j, int Dim1>
constexpr auto levi_civita (const int &N0, const Index< j, Dim1 > &, const int &N2)
 
template<class T = int, char k, int Dim2>
constexpr auto levi_civita (const int &N0, const int &N1, const Index< k, Dim2 > &)
 
template<class T = int, char i, char j, char k, char l, int Dim0, int Dim1, int Dim2, int Dim3>
constexpr std::enable_if<(Dim0<=4 &&Dim1<=4 &&Dim2<=4 &&Dim3<=4), Tensor4_Expr< Levi_Civita< T >, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > >::type levi_civita (const Index< i, Dim0 > &, const Index< j, Dim1 > &, const Index< k, Dim2 > &, const Index< l, Dim3 > &)
 Rank 4. More...
 
template<class T = int, char i, char j, char k, int Dim0, int Dim1, int Dim2>
constexpr auto levi_civita (const Index< i, Dim0 > &, const Index< j, Dim1 > &, const Index< k, Dim2 > &, const int &N3)
 
template<class T = int, char i, char j, char l, int Dim0, int Dim1, int Dim3>
constexpr auto levi_civita (const Index< i, Dim0 > &, const Index< j, Dim1 > &, const int &N2, const Index< l, Dim3 > &)
 
template<class T = int, char i, char k, char l, int Dim0, int Dim2, int Dim3>
constexpr auto levi_civita (const Index< i, Dim0 > &, const int &N1, const Index< k, Dim2 > &, const Index< l, Dim3 > &)
 
template<class T = int, char j, char k, char l, int Dim1, int Dim2, int Dim3>
constexpr auto levi_civita (const int &N0, const Index< j, Dim1 > &, const Index< k, Dim2 > &, const Index< l, Dim3 > &)
 
template<class T = int, char i, char j, int Dim0, int Dim1>
constexpr auto levi_civita (const Index< i, Dim0 > &, const Index< j, Dim1 > &, const int &N2, const int &N3)
 
template<class T = int, char i, char k, int Dim0, int Dim2>
constexpr auto levi_civita (const Index< i, Dim0 > &, const int &N1, const Index< k, Dim2 > &, const int &N3)
 
template<class T = int, char j, char k, int Dim1, int Dim2>
constexpr auto levi_civita (const int &N0, const Index< j, Dim1 > &, const Index< k, Dim2 > &, const int &N3)
 
template<class T = int, char i, char l, int Dim0, int Dim3>
constexpr auto levi_civita (const Index< i, Dim0 > &, const int &N1, const int &N2, const Index< l, Dim3 > &)
 
template<class T = int, char j, char l, int Dim1, int Dim3>
constexpr auto levi_civita (const int &N0, const Index< j, Dim1 > &, const int &N2, const Index< l, Dim3 > &)
 
template<class T = int, char k, char l, int Dim2, int Dim3>
constexpr auto levi_civita (const int &N0, const int &N1, const Index< k, Dim2 > &, const Index< l, Dim3 > &)
 
template<class T = int, char i, int Dim0>
constexpr auto levi_civita (const Index< i, Dim0 > &, const int &N1, const int &N2, const int &N3)
 
template<class T = int, char j, int Dim1>
constexpr auto levi_civita (const int &N0, const Index< j, Dim1 > &, const int &N2, const int &N3)
 
template<class T = int, char k, int Dim2>
constexpr auto levi_civita (const int &N0, const int &N1, const Index< k, Dim2 > &, const int &N3)
 
template<class T = int, char l, int Dim3>
constexpr auto levi_civita (const int &N0, const int &N1, const int &N2, const Index< l, Dim3 > &)
 
template<class A , class T , class B , class U , int Dim0_0, int Dim0_1, int Dim1_0, int Dim1_1, char i0, char j0, char i1, char j1>
permute (const Tensor2_Expr< A, T, Dim0_0, Dim0_1, i0, j0 > &, const Tensor2_Expr< B, U, Dim1_0, Dim1_1, i1, j1 > &rhs, const int N0, const int N1)
 
template<class A , class T , class B , class U , int Dim0_0, int Dim0_1, int Dim0_2, int Dim1_0, int Dim1_1, int Dim1_2, char i0, char j0, char k0, char i1, char j1, char k1>
permute (const Tensor3_Expr< A, T, Dim0_0, Dim0_1, Dim0_2, i0, j0, k0 > &, const Tensor3_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, i1, j1, k1 > &rhs, const int N0, const int N1, const int N2)
 
template<class A , class T , class B , class U , int Dim0_0, int Dim0_1, int Dim0_2, int Dim0_3, int Dim1_0, int Dim1_1, int Dim1_2, int Dim1_3, char i0, char j0, char k0, char l0, char i1, char j1, char k1, char l1>
permute (const Tensor4_Expr< A, T, Dim0_0, Dim0_1, Dim0_2, Dim0_3, i0, j0, k0, l0 > &, const Tensor4_Expr< B, U, Dim1_0, Dim1_1, Dim1_2, Dim1_3, i1, j1, k1, l1 > &rhs, const int N0, const int N1, const int N2, const int N3)
 
template<class A , class T , class B , class U , int Dim0_0, int Dim0_1, int Dim1_0, int Dim1_1, char i0, char j0, char i1, char j1>
U & permute_ref (const Tensor2_Expr< A, T, Dim0_0, Dim0_1, i0, j0 > &, const Tensor2_Expr< B, U, Dim1_0, Dim1_1, i1, j1 > &rhs, const int N0, const int N1)
 
 DECLARE_PROMOTE (int, double, double)
 
 DECLARE_PROMOTE (double, int, double)
 
 DECLARE_PROMOTE (int, std::complex< double >, std::complex< double >)
 
 DECLARE_PROMOTE (std::complex< double >, int, std::complex< double >)
 
 DECLARE_PROMOTE (double, std::complex< double >, std::complex< double >)
 
 DECLARE_PROMOTE (std::complex< double >, double, std::complex< double >)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Riemann_Expr< Riemann_minus_Riemann< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, j, k, l > operator- (const Riemann_Expr< A, T, Dim, i, j, k, l > &a, const Riemann_Expr< B, U, Dim, i, j, k, l > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Riemann_Expr< Riemann_plus_Riemann< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, j, k, l > operator+ (const Riemann_Expr< A, T, Dim, i, j, k, l > &a, const Riemann_Expr< B, U, Dim, i, j, k, l > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
promote< T, U >::V operator* (const Riemann_Expr< A, T, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, j, k, l > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
promote< T, U >::V operator* (const Ddg_Expr< B, U, Dim, Dim, i, j, k, l > &b, const Riemann_Expr< A, T, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
promote< T, U >::V operator* (const Riemann_Expr< A, T, Dim, i, j, k, l > &a, const Ddg_Expr< B, U, Dim, Dim, i, k, j, l > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
promote< T, U >::V operator* (const Ddg_Expr< B, U, Dim, Dim, i, j, k, l > &b, const Riemann_Expr< A, T, Dim, i, k, j, l > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor3_antisymmetric_Expr< Riemann_times_Tensor1_0< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, j, k, l > operator* (const Riemann_Expr< A, T, Dim, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim, i > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor3_antisymmetric_Expr< Riemann_times_Tensor1_0< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, j, k, l > operator* (const Tensor1_Expr< B, U, Dim, i > &b, const Riemann_Expr< A, T, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor3_antisymmetric_Expr< Riemann_times_Tensor1_1< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, i, k, l > operator* (const Riemann_Expr< A, T, Dim, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor3_antisymmetric_Expr< Riemann_times_Tensor1_1< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, i, k, l > operator* (const Tensor1_Expr< B, U, Dim, j > &b, const Riemann_Expr< A, T, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor3_antisymmetric_Expr< Riemann_times_Tensor1_2< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, i, j, l > operator* (const Riemann_Expr< A, T, Dim, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim, k > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor3_antisymmetric_Expr< Riemann_times_Tensor1_2< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, i, j, l > operator* (const Tensor1_Expr< B, U, Dim, k > &b, const Riemann_Expr< A, T, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor3_antisymmetric_Expr< Riemann_times_Tensor1_3< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, i, j, k > operator* (const Riemann_Expr< A, T, Dim, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim, l > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor3_antisymmetric_Expr< Riemann_times_Tensor1_3< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, Dim, i, j, k > operator* (const Tensor1_Expr< B, U, Dim, l > &b, const Riemann_Expr< A, T, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Riemann_times_Tensor2_symmetric_0< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, j, l > operator* (const Riemann_Expr< A, T, Dim, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim, i, k > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Tensor2_symmetric_Expr< Riemann_times_Tensor2_symmetric_0< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, j, l > operator* (const Tensor2_symmetric_Expr< B, U, Dim, i, k > &b, const Riemann_Expr< A, T, Dim, i, j, k, l > &a)
 
template<class A , class B , char i, char j, char k, char l>
double operator* (const Riemann_Expr< A, i, j, k, l > &a, const Tensor4_Expr< B, i, j, k, l > &b)
 
template<class A , class B , char i, char j, char k, char l>
double operator* (const Tensor4_Expr< B, i, j, k, l > &b, const Riemann_Expr< A, i, j, k, l > &a)
 
template<class T , int Dim, char i>
const Tensor1_Expr< const d_boundary_Tensor0< T, Dim, i >, typename promote< T, double >::V, Dim, i > d_boundary (const Tensor0< T *> &a, const Index< i, Dim > index, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz, const Tensor2< bool, Dim, 2 > &boundary)
 
template<class T >
promote< T, double >::V d_one_sided (const Tensor0< T *> &a, const Number< 0 > n1, const int &di, const int &dj, const int &dk, const double &dx, const double &dy, const double &dz)
 
template<class T >
promote< T, double >::V d_one_sided (const Tensor0< T *> &a, const Number< 1 > n1, const int &di, const int &dj, const int &dk, const double &dx, const double &dy, const double &dz)
 
template<class T >
promote< T, double >::V d_one_sided (const Tensor0< T *> &a, const Number< 2 > n1, const int &di, const int &dj, const int &dk, const double &dx, const double &dy, const double &dz)
 
template<class T , int Dim, char i, char j>
const Tensor2_symmetric_Expr< const dd_boundary_Tensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd_boundary (const Tensor0< T *> &a, const Index< i, Dim > index3, const Index< j, Dim > index4, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz, const Tensor2< bool, Dim, 2 > &boundary)
 
template<class T , int Dim, char i, char j>
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd (const Tensor0< T *> &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
 
template<class T >
promote< T, double >::V diffusion (const Tensor0< T *> &a, const int &di, const int &dj, const int &dk, const double &dx)
 
template<class T , int Dim, char i>
const Tensor1_Expr< const dTensor0< T, Dim, i >, typename promote< T, double >::V, Dim, i > d (const Tensor0< T *> &a, const Index< i, Dim > index, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
 
template<class T >
promote< T, double >::V interpolate (const Tensor0< T *> &a, const int &di, const int &dj, const int &dk, const int &i0, const int &j0, const int &k0, const double distance[3], const double conjugate[3])
 
template<class T , int Dim, char i, int axis>
const Tensor1_Expr< const d_one_sided_Tensor1< T, Dim, i, axis >, typename promote< T, double >::V, Dim, i > d_one_sided (const Tensor1< T *, Dim > &a, const Number< axis > n1, const Index< i, Dim > index1, const int &di, const int &dj, const int &dk, const double &dx, const double &dy, const double &dz)
 
template<class T , int Dim0, int Dim12, char i, char j, char k>
const Dg_Expr< const ddTensor1< T, Dim0, Dim12, i, j, k >, typename promote< T, double >::V, Dim0, Dim12, i, j, k > dd (const Tensor1< T *, Dim0 > &a, const Index< k, Dim0 > index0, const Index< i, Dim12 > index1, const Index< j, Dim12 > index2, const Tensor1< int, Dim12 > &d_ijk, const Tensor1< double, Dim12 > &d_xyz)
 
template<class T , int Dim, char i>
const Tensor1_Expr< const diffusion_Tensor1< T, Dim, i >, typename promote< T, double >::V, Dim, i > diffusion (const Tensor1< T *, Dim > &a, const Index< i, Dim > index1, const int &di, const int &dj, const int &dk, const double &dx)
 
template<class T , int Dim0, int Dim1, char i, char j>
const Tensor2_Expr< const dTensor1< T, Dim0, Dim1, i, j >, typename promote< T, double >::V, Dim0, Dim1, i, j > d (const Tensor1< T *, Dim0 > &a, const Index< i, Dim0 > index1, const Index< j, Dim1 > index2, const Tensor1< int, Dim1 > &d_ijk, const Tensor1< double, Dim1 > &d_xyz)
 
template<class A , class T , class U , int Dim, char i>
Tensor1_Expr< generic_minus_Tensor1< A, T, U, Dim, i >, typename promote< T, U >::V, Dim, i > operator- (const U &d0, const Tensor1_Expr< A, T, Dim, i > &a)
 
template<class T , int Dim, char i>
const Tensor1_Expr< const interpolate_Tensor1< T, Dim, i >, typename promote< T, double >::V, Dim, i > interpolate (const Tensor1< T *, Dim > &a, const Index< i, Dim > index1, const int &di, const int &dj, const int &dk, const int &i0, const int &j0, const int &k0, const double distance[3], const double conjugate[3])
 
template<class A , class T , int Dim, char i>
Tensor1_Expr< minus_Tensor1< A, T, Dim, i >, T, Dim, i > operator- (const Tensor1_Expr< A, T, Dim, i > &a)
 
template<class A , class B , class T , class U , int Dim, char i>
Tensor1_Expr< Tensor1_and_Tensor1< A, B, T, U, Dim, i >, typename promote< T, U >::V, Dim, i > operator & (const Tensor1_Expr< A, T, Dim, i > &a, const Tensor1_Expr< B, U, Dim, i > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
Tensor2_symmetric_Expr< Tensor1_carat_Tensor1< A, B, T, U, Dim, i, j >, typename promote< T, U >::V, Dim, i, j > operator^ (const Tensor1_Expr< A, T, Dim, i > &a, const Tensor1_Expr< B, U, Dim, j > &b)
 
template<class A , class T , class U , int Dim, char i>
Tensor1_Expr< Tensor1_divide_generic< A, T, U, Dim, i >, typename promote< T, U >::V, Dim, i > operator/ (const Tensor1_Expr< A, T, Dim, i > &a, const U &d0)
 
template<class A , class B , class U , int Dim, char i, int Current_Dim>
void T1_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > result, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim, char i>
void T1_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > result, const Number< 1 > &)
 
template<class A , class B , class U , int Dim, char i, int Current_Dim>
void T1_equals_addolc_left_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > result, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim, char i>
void T1_equals_addolc_left_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > result, const Number< 1 > &)
 
template<class A , class B , class U , int Dim, char i, int Current_Dim>
void T1_equals_addolc_right_T1 (A &iter, Tensor1_Expr< B, U, Dim, i > result, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim, char i>
void T1_equals_addolc_right_T1 (A &iter, Tensor1_Expr< B, U, Dim, i > result, const Number< 1 > &)
 
template<class A , class B , class U , int Dim, char i, int Current_Dim>
void T1_plus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > result, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim, char i>
void T1_plus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > result, const Number< 1 > &)
 
template<class A , class B , class U , int Dim, char i, int Current_Dim>
void T1_minus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > result, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim, char i>
void T1_minus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > result, const Number< 1 > &)
 
template<class A , class U , int Current_Dim>
void T1_equals_generic (A &iter, const U &u, const Number< Current_Dim > &)
 
template<class A , class U >
void T1_equals_generic (A &iter, const U &u, const Number< 1 > &)
 
template<class A , class U , int Current_Dim>
void T1_plus_equals_generic (A &iter, const U &u, const Number< Current_Dim > &)
 
template<class A , class U >
void T1_plus_equals_generic (A &iter, const U &u, const Number< 1 > &)
 
template<class A , class U , int Current_Dim>
void T1_minus_equals_generic (A &iter, const U &u, const Number< Current_Dim > &)
 
template<class A , class U >
void T1_minus_equals_generic (A &iter, const U &u, const Number< 1 > &)
 
template<class A , class U , int Current_Dim>
void T1_times_equals_generic (A &iter, const U &u, const Number< Current_Dim > &)
 
template<class A , class U >
void T1_times_equals_generic (A &iter, const U &u, const Number< 1 > &)
 
template<class A , class U , int Current_Dim>
void T1_divide_equals_generic (A &iter, const U &u, const Number< Current_Dim > &)
 
template<class A , class U >
void T1_divide_equals_generic (A &iter, const U &u, const Number< 1 > &)
 
template<class A , class B , class U , int Dim1, char i, int N, int Current_Dim>
void T2rhs0_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim1, char i, int N>
void T2rhs0_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim1, char i, int N, int Current_Dim>
void T2rhs0_plus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim1, char i, int N>
void T2rhs0_plus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim1, char i, int N, int Current_Dim>
void T2rhs0_minus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim1, char i, int N>
void T2rhs0_minus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &, const Number< 1 > &)
 
template<class A , class U , int N, int Current_Dim>
void T2rhs0_equals_generic (A &iter, const U &u, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class U , int N>
void T2rhs0_equals_generic (A &iter, const U &u, const Number< N > &, const Number< 1 > &)
 
template<class A , class U , int N, int Current_Dim>
void T2rhs0_plus_equals_generic (A &iter, const U &u, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class U , int N>
void T2rhs0_plus_equals_generic (A &iter, const U &u, const Number< N > &, const Number< 1 > &)
 
template<class A , class U , int N, int Current_Dim>
void T2rhs0_minus_equals_generic (A &iter, const U &u, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class U , int N>
void T2rhs0_minus_equals_generic (A &iter, const U &u, const Number< N > &, const Number< 1 > &)
 
template<class A , class U , int N, int Current_Dim>
void T2rhs0_times_equals_generic (A &iter, const U &u, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class U , int N>
void T2rhs0_times_equals_generic (A &iter, const U &u, const Number< N > &, const Number< 1 > &)
 
template<class A , class U , int N, int Current_Dim>
void T2rhs0_divide_equals_generic (A &iter, const U &u, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class U , int N>
void T2rhs0_divide_equals_generic (A &iter, const U &u, const Number< N > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim1, char i, int N, int Current_Dim>
void T2rhs1_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim1, char i, int N>
void T2rhs1_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim1, char i, int N, int Current_Dim>
void T2rhs1_plus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim1, char i, int N>
void T2rhs1_plus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim1, char i, int N, int Current_Dim>
void T2rhs1_minus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim1, char i, int N>
void T2rhs1_minus_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim1, i > &result, const Number< N > &, const Number< 1 > &)
 
template<class A , class U , int N, int Current_Dim>
void T2rhs1_equals_generic (A &iter, const U &u, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class U , int N>
void T2rhs1_equals_generic (A &iter, const U &u, const Number< N > &, const Number< 1 > &)
 
template<class A , class U , int N, int Current_Dim>
void T2rhs1_plus_equals_generic (A &iter, const U &u, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class U , int N>
void T2rhs1_plus_equals_generic (A &iter, const U &u, const Number< N > &, const Number< 1 > &)
 
template<class A , class U , int N, int Current_Dim>
void T2rhs1_minus_equals_generic (A &iter, const U &u, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class U , int N>
void T2rhs1_minus_equals_generic (A &iter, const U &u, const Number< N > &, const Number< 1 > &)
 
template<class A , class U , int N, int Current_Dim>
void T2rhs1_times_equals_generic (A &iter, const U &u, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class U , int N>
void T2rhs1_times_equals_generic (A &iter, const U &u, const Number< N > &, const Number< 1 > &)
 
template<class A , class U , int N, int Current_Dim>
void T2rhs1_divide_equals_generic (A &iter, const U &u, const Number< N > &N1, const Number< Current_Dim > &)
 
template<class A , class U , int N>
void T2rhs1_divide_equals_generic (A &iter, const U &u, const Number< N > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim, char i, int N1, int N2, int Current_Dim>
void T3dgrhs12_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > &result, const Number< N1 > &NN1, const Number< N2 > &NN2, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim, char i, int N1, int N2>
void T3dgrhs12_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > &result, const Number< N1 > &, const Number< N2 > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim, char i, int N1, int N2, int Current_Dim>
void T3dgrhs01_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > &result, const Number< N1 > &NN1, const Number< N2 > &NN2, const Number< Current_Dim > &)
 
template<class A , class B , class U , int Dim, char i, int N1, int N2>
void T3dgrhs01_equals_T1 (A &iter, const Tensor1_Expr< B, U, Dim, i > &result, const Number< N1 > &, const Number< N2 > &, const Number< 1 > &)
 
template<class A , class T , class U , int Dim, char i>
Tensor1_Expr< Tensor1_minus_generic< A, T, U, Dim, i >, typename promote< T, U >::V, Dim, i > operator- (const Tensor1_Expr< A, T, Dim, i > &a, const U &d0)
 
template<class A , class B , class T , class U , char i, int Dim>
Tensor1_Expr< Tensor1_minus_Tensor1< A, B, T, U, Dim, i >, typename promote< T, U >::V, Dim, i > operator- (const Tensor1_Expr< A, T, Dim, i > &a, const Tensor1_Expr< B, U, Dim, i > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
Tensor2_symmetric_Expr< Tensor1_or_Tensor1< A, B, T, U, Dim, i, j >, typename promote< T, U >::V, Dim, i, j > operator|| (const Tensor1_Expr< A, T, Dim, i > &a, const Tensor1_Expr< B, U, Dim, j > &b)
 
template<class A , class T , class U , int Dim, char i>
Tensor1_Expr< Tensor1_plus_generic< A, T, U, Dim, i >, typename promote< T, U >::V, Dim, i > operator+ (const Tensor1_Expr< A, T, Dim, i > &a, const U &d0)
 
template<class A , class T , class U , int Dim, char i>
Tensor1_Expr< Tensor1_plus_generic< A, T, U, Dim, i >, typename promote< T, U >::V, Dim, i > operator+ (const U &d0, const Tensor1_Expr< A, T, Dim, i > &a)
 
template<class A , class B , class T , class U , char i, int Dim>
Tensor1_Expr< Tensor1_plus_Tensor1< A, B, T, U, Dim, i >, typename promote< T, U >::V, Dim, i > operator+ (const Tensor1_Expr< A, T, Dim, i > &a, const Tensor1_Expr< B, U, Dim, i > &b)
 
template<class A , class T , class U , int Dim, char i>
Tensor1_Expr< Tensor1_times_generic< A, T, U, Dim, i >, typename promote< T, U >::V, Dim, i > operator* (const Tensor1_Expr< A, T, Dim, i > &a, const U &d0)
 
template<class A , class T , class U , int Dim, char i>
Tensor1_Expr< Tensor1_times_generic< A, T, U, Dim, i >, typename promote< T, U >::V, Dim, i > operator* (const U &d0, const Tensor1_Expr< A, T, Dim, i > &a)
 
template<class A , class B , class T , class U , int Dim, char i, int Current_Dim>
promote< T, U >::V T1_times_T1 (const Tensor1_Expr< A, T, Dim, i > &a, const Tensor1_Expr< B, U, Dim, i > &b, const Number< Current_Dim > &)
 
template<class A , class B , class T , class U , int Dim, char i>
promote< T, U >::V T1_times_T1 (const Tensor1_Expr< A, T, Dim, i > &a, const Tensor1_Expr< B, U, Dim, i > &b, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, char i>
promote< T, U >::V operator* (const Tensor1_Expr< A, T, Dim, i > &a, const Tensor1_Expr< B, U, Dim, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j>
Tensor2_Expr< Tensor1_times_Tensor1< A, B, T, U, Dim0, Dim1, i, j >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor1_Expr< A, T, Dim0, i > &a, const Tensor1_Expr< B, U, Dim1, j > &b)
 
template<class A , class T , int Dim0, int Dim1, char i, char j>
Tensor2_Expr< conj_Tensor2< A, T, Dim0, Dim1, i, j >, T, Dim0, Dim1, i, j > conj (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a)
 
template<class A , class T , int Dim0, int Dim1, char i, char j>
Tensor2_Expr< minus_Tensor2< A, T, Dim0, Dim1, i, j >, T, Dim0, Dim1, i, j > operator- (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim0_1, char i0, char j0, char i1>
auto operator & (const Tensor2_Expr< A, T, Dim0_0, Dim1_0, i0, j0 > &a, const Tensor1_Expr< B, U, Dim0_1, i1 > &b)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim0_1, char i0, char j0, char i1>
auto operator & (const Tensor1_Expr< B, U, Dim0_1, i1 > &b, const Tensor2_Expr< A, T, Dim0_0, Dim1_0, i0, j0 > &a)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim0_1, int Dim1_1, char i0, char j0, char i1, char j1>
auto operator^ (const Tensor2_Expr< A, T, Dim0_0, Dim1_0, i0, j0 > &a, const Tensor2_Expr< B, U, Dim0_1, Dim1_1, i1, j1 > &b)
 
template<class A , class T , class U , int Dim0, int Dim1, char i, char j>
Tensor2_Expr< Tensor2_divide_generic< A, T, U, Dim0, Dim1, i, j >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator/ (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const U &d0)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim0_1, int Dim1_1, char i0, char j0, char i1, char j1>
Tensor2_Expr< Tensor2_minus_Tensor2< A, B, T, U, Dim0_0, Dim1_0, Dim0_1, Dim1_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim0_0, Dim1_0, i0, j0 > operator- (const Tensor2_Expr< A, T, Dim0_0, Dim1_0, i0, j0 > &a, const Tensor2_Expr< B, U, Dim0_1, Dim1_1, i1, j1 > &b)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim0_1, int Dim1_1, char i0, char j0, char i1, char j1>
Tensor2_symmetric_Expr< Tensor2_or_Tensor2< A, B, T, U, Dim0_0, Dim1_0, Dim0_1, Dim1_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim0_0, i0, j0 > operator|| (const Tensor2_Expr< A, T, Dim0_0, Dim1_0, i0, j0 > &a, const Tensor2_Expr< B, U, Dim0_1, Dim1_1, i1, j1 > &b)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim0_1, int Dim1_1, char i0, char j0, char i1, char j1>
Tensor2_Expr< Tensor2_plus_Tensor2< A, B, T, U, Dim0_0, Dim1_0, Dim0_1, Dim1_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim0_0, Dim1_0, i0, j0 > operator+ (const Tensor2_Expr< A, T, Dim0_0, Dim1_0, i0, j0 > &a, const Tensor2_Expr< B, U, Dim0_1, Dim1_1, i1, j1 > &b)
 
template<class A , class T , class U , int Dim0, int Dim1, char i, char j>
Tensor2_Expr< Tensor2_times_generic< A, T, U, Dim0, Dim1, i, j >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const U &d0)
 
template<class A , class T , class U , int Dim0, int Dim1, char i, char j>
Tensor2_Expr< Tensor2_times_generic< A, T, U, Dim0, Dim1, i, j >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const U &d0, const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j>
auto operator* (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor1_Expr< B, U, Dim1, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j>
auto operator* (const Tensor1_Expr< B, U, Dim1, j > &b, const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j>
auto operator* (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor1_Expr< B, U, Dim0, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j>
auto operator* (const Tensor1_Expr< B, U, Dim0, i > &b, const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor3_Expr< Tensor2_times_Tensor1< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim0, Dim1, Dim2, i, j, k > operator* (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor1_Expr< B, U, Dim2, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor3_Expr< Tensor2_times_Tensor1< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim0, Dim1, Dim2, i, j, k > operator* (const Tensor1_Expr< B, U, Dim2, k > &b, const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j, int Current_Dim0, int Current_Dim1>
promote< T, U >::V T2_times_T2 (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j, int Current_Dim1>
promote< T, U >::V T2_times_T2 (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &b, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j>
promote< T, U >::V T2_times_T2 (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &b, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j>
promote< T, U >::V operator* (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j, int Current_Dim0, int Current_Dim1>
promote< T, U >::V T2_times_switched_T2 (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j, int Current_Dim1>
promote< T, U >::V T2_times_switched_T2 (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &b, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j>
promote< T, U >::V T2_times_switched_T2 (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &b, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j>
promote< T, U >::V operator* (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor2_Expr< Tensor2_times_Tensor2_10< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim0, Dim2, i, k > operator* (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim1, Dim2, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor2_Expr< Tensor2_times_Tensor2_11< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim0, Dim2, i, k > operator* (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim2, Dim1, k, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor2_Expr< Tensor2_times_Tensor2_00< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim0, Dim2, i, k > operator* (const Tensor2_Expr< A, T, Dim1, Dim0, j, i > &a, const Tensor2_Expr< B, U, Dim1, Dim2, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor2_Expr< Tensor2_times_Tensor2_01< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim0, Dim2, i, k > operator* (const Tensor2_Expr< A, T, Dim1, Dim0, j, i > &a, const Tensor2_Expr< B, U, Dim2, Dim1, k, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor4_Expr< Tensor2_times_Tensor2< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, Dim2, Dim3, i, j, k, l > operator* (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, const Tensor2_Expr< B, U, Dim2, Dim3, k, l > &b)
 
template<class A , class B , class T , int Dim0, int Dim1, char i, char j>
Tensor2_Expr< transform_Tensor2< A, B, T, Dim0, Dim1, i, j >, T, Dim0, Dim1, i, j > transform (const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &a, B function)
 
template<class T , int Tensor_Dim0, int Tensor_Dim1>
std::ostream & Tensor2_ostream_row (std::ostream &os, const FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1 > &t, const int &i)
 
template<class T , int Tensor_Dim0, int Tensor_Dim1>
std::istream & Tensor2_istream_row (std::istream &is, FTensor::Tensor2< T, Tensor_Dim0, Tensor_Dim1 > &t, const int &i)
 
template<class T , int Tensor_Dim>
std::ostream & Tensor2_antisymmetric_ostream_row (std::ostream &os, const FTensor::Tensor2_antisymmetric< T, Tensor_Dim > &t, const int &i)
 
template<class T , int Tensor_Dim>
std::istream & Tensor2_antisymmetric_istream_row (std::istream &is, FTensor::Tensor2_antisymmetric< T, Tensor_Dim > &t, const int &i)
 
template<class T , int Dim01, int Dim2, char i, char j, char k>
const Dg_Expr< const d_boundary_Tensor2_symmetric< T, Dim01, Dim2, i, j, k >, typename promote< T, double >::V, Dim01, Dim2, i, j, k > d_boundary (const Tensor2_symmetric< T *, Dim01 > &a, const Index< i, Dim01 > index1, const Index< j, Dim01 > index2, const Index< k, Dim2 > index3, const Tensor1< int, Dim2 > &d_ijk, const Tensor1< double, Dim2 > &d_xyz, const Tensor2< bool, Dim2, 2 > &boundary)
 
template<class T , int Dim, char i, char j, int axis>
const Tensor2_symmetric_Expr< const d_one_sided_Tensor2_symmetric< T, Dim, i, j, axis >, typename promote< T, double >::V, Dim, i, j > d_one_sided (const Tensor2_symmetric< T *, Dim > &a, const Number< axis > n1, const Index< i, Dim > index1, const Index< j, Dim > index2, const int &di, const int &dj, const int &dk, const double &dx, const double &dy, const double &dz)
 
template<class T , int Dim01, int Dim23, char i, char j, char k, char l>
const Ddg_Expr< const dd_boundary_Tensor2_symmetric< T, Dim01, Dim23, i, j, k, l >, typename promote< T, double >::V, Dim01, Dim23, i, j, k, l > dd_boundary (const Tensor2_symmetric< T *, Dim01 > &a, const Index< i, Dim01 > index1, const Index< j, Dim01 > index2, const Index< k, Dim23 > index3, const Index< l, Dim23 > index4, const Tensor1< int, Dim23 > &d_ijk, const Tensor1< double, Dim23 > &d_xyz, const Tensor2< bool, Dim23, 2 > &boundary)
 
template<class T , int Dim01, int Dim23, char i, char j, char k, char l>
const Ddg_Expr< const ddTensor2_symmetric< T, Dim01, Dim23, i, j, k, l >, typename promote< T, double >::V, Dim01, Dim23, i, j, k, l > dd (const Tensor2_symmetric< T *, Dim01 > &a, const Index< i, Dim01 > index1, const Index< j, Dim01 > index2, const Index< k, Dim23 > index3, const Index< l, Dim23 > index4, const Tensor1< int, Dim23 > &d_ijk, const Tensor1< double, Dim23 > &d_xyz)
 
template<class T , int Dim, char i, char j>
const Tensor2_symmetric_Expr< const diffusion_Tensor2_symmetric< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > diffusion (const Tensor2_symmetric< T *, Dim > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const int &di, const int &dj, const int &dk, const double &dx)
 
template<class T , int Dim01, int Dim2, char i, char j, char k>
const Dg_Expr< const dTensor2_symmetric< T, Dim01, Dim2, i, j, k >, typename promote< T, double >::V, Dim01, Dim2, i, j, k > d (const Tensor2_symmetric< T *, Dim01 > &a, const Index< i, Dim01 > index1, const Index< j, Dim01 > index2, const Index< k, Dim2 > index3, const Tensor1< int, Dim2 > &d_ijk, const Tensor1< double, Dim2 > &d_xyz)
 
template<class A , class T , class U , int Dim, char i, char j>
Tensor2_symmetric_Expr< generic_minus_Tensor2_symmetric< A, T, U, Dim, i, j >, typename promote< T, U >::V, Dim, i, j > operator- (const U &d0, const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a)
 
template<class T , int Dim, char i, char j>
const Tensor2_symmetric_Expr< const interpolate_Tensor2_symmetric< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > interpolate (const Tensor2_symmetric< T *, Dim > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const int &di, const int &dj, const int &dk, const int &i0, const int &j0, const int &k0, const double distance[3], const double conjugate[3])
 
template<class A , class T , int Dim, char i, char j>
Tensor2_symmetric_Expr< minus_Tensor2_symmetric< A, T, Dim, i, j >, T, Dim, i, j > operator- (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a)
 
template<class A , class B , class T , class U , int Dim_0, int Dim_1, char i0, char j0, char i1, char j1>
Tensor2_symmetric_Expr< Tensor2_symmetric_and_Tensor2_symmetric< A, B, T, U, Dim_0, Dim_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim_0, i0, j0 > operator & (const Tensor2_symmetric_Expr< A, T, Dim_0, i0, j0 > &a, const Tensor2_symmetric_Expr< B, U, Dim_1, i1, j1 > &b)
 
template<class A , class B , class T , class U , int Dim_0, int Dim0_1, int Dim1_1, char i0, char j0, char i1, char j1>
auto operator^ (const Tensor2_symmetric_Expr< A, T, Dim_0, i0, j0 > &a, const Tensor2_Expr< B, U, Dim0_1, Dim1_1, i1, j1 > &b)
 
template<class A , class B , class T , class U , int Dim_0, int Dim0_1, int Dim1_1, char i0, char j0, char i1, char j1>
auto operator^ (const Tensor2_Expr< B, U, Dim0_1, Dim1_1, i1, j1 > &b, const Tensor2_symmetric_Expr< A, T, Dim_0, i0, j0 > &a)
 
template<class A , class T , class U , int Dim, char i, char j>
Tensor2_symmetric_Expr< Tensor2_symmetric_divide_generic< A, T, U, Dim, i, j >, typename promote< T, U >::V, Dim, i, j > operator/ (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const U &d0)
 
template<class A , class B , class U , int Dim, char i, char j, int Current_Dim0, int Current_Dim1>
void T2s_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class U , int Dim, char i, char j, int Current_Dim1>
void T2s_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class U , int Dim, char i, char j>
void T2s_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim, char i, char j, int Current_Dim0, int Current_Dim1>
void T2s_equals_adolc_left_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class U , int Dim, char i, char j, int Current_Dim1>
void T2s_equals_adolc_left_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class U , int Dim, char i, char j>
void T2s_equals_adolc_left_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim, char i, char j, int Current_Dim0, int Current_Dim1>
void T2s_plus_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class U , int Dim, char i, char j, int Current_Dim1>
void T2s_plus_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class U , int Dim, char i, char j>
void T2s_plus_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim, char i, char j, int Current_Dim0, int Current_Dim1>
void T2s_minus_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class U , int Dim, char i, char j, int Current_Dim1>
void T2s_minus_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class U , int Dim, char i, char j>
void T2s_minus_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim, char i, char j, int Current_Dim0, int Current_Dim1>
void T2s_and_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class U , int Dim, char i, char j, int Current_Dim1>
void T2s_and_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class U , int Dim, char i, char j>
void T2s_and_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &result, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class U , int Current_Dim0, int Current_Dim1>
void T2s_equals_generic (A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class U , int Current_Dim1>
void T2s_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class U >
void T2s_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class U , int Current_Dim0, int Current_Dim1>
void T2s_plus_equals_generic (A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class U , int Current_Dim1>
void T2s_plus_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class U >
void T2s_plus_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class U , int Current_Dim0, int Current_Dim1>
void T2s_minus_equals_generic (A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class U , int Current_Dim1>
void T2s_minus_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class U >
void T2s_minus_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class U , int Current_Dim0, int Current_Dim1>
void T2s_times_equals_generic (A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class U , int Current_Dim1>
void T2s_times_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class U >
void T2s_times_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class U , int Current_Dim0, int Current_Dim1>
void T2s_divide_equals_generic (A &iter, const U &u, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class U , int Current_Dim1>
void T2s_divide_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class U >
void T2s_divide_equals_generic (A &iter, const U &u, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class U , int Dim01, char i, char j, int N, int Current_Dim0, int Current_Dim1>
void T3dgrhs2_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< N > &)
 
template<class A , class B , class U , int Dim01, char i, char j, int N, int Current_Dim1>
void T3dgrhs2_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &result, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< N > &)
 
template<class A , class B , class U , int Dim01, char i, char j, int N>
void T3dgrhs2_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &result, const Number< 1 > &, const Number< 1 > &, const Number< N > &)
 
template<class A , class B , class U , int Dim01, char i, char j, int N0, int N1, int Current_Dim0, int Current_Dim1>
void T4ddgrhs01_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< N0 > &, const Number< N1 > &)
 
template<class A , class B , class U , int Dim01, char i, char j, int N0, int N1, int Current_Dim1>
void T4ddgrhs01_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &result, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< N0 > &, const Number< N1 > &)
 
template<class A , class B , class U , int Dim01, char i, char j, int N0, int N1>
void T4ddgrhs01_equals_T2s (A &iter, const Tensor2_symmetric_Expr< B, U, Dim01, i, j > &result, const Number< 1 > &, const Number< 1 > &, const Number< N0 > &, const Number< N1 > &)
 
template<class A , class T , class U , int Dim, char i, char j>
Tensor2_symmetric_Expr< Tensor2_symmetric_minus_generic< A, T, U, Dim, i, j >, typename promote< T, U >::V, Dim, i, j > operator- (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const U &d0)
 
template<class A , class B , class T , class U , int Dim_0, int Dim0_1, int Dim1_1, char i0, char j0, char i1, char j1>
Tensor2_Expr< Tensor2_symmetric_minus_Tensor2< A, B, T, U, Dim_0, Dim0_1, Dim1_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim_0, Dim_0, i0, j0 > operator- (const Tensor2_symmetric_Expr< A, T, Dim_0, i0, j0 > &a, const Tensor2_Expr< B, U, Dim0_1, Dim1_1, i1, j1 > &b)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim_1, char i0, char j0, char i1, char j1>
Tensor2_Expr< Tensor2_minus_Tensor2_symmetric< A, B, T, U, Dim0_0, Dim1_0, Dim_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim0_0, Dim1_0, i0, j0 > operator- (const Tensor2_Expr< A, T, Dim0_0, Dim1_0, i0, j0 > &a, const Tensor2_symmetric_Expr< B, U, Dim_1, i1, j1 > &b)
 
template<class A , class B , class T , class U , int Dim_0, int Dim_1, char i0, char j0, char i1, char j1>
Tensor2_symmetric_Expr< Tensor2_symmetric_minus_Tensor2_symmetric< A, B, T, U, Dim_0, Dim_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim_0, i0, j0 > operator- (const Tensor2_symmetric_Expr< A, T, Dim_0, i0, j0 > &a, const Tensor2_symmetric_Expr< B, U, Dim_1, i1, j1 > &b)
 
template<class A , class B , class T , class U , int Dim_0, int Dim_1, char i0, char j0, char i1, char j1>
Tensor2_symmetric_Expr< Tensor2_symmetric_mod_Tensor2_symmetric< A, B, T, U, Dim_0, Dim_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim_0, i0, j0 > operator% (const Tensor2_symmetric_Expr< A, T, Dim_0, i0, j0 > &a, const Tensor2_symmetric_Expr< B, U, Dim_1, i1, j1 > &b)
 
template<class A , class T , class U , int Dim, char i, char j>
auto operator+ (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const U &d0)
 
template<class A , class T , class U , int Dim, char i, char j>
auto operator+ (const U &d0, const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a)
 
template<class A , class B , class T , class U , int Dim_0, int Dim0_1, int Dim1_1, char i0, char j0, char i1, char j1>
Tensor2_Expr< Tensor2_symmetric_plus_Tensor2< A, B, T, U, Dim_0, Dim0_1, Dim1_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim_0, Dim_0, i0, j0 > operator+ (const Tensor2_symmetric_Expr< A, T, Dim_0, i0, j0 > &a, const Tensor2_Expr< B, U, Dim0_1, Dim1_1, i1, j1 > &b)
 
template<class A , class B , class T , class U , int Dim_0, int Dim0_1, int Dim1_1, char i0, char j0, char i1, char j1>
Tensor2_Expr< Tensor2_symmetric_plus_Tensor2< A, B, T, U, Dim_0, Dim0_1, Dim1_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim_0, Dim_0, i0, j0 > operator+ (const Tensor2_Expr< B, U, Dim0_1, Dim1_1, i1, j1 > &b, const Tensor2_symmetric_Expr< A, T, Dim_0, i0, j0 > &a)
 
template<class A , class B , class T , class U , int Dim_0, int Dim_1, char i0, char j0, char i1, char j1>
Tensor2_symmetric_Expr< Tensor2_symmetric_plus_Tensor2_symmetric< A, B, T, U, Dim_0, Dim_1, i0, j0, i1, j1 >, typename promote< T, U >::V, Dim_0, i0, j0 > operator+ (const Tensor2_symmetric_Expr< A, T, Dim_0, i0, j0 > &a, const Tensor2_symmetric_Expr< B, U, Dim_1, i1, j1 > &b)
 
template<class A , class T , class U , int Dim, char i, char j>
auto operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const U &d0)
 
template<class A , class T , class U , int Dim, char i, char j>
auto operator* (const U &d0, const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
Tensor1_Expr< Tensor2_symmetric_times_Tensor1_1< A, B, T, U, Dim, i, j >, typename promote< T, U >::V, Dim, i > operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor1_Expr< B, U, Dim, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
Tensor1_Expr< Tensor2_symmetric_times_Tensor1_0< A, B, T, U, Dim, i, j >, typename promote< T, U >::V, Dim, i > operator* (const Tensor2_symmetric_Expr< A, T, Dim, j, i > &a, const Tensor1_Expr< B, U, Dim, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
Tensor1_Expr< Tensor2_symmetric_times_Tensor1_1< A, B, T, U, Dim, i, j >, typename promote< T, U >::V, Dim, i > operator* (const Tensor1_Expr< B, U, Dim, j > &b, const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
Tensor1_Expr< Tensor2_symmetric_times_Tensor1_0< A, B, T, U, Dim, i, j >, typename promote< T, U >::V, Dim, i > operator* (const Tensor1_Expr< B, U, Dim, j > &b, const Tensor2_symmetric_Expr< A, T, Dim, j, i > &a)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k>
Dg_Expr< Tensor2_symmetric_times_Tensor1< A, B, T, U, Dim, Dim2, i, j, k >, typename promote< T, U >::V, Dim, Dim2, i, j, k > operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor1_Expr< B, U, Dim2, k > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k>
Dg_Expr< Tensor2_symmetric_times_Tensor1< A, B, T, U, Dim, Dim2, i, j, k >, typename promote< T, U >::V, Dim, Dim2, i, j, k > operator* (const Tensor1_Expr< B, U, Dim2, k > &b, const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, int Current_Dim0, int Current_Dim1>
promote< T, U >::V T2s_times_T2_01 (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_Expr< B, U, Dim, Dim, i, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, int Current_Dim1>
promote< T, U >::V T2s_times_T2_01 (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_Expr< B, U, Dim, Dim, i, j > &b, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
promote< T, U >::V T2s_times_T2_01 (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_Expr< B, U, Dim, Dim, i, j > &b, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
promote< T, U >::V operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_Expr< B, U, Dim, Dim, i, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
promote< T, U >::V operator* (const Tensor2_Expr< B, U, Dim, Dim, i, j > &b, const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, int Current_Dim0, int Current_Dim1>
promote< T, U >::V T2s_times_T2_01 (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_Expr< B, U, Dim, Dim, j, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, int Current_Dim1>
promote< T, U >::V T2s_times_T2_01 (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_Expr< B, U, Dim, Dim, j, i > &b, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
promote< T, U >::V T2s_times_T2_01 (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_Expr< B, U, Dim, Dim, j, i > &b, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
promote< T, U >::V operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_Expr< B, U, Dim, Dim, j, i > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
promote< T, U >::V operator* (const Tensor2_Expr< B, U, Dim, Dim, j, i > &b, const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_10< A, B, T, U, Dim, Dim1, i, j, k >, typename promote< T, U >::V, Dim, Dim1, i, k > operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_Expr< B, U, Dim, Dim1, j, k > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_10< A, B, T, U, Dim, Dim1, i, j, k >, typename promote< T, U >::V, Dim, Dim1, i, k > operator* (const Tensor2_Expr< B, U, Dim, Dim1, j, k > &b, const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_11< A, B, T, U, Dim, Dim1, i, j, k >, typename promote< T, U >::V, Dim, Dim1, i, k > operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_Expr< B, U, Dim1, Dim, k, j > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_11< A, B, T, U, Dim, Dim1, i, j, k >, typename promote< T, U >::V, Dim, Dim1, i, k > operator* (const Tensor2_Expr< B, U, Dim1, Dim, k, j > &b, const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_00< A, B, T, U, Dim, Dim1, i, j, k >, typename promote< T, U >::V, Dim, Dim1, i, k > operator* (const Tensor2_symmetric_Expr< A, T, Dim, j, i > &a, const Tensor2_Expr< B, U, Dim, Dim1, j, k > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_00< A, B, T, U, Dim, Dim1, i, j, k >, typename promote< T, U >::V, Dim, Dim1, i, k > operator* (const Tensor2_Expr< B, U, Dim, Dim1, j, k > &b, const Tensor2_symmetric_Expr< A, T, Dim, j, i > &a)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_01< A, B, T, U, Dim, Dim1, i, j, k >, typename promote< T, U >::V, Dim, Dim1, i, k > operator* (const Tensor2_symmetric_Expr< A, T, Dim, j, i > &a, const Tensor2_Expr< B, U, Dim1, Dim, k, j > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_01< A, B, T, U, Dim, Dim1, i, j, k >, typename promote< T, U >::V, Dim, Dim1, i, k > operator* (const Tensor2_Expr< B, U, Dim1, Dim, k, j > &b, const Tensor2_symmetric_Expr< A, T, Dim, j, i > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, int Current_Dim0, int Current_Dim1>
promote< T, U >::V T2s_times_T2s (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, int Current_Dim1>
promote< T, U >::V T2s_times_T2s (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &b, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
promote< T, U >::V T2s_times_T2s (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &b, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
promote< T, U >::V operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, int Current_Dim0, int Current_Dim1>
promote< T, U >::V T2s_times_switched_T2s (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, int Current_Dim1>
promote< T, U >::V T2s_times_switched_T2s (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, i > &b, const Number< 1 > &, const Number< Current_Dim1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
promote< T, U >::V T2s_times_switched_T2s (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, i > &b, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j>
promote< T, U >::V operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, i > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_symmetric_10< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, i, k > operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_symmetric_11< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, i, k > operator* (const Tensor2_symmetric_Expr< A, T, Dim, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim, k, j > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_symmetric_00< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, i, k > operator* (const Tensor2_symmetric_Expr< A, T, Dim, j, i > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Tensor2_Expr< Tensor2_symmetric_times_Tensor2_symmetric_01< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, i, k > operator* (const Tensor2_symmetric_Expr< A, T, Dim, j, i > &a, const Tensor2_symmetric_Expr< B, U, Dim, k, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, char i, char j, char k, char l>
Ddg_Expr< Tensor2_symmetric_times_Tensor2_symmetric< A, B, T, U, Dim0, Dim1, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, i, j, k, l > operator* (const Tensor2_symmetric_Expr< A, T, Dim0, i, j > &a, const Tensor2_symmetric_Expr< B, U, Dim1, k, l > &b)
 
template<class T , int Tensor_Dim>
std::ostream & Tensor2_symmetric_ostream_row (std::ostream &os, const FTensor::Tensor2_symmetric< T, Tensor_Dim > &t, const int &i)
 
template<class T , int Tensor_Dim>
std::istream & Tensor2_symmetric_istream_row (std::istream &is, FTensor::Tensor2_symmetric< T, Tensor_Dim > &t, const int &i)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim2_0, int Dim0_1, int Dim1_1, int Dim2_1, char i0, char j0, char k0, char i1, char j1, char k1>
Tensor3_Expr< Tensor3_minus_Tensor3< A, B, T, U, Dim0_0, Dim1_0, Dim2_0, Dim0_1, Dim1_1, Dim2_1, i0, j0, k0, i1, j1, k1 >, typename promote< T, U >::V, Dim0_0, Dim1_0, Dim2_0, i0, j0, k0 > operator- (const Tensor3_Expr< A, T, Dim0_0, Dim1_0, Dim2_0, i0, j0, k0 > &a, const Tensor3_Expr< B, U, Dim0_1, Dim1_1, Dim2_1, i1, j1, k1 > &b)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim2_0, int Dim0_1, int Dim1_1, int Dim2_1, char i0, char j0, char k0, char i1, char j1, char k1>
auto operator|| (const Tensor3_Expr< A, T, Dim0_0, Dim1_0, Dim2_0, i0, j0, k0 > &a, const Tensor3_Expr< B, U, Dim0_1, Dim1_1, Dim2_1, i1, j1, k1 > &b)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim2_0, int Dim0_1, int Dim1_1, int Dim2_1, char i0, char j0, char k0, char i1, char j1, char k1>
Tensor3_Expr< Tensor3_plus_Tensor3< A, B, T, U, Dim0_0, Dim1_0, Dim2_0, Dim0_1, Dim1_1, Dim2_1, i0, j0, k0, i1, j1, k1 >, typename promote< T, U >::V, Dim0_0, Dim1_0, Dim2_0, i0, j0, k0 > operator+ (const Tensor3_Expr< A, T, Dim0_0, Dim1_0, Dim2_0, i0, j0, k0 > &a, const Tensor3_Expr< B, U, Dim0_1, Dim1_1, Dim2_1, i1, j1, k1 > &b)
 
template<class T , int Dim0, int Dim1, int Dim2, int Current_Dim0, int Current_Dim1, int Current_Dim2>
void T3_increment (const Tensor3< T, Dim0, Dim1, Dim2 > &iter, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class T , int Dim0, int Dim1, int Dim2, int Current_Dim1, int Current_Dim2>
void T3_increment (const Tensor3< T, Dim0, Dim1, Dim2 > &iter, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class T , int Dim0, int Dim1, int Dim2, int Current_Dim2>
void T3_increment (const Tensor3< T, Dim0, Dim1, Dim2 > &iter, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class T , int Dim0, int Dim1, int Dim2>
void T3_increment (const Tensor3< T, Dim0, Dim1, Dim2 > &iter, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_012 (const Tensor3_Expr< A, T, Dim, Dim, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, i, j, k > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_012 (const Tensor3_Expr< A, T, Dim, Dim, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, i, j, k > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3dg_012 (const Tensor3_Expr< A, T, Dim, Dim, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, i, j, k > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k>
promote< T, U >::V T3_times_T3dg_012 (const Tensor3_Expr< A, T, Dim, Dim, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, i, j, k > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim, Dim, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, i, j, k > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_201 (const Tensor3_Expr< A, T, Dim, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim1, k, i, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_201 (const Tensor3_Expr< A, T, Dim, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim1, k, i, j > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3dg_201 (const Tensor3_Expr< A, T, Dim, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim1, k, i, j > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
promote< T, U >::V T3_times_T3dg_201 (const Tensor3_Expr< A, T, Dim, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim1, k, i, j > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim1, k, i, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_120 (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim0, j, k, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_120 (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim0, j, k, i > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3dg_120 (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim0, j, k, i > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k>
promote< T, U >::V T3_times_T3dg_120 (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim0, j, k, i > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim0, j, k, i > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_102 (const Tensor3_Expr< A, T, Dim, Dim, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, j, i, k > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_102 (const Tensor3_Expr< A, T, Dim, Dim, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, j, i, k > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3dg_102 (const Tensor3_Expr< A, T, Dim, Dim, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, j, i, k > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k>
promote< T, U >::V T3_times_T3dg_102 (const Tensor3_Expr< A, T, Dim, Dim, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, j, i, k > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim2, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim, Dim, Dim2, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, j, i, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_210 (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim0, k, j, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_210 (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim0, k, j, i > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3dg_210 (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim0, k, j, i > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k>
promote< T, U >::V T3_times_T3dg_210 (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim0, k, j, i > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim0, k, j, i > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_021 (const Tensor3_Expr< A, T, Dim, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim1, i, k, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3dg_021 (const Tensor3_Expr< A, T, Dim, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim1, i, k, j > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3dg_021 (const Tensor3_Expr< A, T, Dim, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim1, i, k, j > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
promote< T, U >::V T3_times_T3dg_021 (const Tensor3_Expr< A, T, Dim, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim1, i, k, j > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim, int Dim1, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim1, i, k, j > &b)
 
template<class A , class B , class T , class U , int Dim2, int Dim1, int Dim01, char i, char j, char k, char l>
Tensor2_Expr< Tensor3_times_Dg_02_20< A, B, T, U, Dim2, Dim1, Dim01, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim01, i, l > operator* (const Tensor3_Expr< A, T, Dim2, Dim1, Dim01, j, i, k > &a, const Dg_Expr< B, U, Dim01, Dim2, k, l, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim, char i, char j, char k, char l, char m>
Tensor4_Expr< Tensor3_times_Dg< A, B, T, U, Dim0, Dim1, Dim, Dim2, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim, Dim2, i, j, l, m > operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim, i, j, k > &a, const Dg_Expr< B, U, Dim, Dim2, l, k, m > &b)
 
template<class A , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const U &d0)
 
template<class A , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const U &d0, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor2_Expr< Tensor3_times_Tensor1_1< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim0, Dim2, i, k > operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor1_Expr< B, U, Dim1, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor2_Expr< Tensor3_times_Tensor1_1< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim0, Dim2, i, k > operator* (const Tensor1_Expr< B, U, Dim1, j > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor2_Expr< Tensor3_times_Tensor1_0< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim1, Dim2, j, k > operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor1_Expr< B, U, Dim0, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor2_Expr< Tensor3_times_Tensor1_0< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim1, Dim2, j, k > operator* (const Tensor1_Expr< B, U, Dim0, i > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor2_Expr< Tensor3_times_Tensor1_2< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor1_Expr< B, U, Dim2, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
Tensor2_Expr< Tensor3_times_Tensor1_2< A, B, T, U, Dim0, Dim1, Dim2, i, j, k >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor1_Expr< B, U, Dim2, k > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim1, Dim2, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor2_Expr< B, U, Dim1, Dim2, j, k > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim2, Dim1, k, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor2_Expr< B, U, Dim2, Dim1, k, j > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim0, Dim2, i, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor2_Expr< B, U, Dim0, Dim2, i, k > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim2, Dim0, k, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor2_Expr< B, U, Dim2, Dim0, k, i > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
auto operator* (const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_2_01< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, Dim3, i, j, l > operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim2, Dim3, k, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_2_01< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, Dim3, i, j, l > operator* (const Tensor2_Expr< B, U, Dim2, Dim3, k, l > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_2_10< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, Dim3, i, j, l > operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor2_Expr< B, U, Dim3, Dim2, l, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_2_10< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, Dim3, i, j, l > operator* (const Tensor2_Expr< B, U, Dim3, Dim2, l, k > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_1_01< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim2, Dim3, i, k, l > operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim3, i, j, l > &a, const Tensor2_Expr< B, U, Dim1, Dim2, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_1_01< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim2, Dim3, i, k, l > operator* (const Tensor2_Expr< B, U, Dim1, Dim2, j, k > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim3, i, j, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_1_10< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim2, Dim3, i, k, l > operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim3, i, j, l > &a, const Tensor2_Expr< B, U, Dim2, Dim1, k, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_1_10< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim2, Dim3, i, k, l > operator* (const Tensor2_Expr< B, U, Dim2, Dim1, k, j > &b, const Tensor3_Expr< A, T, Dim0, Dim1, Dim3, i, j, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_0_01< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, Dim3, j, k, l > operator* (const Tensor3_Expr< A, T, Dim0, Dim2, Dim3, i, k, l > &a, const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_0_01< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, Dim3, j, k, l > operator* (const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &b, const Tensor3_Expr< A, T, Dim0, Dim2, Dim3, i, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_0_10< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, Dim3, j, k, l > operator* (const Tensor3_Expr< A, T, Dim0, Dim2, Dim3, i, k, l > &a, const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_0_10< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, Dim3, j, k, l > operator* (const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &b, const Tensor3_Expr< A, T, Dim0, Dim2, Dim3, i, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k>
Tensor1_Expr< Tensor3_times_Tensor2_symmetric_12< A, B, T, U, Dim0, Dim, i, j, k >, typename promote< T, U >::V, Dim0, i > operator* (const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim, char i, char j, char k>
Tensor1_Expr< Tensor3_times_Tensor2_symmetric_12< A, B, T, U, Dim0, Dim, i, j, k >, typename promote< T, U >::V, Dim0, i > operator* (const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b, const Tensor3_Expr< A, T, Dim0, Dim, Dim, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim1, int Dim, char i, char j, char k>
Tensor1_Expr< Tensor3_times_Tensor2_symmetric_02< A, B, T, U, Dim1, Dim, i, j, k >, typename promote< T, U >::V, Dim1, i > operator* (const Tensor3_Expr< A, T, Dim, Dim1, Dim, j, i, k > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
 
template<class A , class B , class T , class U , int Dim1, int Dim, char i, char j, char k>
Tensor1_Expr< Tensor3_times_Tensor2_symmetric_02< A, B, T, U, Dim1, Dim, i, j, k >, typename promote< T, U >::V, Dim1, i > operator* (const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b, const Tensor3_Expr< A, T, Dim, Dim1, Dim, j, i, k > &a)
 
template<class A , class B , class T , class U , int Dim2, int Dim, char i, char j, char k>
Tensor1_Expr< Tensor3_times_Tensor2_symmetric_01< A, B, T, U, Dim2, Dim, i, j, k >, typename promote< T, U >::V, Dim2, i > operator* (const Tensor3_Expr< A, T, Dim, Dim, Dim2, j, k, i > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b)
 
template<class A , class B , class T , class U , int Dim2, int Dim, char i, char j, char k>
Tensor1_Expr< Tensor3_times_Tensor2_symmetric_01< A, B, T, U, Dim2, Dim, i, j, k >, typename promote< T, U >::V, Dim2, i > operator* (const Tensor2_symmetric_Expr< B, U, Dim, j, k > &b, const Tensor3_Expr< A, T, Dim, Dim, Dim2, j, k, i > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim, int Dim2, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_symmetric_1< A, B, T, U, Dim0, Dim, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim, Dim2, i, l, k > operator* (const Tensor3_Expr< A, T, Dim0, Dim, Dim2, i, j, k > &a, const Tensor2_symmetric_Expr< B, U, Dim, j, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim, int Dim2, char i, char j, char k, char l>
Tensor3_Expr< Tensor3_times_Tensor2_symmetric_1< A, B, T, U, Dim0, Dim, Dim2, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim, Dim2, i, l, k > operator* (const Tensor2_symmetric_Expr< B, U, Dim, j, l > &b, const Tensor3_Expr< A, T, Dim0, Dim, Dim2, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3_012 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim1, Dim2, i, j, k > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3_012 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim1, Dim2, i, j, k > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3_012 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim1, Dim2, i, j, k > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V T3_times_T3_012 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim1, Dim2, i, j, k > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim1, Dim2, i, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3_201 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim2, Dim0, Dim1, k, i, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3_201 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim2, Dim0, Dim1, k, i, j > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3_201 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim2, Dim0, Dim1, k, i, j > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V T3_times_T3_201 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim2, Dim0, Dim1, k, i, j > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim2, Dim0, Dim1, k, i, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3_120 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim1, Dim2, Dim0, j, k, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3_120 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim1, Dim2, Dim0, j, k, i > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3_120 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim1, Dim2, Dim0, j, k, i > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V T3_times_T3_120 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim1, Dim2, Dim0, j, k, i > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim1, Dim2, Dim0, j, k, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3_102 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim1, Dim0, Dim2, j, i, k > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3_102 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim1, Dim0, Dim2, j, i, k > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3_102 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim1, Dim0, Dim2, j, i, k > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V T3_times_T3_102 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim1, Dim0, Dim2, j, i, k > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim1, Dim0, Dim2, j, i, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3_210 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim2, Dim1, Dim0, k, j, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3_210 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim2, Dim1, Dim0, k, j, i > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3_210 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim2, Dim1, Dim0, k, j, i > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V T3_times_T3_210 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim2, Dim1, Dim0, k, j, i > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim2, Dim1, Dim0, k, j, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3_times_T3_021 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim2, Dim1, i, k, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3_times_T3_021 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim2, Dim1, i, k, j > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3_times_T3_021 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim2, Dim1, i, k, j > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V T3_times_T3_021 (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim2, Dim1, i, k, j > &b, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim2, Dim1, i, k, j > &b)
 
template<class A , class B , class T , class U , int Dim04, int Dim13, int Dim2, int Dim5, char i, char j, char k, char l>
Tensor2_Expr< Tensor3_times_Tensor3_12_21< A, B, T, U, Dim04, Dim13, Dim2, Dim5, i, j, k, l >, typename promote< T, U >::V, Dim2, Dim5, k, l > operator* (const Tensor3_Expr< A, T, Dim04, Dim13, Dim2, i, j, k > &a, const Tensor3_Expr< B, U, Dim13, Dim04, Dim5, j, i, l > &b)
 
template<class A , class B , class T , class U , int Dim15, int Dim24, int Dim0, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< Tensor3_times_Tensor3_23_32< A, B, T, U, Dim15, Dim24, Dim0, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim3, i, j > operator* (const Tensor3_Expr< A, T, Dim0, Dim15, Dim24, i, k, l > &a, const Tensor3_Expr< B, U, Dim3, Dim24, Dim15, j, l, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim23, int Dim4, int Dim5, char i, char j, char k, char l, char m>
Tensor4_Expr< Tensor3_times_Tensor3_21< A, B, T, U, Dim0, Dim1, Dim23, Dim4, Dim5, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim4, Dim5, i, j, l, m > operator* (const Tensor3_Expr< A, T, Dim0, Dim1, Dim23, i, j, k > &a, const Tensor3_Expr< B, U, Dim23, Dim4, Dim5, k, l, m > &b)
 
template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2>
std::ostream & Tensor3_ostream_row (std::ostream &os, const FTensor::Tensor3< T, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 > &t, const int &i, const int &j)
 
template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2>
std::ostream & Tensor3_ostream_block (std::ostream &os, const FTensor::Tensor3< T, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 > &t, const int &i)
 
template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2>
std::istream & Tensor3_istream_row (std::istream &is, FTensor::Tensor3< T, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 > &t, const int &i, const int &j)
 
template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2>
std::istream & Tensor3_istream_block (std::istream &is, FTensor::Tensor3< T, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 > &t, const int &i)
 
template<class A , class B , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
void T3as_equals_T3as (A &iter, const Tensor3_antisymmetric_Expr< B, U, Dim0, Dim12, i, j, k > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
void T3as_equals_T3as (A &iter, const Tensor3_antisymmetric_Expr< B, U, Dim0, Dim12, i, j, k > &result, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0>
void T3as_equals_T3as (A &iter, const Tensor3_antisymmetric_Expr< B, U, Dim0, Dim12, i, j, k > &result, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 2 > &)
 
template<class A , class B , class U , int Dim0, int Dim12, char i, char j, char k>
void T3as_equals_T3as (A &iter, const Tensor3_antisymmetric_Expr< B, U, Dim0, Dim12, i, j, k > &result, const Number< 1 > &, const Number< 1 > &, const Number< 2 > &)
 
template<class A , class B , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
void T3as_switched_equals_T3as (A &iter, const Tensor3_antisymmetric_Expr< B, U, Dim0, Dim12, i, k, j > &result, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
void T3as_switched_equals_T3as (A &iter, const Tensor3_antisymmetric_Expr< B, U, Dim0, Dim12, i, k, j > &result, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0>
void T3as_switched_equals_T3as (A &iter, const Tensor3_antisymmetric_Expr< B, U, Dim0, Dim12, i, k, j > &result, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< 2 > &)
 
template<class A , class B , class U , int Dim0, int Dim12, char i, char j, char k>
void T3as_switched_equals_T3as (A &iter, const Tensor3_antisymmetric_Expr< B, U, Dim0, Dim12, i, k, j > &result, const Number< 1 > &, const Number< 1 > &, const Number< 2 > &)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Riemann_Expr< Tensor3_antisymmetric_mod_Tensor1< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, j, k, l > operator% (const Tensor3_antisymmetric_Expr< A, T, Dim, Dim, j, k, l > &a, const Tensor1_Expr< B, U, Dim, i > &b)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k, char l>
Riemann_Expr< Tensor3_antisymmetric_mod_Tensor1< A, B, T, U, Dim, i, j, k, l >, typename promote< T, U >::V, Dim, i, j, k, l > operator% (const Tensor1_Expr< B, U, Dim, i > &b, const Tensor3_antisymmetric_Expr< A, T, Dim, Dim, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, char i, char j, char k>
Dg_Expr< Tensor3_antisymmetric_or_Tensor3_antisymmetric< A, B, T, U, Dim, i, j, k >, typename promote< T, U >::V, Dim, Dim, i, k, j > operator|| (const Tensor3_antisymmetric_Expr< A, T, Dim, Dim, i, j, k > &a, const Tensor3_antisymmetric_Expr< B, U, Dim, Dim, k, j, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
Tensor3_antisymmetric_Expr< Tensor3_antisymmetric_plus_Tensor3_antisymmetric< A, B, T, U, Dim0, Dim12, i, j, k >, typename promote< T, U >::V, Dim0, Dim12, i, j, k > operator+ (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_antisymmetric_Expr< B, U, Dim0, Dim12, i, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
Tensor3_antisymmetric_Expr< Tensor3_antisymmetric_plus_Tensor3_antisymmetric_12< A, B, T, U, Dim0, Dim12, i, j, k >, typename promote< T, U >::V, Dim0, Dim12, i, j, k > operator+ (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_antisymmetric_Expr< B, U, Dim0, Dim12, i, k, j > &b)
 
template<class A , class T , class U , int Dim0, int Dim12, char i, char j, char k>
Tensor3_antisymmetric_Expr< Tensor3_antisymmetric_times_generic< A, T, U, Dim0, Dim12, i, j, k >, typename promote< T, U >::V, Dim0, Dim12, i, j, k > operator* (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const U &d0)
 
template<class A , class T , class U , int Dim0, int Dim12, char i, char j, char k>
Tensor3_antisymmetric_Expr< Tensor3_antisymmetric_times_generic< A, T, U, Dim0, Dim12, i, j, k >, typename promote< T, U >::V, Dim0, Dim12, i, j, k > operator* (const U &d0, const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3as_times_T3_012 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, j, k > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_012 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, j, k > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_012 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, j, k > &b, const Number< Current_Dim0 > &, const Number< Current_Dim2 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3as_times_T3_012 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, j, k > &b, const Number< Current_Dim0 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V T3as_times_T3_012 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, j, k > &b, const Number< 1 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, j, k > &b, const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3as_times_T3_201 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, i, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_201 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, i, j > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_201 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, i, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim2 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3as_times_T3_201 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, i, j > &b, const Number< Current_Dim0 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V T3as_times_T3_201 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, i, j > &b, const Number< 1 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, i, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< B, U, Dim12, Dim0, Dim12, k, i, j > &b, const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3as_times_T3_120 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, k, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_120 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, k, i > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_120 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, k, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim2 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3as_times_T3_120 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, k, i > &b, const Number< Current_Dim0 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V T3as_times_T3_120 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, k, i > &b, const Number< 1 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, k, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< B, U, Dim12, Dim12, Dim0, j, k, i > &b, const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3as_times_T3_102 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, i, k > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_102 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, i, k > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_102 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, i, k > &b, const Number< Current_Dim0 > &, const Number< Current_Dim2 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3as_times_T3_102 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, i, k > &b, const Number< Current_Dim0 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V T3as_times_T3_102 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, i, k > &b, const Number< 1 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, j, i, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< B, U, Dim12, Dim0, Dim12, j, i, k > &b, const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3as_times_T3_210 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, j, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_210 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, j, i > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_210 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, j, i > &b, const Number< Current_Dim0 > &, const Number< Current_Dim2 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3as_times_T3_210 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, j, i > &b, const Number< Current_Dim0 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V T3as_times_T3_210 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, j, i > &b, const Number< 1 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, k, j, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< B, U, Dim12, Dim12, Dim0, k, j, i > &b, const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim1, int Current_Dim2>
promote< T, U >::V T3as_times_T3_012 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, k, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_012 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, k, j > &b, const Number< Current_Dim0 > &, const Number< 1 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0, int Current_Dim2>
promote< T, U >::V T3as_times_T3_012 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, k, j > &b, const Number< Current_Dim0 > &, const Number< Current_Dim2 > &, const Number< Current_Dim2 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k, int Current_Dim0>
promote< T, U >::V T3as_times_T3_012 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, k, j > &b, const Number< Current_Dim0 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V T3as_times_T3_012 (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, k, j > &b, const Number< 1 > &, const Number< 2 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a, const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, k, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim12, char i, char j, char k>
promote< T, U >::V operator* (const Tensor3_Expr< B, U, Dim0, Dim12, Dim12, i, k, j > &b, const Tensor3_antisymmetric_Expr< A, T, Dim0, Dim12, i, j, k > &a)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim2_0, int Dim3_0, int Dim0_1, int Dim1_1, int Dim2_1, int Dim3_1, char i0, char j0, char k0, char l0, char i1, char j1, char k1, char l1>
auto operator- (const Tensor4_Expr< A, T, Dim0_0, Dim1_0, Dim2_0, Dim3_0, i0, j0, k0, l0 > &a, const Tensor4_Expr< B, U, Dim0_1, Dim1_1, Dim2_1, Dim3_1, i1, j1, k1, l1 > &b)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim2_0, int Dim3_0, int Dim0_1, int Dim1_1, int Dim2_1, int Dim3_1, char i0, char j0, char k0, char l0, char i1, char j1, char k1, char l1>
auto operator|| (const Tensor4_Expr< A, T, Dim0_0, Dim1_0, Dim2_0, Dim3_0, i0, j0, k0, l0 > &a, const Tensor4_Expr< B, U, Dim0_1, Dim1_1, Dim2_1, Dim3_1, i1, j1, k1, l1 > &b)
 
template<class A , class B , class T , class U , int Dim0_0, int Dim1_0, int Dim2_0, int Dim3_0, int Dim0_1, int Dim1_1, int Dim2_1, int Dim3_1, char i0, char j0, char k0, char l0, char i1, char j1, char k1, char l1>
auto operator+ (const Tensor4_Expr< A, T, Dim0_0, Dim1_0, Dim2_0, Dim3_0, i0, j0, k0, l0 > &a, const Tensor4_Expr< B, U, Dim0_1, Dim1_1, Dim2_1, Dim3_1, i1, j1, k1, l1 > &b)
 
template<class T , int Dim0, int Dim1, int Dim2, int Dim3, int Current_Dim0, int Current_Dim1, int Current_Dim2, int Current_Dim3>
void T4_increment (const Tensor4< T, Dim0, Dim1, Dim2, Dim3 > &iter, const Number< Current_Dim0 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class T , int Dim0, int Dim1, int Dim2, int Dim3, int Current_Dim1, int Current_Dim2, int Current_Dim3>
void T4_increment (const Tensor4< T, Dim0, Dim1, Dim2, Dim3 > &iter, const Number< 1 > &, const Number< Current_Dim1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class T , int Dim0, int Dim1, int Dim2, int Dim3, int Current_Dim2, int Current_Dim3>
void T4_increment (const Tensor4< T, Dim0, Dim1, Dim2, Dim3 > &iter, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim2 > &, const Number< Current_Dim3 > &)
 
template<class T , int Dim0, int Dim1, int Dim2, int Dim3, int Current_Dim3>
void T4_increment (const Tensor4< T, Dim0, Dim1, Dim2, Dim3 > &iter, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< Current_Dim3 > &)
 
template<class T , int Dim0, int Dim1, int Dim2, int Dim3>
void T4_increment (const Tensor4< T, Dim0, Dim1, Dim2, Dim3 > &iter, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &, const Number< 1 > &)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< const Tensor4_times_Tensor1_3< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, Dim2, i, j, k > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim3, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< const Tensor4_times_Tensor1_3< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, Dim2, i, j, k > operator* (const Tensor1_Expr< B, U, Dim3, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< const Tensor4_times_Tensor1_2< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, Dim3, i, j, l > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim2, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< const Tensor4_times_Tensor1_2< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, Dim3, i, j, l > operator* (const Tensor1_Expr< B, U, Dim2, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< const Tensor4_times_Tensor1_1< A, B, T, U, Dim0, Dim2, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, Dim3, i, k, l > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim1, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< const Tensor4_times_Tensor1_1< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim2, Dim3, i, k, l > operator* (const Tensor1_Expr< B, U, Dim1, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< const Tensor4_times_Tensor1_0< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, Dim3, j, k, l > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor1_Expr< B, U, Dim0, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor3_Expr< const Tensor4_times_Tensor1_0< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, Dim3, j, k, l > operator* (const Tensor1_Expr< B, U, Dim0, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< const Tensor4_times_Tensor2_23< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim2, Dim3, k, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< const Tensor4_times_Tensor2_23< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor2_Expr< B, U, Dim2, Dim3, k, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< const Tensor4_times_Tensor2_32< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim3, Dim2, l, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< const Tensor4_times_Tensor2_32< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor2_Expr< B, U, Dim3, Dim2, l, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< const Tensor4_times_Tensor2_03< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, j, k > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim0, Dim3, i, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< const Tensor4_times_Tensor2_03< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, j, k > operator* (const Tensor2_Expr< B, U, Dim0, Dim3, i, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< const Tensor4_times_Tensor2_30< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, j, k > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim3, Dim0, l, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< const Tensor4_times_Tensor2_30< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, j, k > operator* (const Tensor2_Expr< B, U, Dim3, Dim0, l, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< const Tensor4_times_Tensor2_13< A, B, T, U, Dim0, Dim1, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim2, i, k > operator* (const Tensor2_Expr< B, U, Dim1, Dim3, j, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_3_1< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim2, Dim4, i, j, k, m > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim3, Dim4, l, m > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_3_1< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim2, Dim4, i, j, k, m > operator* (const Tensor2_Expr< B, U, Dim3, Dim4, l, m > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_3_0< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim2, Dim4, i, j, k, m > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim4, Dim3, m, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_3_0< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim2, Dim4, i, j, k, m > operator* (const Tensor2_Expr< B, U, Dim4, Dim3, m, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_1_0< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim4, Dim2, Dim3, i, m, k, l > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim1, Dim4, j, m > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_1_0< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim4, Dim2, Dim3, i, m, k, l > operator* (const Tensor2_Expr< B, U, Dim1, Dim4, j, m > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_1_1< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim4, Dim2, Dim3, i, m, k, l > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim4, Dim1, m, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_1_1< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim4, Dim2, Dim3, i, m, k, l > operator* (const Tensor2_Expr< B, U, Dim4, Dim1, m, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_0_0< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim1, Dim1, Dim2, Dim3, m, j, k, l > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim0, Dim4, i, m > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_0_0< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim1, Dim1, Dim2, Dim3, m, j, k, l > operator* (const Tensor2_Expr< B, U, Dim0, Dim4, i, m > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_0_1< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim4, Dim1, Dim2, Dim3, m, j, k, l > operator* (const Tensor2_Expr< B, U, Dim4, Dim1, m, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_2_0< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim4, Dim3, i, j, m, l > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim2, Dim4, k, m > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_2_0< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim4, Dim3, i, j, m, l > operator* (const Tensor2_Expr< B, U, Dim2, Dim4, k, m > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_2_1< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim4, Dim3, i, j, m, l > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim4, Dim2, m, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
const Tensor4_Expr< const Tensor4_times_Tensor2_2_1< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim4, Dim3, i, j, m, l > operator* (const Tensor2_Expr< B, U, Dim4, Dim2, m, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim2, Dim3, k, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim2, Dim3, k, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim3, Dim2, l, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim3, Dim2, l, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim1, Dim3, j, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim1, Dim3, j, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim3, Dim1, l, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim3, Dim1, l, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim1, Dim2, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim1, Dim2, j, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim2, Dim1, k, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim2, Dim1, k, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim0, Dim3, i, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim0, Dim3, i, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim3, Dim0, l, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim3, Dim0, l, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim0, Dim2, i, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim0, Dim2, i, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim2, Dim0, k, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim2, Dim0, k, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim0, Dim1, i, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor2_Expr< B, U, Dim1, Dim0, j, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim3, Dim4, l, m > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor2_Expr< B, U, Dim3, Dim4, l, m > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim4, Dim3, m, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor2_Expr< B, U, Dim4, Dim3, m, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim2, Dim4, k, m > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor2_Expr< B, U, Dim2, Dim4, k, m > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim4, Dim2, m, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor2_Expr< B, U, Dim4, Dim2, m, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim1, Dim4, j, m > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor2_Expr< B, U, Dim1, Dim4, j, m > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim4, Dim1, m, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor2_Expr< B, U, Dim4, Dim1, m, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim0, Dim4, i, m > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor2_Expr< B, U, Dim0, Dim4, i, m > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor2_Expr< B, U, Dim4, Dim0, m, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
auto operator* (const Tensor2_Expr< B, U, Dim4, Dim0, m, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_23< A, B, T, U, Dim0, Dim1, Dim, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim, Dim, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim, k, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_23< A, B, T, U, Dim0, Dim1, Dim, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor2_symmetric_Expr< B, U, Dim, k, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_32< A, B, T, U, Dim0, Dim1, Dim, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim, Dim, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim, l, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_32< A, B, T, U, Dim0, Dim1, Dim, i, j, k, l >, typename promote< T, U >::V, Dim0, Dim1, i, j > operator* (const Tensor2_symmetric_Expr< B, U, Dim, l, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, int Dim1, int Dim2, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_03< A, B, T, U, Dim1, Dim2, Dim, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, j, k > operator* (const Tensor4_Expr< A, T, Dim, Dim1, Dim2, Dim, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim, i, l > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim1, int Dim2, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_03< A, B, T, U, Dim1, Dim2, Dim, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, j, k > operator* (const Tensor2_symmetric_Expr< B, U, Dim, i, l > &b, const Tensor4_Expr< A, T, Dim, Dim1, Dim2, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, int Dim1, int Dim2, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_30< A, B, T, U, Dim1, Dim2, Dim, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, j, k > operator* (const Tensor4_Expr< A, T, Dim, Dim1, Dim2, Dim, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim, l, i > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim1, int Dim2, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_30< A, B, T, U, Dim1, Dim2, Dim, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, j, k > operator* (const Tensor2_symmetric_Expr< B, U, Dim, l, i > &b, const Tensor4_Expr< A, T, Dim, Dim1, Dim2, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, int Dim1, int Dim2, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_02< A, B, T, U, Dim1, Dim2, Dim, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, j, l > operator* (const Tensor4_Expr< A, T, Dim, Dim1, Dim2, Dim, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim, i, k > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim1, int Dim2, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_02< A, B, T, U, Dim1, Dim2, Dim, i, j, k, l >, typename promote< T, U >::V, Dim1, Dim2, j, l > operator* (const Tensor2_symmetric_Expr< B, U, Dim, i, k > &b, const Tensor4_Expr< A, T, Dim, Dim1, Dim2, Dim, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_01< A, B, T, U, Dim, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim2, Dim3, k, l > operator* (const Tensor4_Expr< A, T, Dim, Dim, Dim2, Dim3, i, j, k, l > &a, const Tensor2_symmetric_Expr< B, U, Dim, i, j > &b)
 
template<class A , class B , class T , class U , int Dim, int Dim2, int Dim3, char i, char j, char k, char l>
Tensor2_Expr< Tensor4_times_Tensor2_symmetric_01< A, B, T, U, Dim, Dim2, Dim3, i, j, k, l >, typename promote< T, U >::V, Dim2, Dim3, k, l > operator* (const Tensor2_symmetric_Expr< B, U, Dim, i, j > &b, const Tensor4_Expr< A, T, Dim, Dim, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
Tensor3_Expr< const Tensor4_times_Tensor3_23< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim4, i, j, m > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim2, Dim3, Dim4, k, l, m > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
Tensor3_Expr< const Tensor4_times_Tensor3_23< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim1, Dim4, i, j, m > operator* (const Tensor3_Expr< B, U, Dim2, Dim3, Dim4, k, l, m > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
Tensor3_Expr< const Tensor4_times_Tensor3_12_21< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim3, Dim4, i, l, m > operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim4, Dim2, Dim1, m, k, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, int Dim4, char i, char j, char k, char l, char m>
Tensor3_Expr< const Tensor4_times_Tensor3_12_21< A, B, T, U, Dim0, Dim1, Dim2, Dim3, Dim4, i, j, k, l, m >, typename promote< T, U >::V, Dim0, Dim3, Dim4, i, l, m > operator* (const Tensor3_Expr< B, U, Dim4, Dim2, Dim1, m, k, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim1, Dim2, Dim3, j, k, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim1, Dim2, Dim3, j, k, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim1, Dim3, Dim2, j, l, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim1, Dim3, Dim2, j, l, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim2, Dim1, Dim3, k, j, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim2, Dim1, Dim3, k, j, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim2, Dim3, Dim1, k, l, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim2, Dim3, Dim1, k, l, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim3, Dim1, Dim2, l, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim3, Dim1, Dim2, l, j, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim3, Dim2, Dim1, l, k, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim3, Dim2, Dim1, l, k, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim0, Dim2, Dim3, i, k, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim0, Dim2, Dim3, i, k, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim0, Dim3, Dim2, i, l, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim0, Dim3, Dim2, i, l, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim2, Dim0, Dim3, k, i, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim2, Dim0, Dim3, k, i, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim2, Dim3, Dim0, k, l, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim2, Dim3, Dim0, k, l, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim3, Dim0, Dim2, l, i, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim3, Dim0, Dim2, l, i, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim3, Dim2, Dim0, l, k, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim3, Dim2, Dim0, l, k, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim0, Dim1, Dim3, i, j, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim0, Dim1, Dim3, i, j, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim0, Dim3, Dim1, i, l, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim0, Dim3, Dim1, i, l, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim1, Dim0, Dim3, j, i, l > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim1, Dim0, Dim3, j, i, l > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim1, Dim3, Dim0, j, l, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim1, Dim3, Dim0, j, l, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim3, Dim0, Dim1, l, i, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim3, Dim0, Dim1, l, i, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim3, Dim1, Dim0, l, j, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim3, Dim1, Dim0, l, j, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim0, Dim1, Dim2, i, j, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim0, Dim1, Dim2, i, j, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim0, Dim2, Dim1, i, k, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim0, Dim2, Dim1, i, k, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim1, Dim0, Dim2, j, i, k > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim1, Dim0, Dim2, j, i, k > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim1, Dim2, Dim0, j, k, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim1, Dim2, Dim0, j, k, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim2, Dim0, Dim1, k, i, j > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim2, Dim0, Dim1, k, i, j > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a, const Tensor3_Expr< B, U, Dim2, Dim1, Dim0, k, j, i > &b)
 
template<class A , class B , class T , class U , int Dim0, int Dim1, int Dim2, int Dim3, char i, char j, char k, char l>
auto operator* (const Tensor3_Expr< B, U, Dim2, Dim1, Dim0, k, j, i > &b, const Tensor4_Expr< A, T, Dim0, Dim1, Dim2, Dim3, i, j, k, l > &a)
 
template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int Tensor_Dim3>
std::ostream & Tensor4_0001 (std::ostream &os, const Tensor4< T, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2, Tensor_Dim3 > &t, const int &iterator0, const int &iterator1, const int &iterator2)
 
template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int Tensor_Dim3>
std::ostream & Tensor4_0010 (std::ostream &os, const Tensor4< T, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2, Tensor_Dim3 > &t, const int &iterator0, const int &iterator1)
 
template<class T , int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int Tensor_Dim3>
std::ostream & Tensor4_0100 (std::ostream &os, const Tensor4< T, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2, Tensor_Dim3 > &t, const int &iterator0)
 

Detailed Description

Fully Antisymmetric Levi-Civita Tensor.

Tensors class implemented by Walter Landry.

JSON compatible output.

JSON compatible output. It only outputs unique, non-zero elments, so a 3x3 antisymmetric matrix only outputs 3 elements.

JSON compatible output. It only outputs unique elements, so a 3x3 symmetric matrix only outputs 6 elements.

JSON compatible output for numbers. If T is something funky (strings, arrays, etc.) then you are going to have a bad time.

JSON compatible input. It does not validate that separators are actually braces '[' or commas ','. It also ignores errors from missing trailing characters. So you could do something like

Tensor3<double,2,2,2> t3_1; std::stringstream ss(":::3:4:::7:8:::::11:12:::13:14"); ss >> t3_1;

The main repository is available under link https://bitbucket.org/wlandry/ftensor. For more details look at reference [33]. See link http://www.wlandry.net/Presentations/FTensor.pdf.

Note this implementation is modified for proposes of MoFEM.

Enumeration Type Documentation

◆ Layout

Enumerator
column_major 
row_major 

Definition at line 10 of file Layout.hpp.

Function Documentation

◆ conj()

template<class A , class T , int Dim0, int Dim1, char i, char j>
Tensor2_Expr<conj_Tensor2<A, T, Dim0, Dim1, i, j>, T, Dim0, Dim1, i, j> FTensor::conj ( const Tensor2_Expr< A, T, Dim0, Dim1, i, j > &  a)

Definition at line 23 of file