10{
   14 
   18 
   19  
   20 
   21  
   22 
   23  t2_1(
i, 
k) = t2s_2(
i, 
j) * t2s_3(
j, 
k);
 
   25                  - (t2s_2(0, 0) * t2s_3(0, 0) + t2s_2(0, 1) * t2s_3(1, 0)
   26                     + t2s_2(0, 2) * t2s_3(2, 0)),
   27                "T2s(i,j)*T2s(j,k)(0,0)");
   29                  - (t2s_2(0, 0) * t2s_3(0, 1) + t2s_2(0, 1) * t2s_3(1, 1)
   30                     + t2s_2(0, 2) * t2s_3(2, 1)),
   31                "T2s(i,j)*T2s(j,k)(0,1)");
   33                  - (t2s_2(0, 0) * t2s_3(0, 2) + t2s_2(0, 1) * t2s_3(1, 2)
   34                     + t2s_2(0, 2) * t2s_3(2, 2)),
   35                "T2s(i,j)*T2s(j,k)(0,2)");
   37                  - (t2s_2(1, 0) * t2s_3(0, 0) + t2s_2(1, 1) * t2s_3(1, 0)
   38                     + t2s_2(1, 2) * t2s_3(2, 0)),
   39                "T2s(i,j)*T2s(j,k)(1,0)");
   41                  - (t2s_2(1, 0) * t2s_3(0, 1) + t2s_2(1, 1) * t2s_3(1, 1)
   42                     + t2s_2(1, 2) * t2s_3(2, 1)),
   43                "T2s(i,j)*T2s(j,k)(1,1)");
   45                  - (t2s_2(1, 0) * t2s_3(0, 2) + t2s_2(1, 1) * t2s_3(1, 2)
   46                     + t2s_2(1, 2) * t2s_3(2, 2)),
   47                "T2s(i,j)*T2s(j,k)(1,2)");
   49                  - (t2s_2(2, 0) * t2s_3(0, 0) + t2s_2(2, 1) * t2s_3(1, 0)
   50                     + t2s_2(2, 2) * t2s_3(2, 0)),
   51                "T2s(i,j)*T2s(j,k)(2,0)");
   53                  - (t2s_2(2, 0) * t2s_3(0, 1) + t2s_2(2, 1) * t2s_3(1, 1)
   54                     + t2s_2(2, 2) * t2s_3(2, 1)),
   55                "T2s(i,j)*T2s(j,k)(2,1)");
   57                  - (t2s_2(2, 0) * t2s_3(0, 2) + t2s_2(2, 1) * t2s_3(1, 2)
   58                     + t2s_2(2, 2) * t2s_3(2, 2)),
   59                "T2s(i,j)*T2s(j,k)(2,2)");
   60}
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
void test_for_zero(const T &t, const std::string &s)