10{
   14 
   18 
   19  
   20 
   21  t2_1(0, 0) = t2s_2(0, 0);
   22  t2_1(0, 1) = t2s_2(0, 1);
   23  t2_1(0, 2) = t2s_2(0, 2);
   24  t2_1(1, 0) = t2s_2(1, 0);
   25  t2_1(1, 1) = t2s_2(1, 1);
   26  t2_1(1, 2) = t2s_2(1, 2);
   27  t2_1(2, 0) = t2s_2(2, 0);
   28  t2_1(2, 1) = t2s_2(2, 1);
   29  t2_1(2, 2) = t2s_2(2, 2);
   30 
   31  t2s_1(
i, 
j) = t2s_2(
i, 
k) ^ t2_1(
k, 
j);
 
   33                  - (t2s_2(0, 0) * t2_1(0, 0) + t2s_2(0, 1) * t2_1(1, 0)
   34                     + t2s_2(0, 2) * t2_1(2, 0)),
   35                "T2s(i,k)^T2(k,j)(0,0)");
   37                  - (t2s_2(0, 0) * t2_1(0, 1) + t2s_2(0, 1) * t2_1(1, 1)
   38                     + t2s_2(0, 2) * t2_1(2, 1)),
   39                "T2s(i,k)^T2(k,j)(0,1)");
   41                  - (t2s_2(0, 0) * t2_1(0, 2) + t2s_2(0, 1) * t2_1(1, 2)
   42                     + t2s_2(0, 2) * t2_1(2, 2)),
   43                "T2s(i,k)^T2(k,j)(0,2)");
   45                  - (t2s_2(1, 0) * t2_1(0, 0) + t2s_2(1, 1) * t2_1(1, 0)
   46                     + t2s_2(1, 2) * t2_1(2, 0)),
   47                "T2s(i,k)^T2(k,j)(1,0)");
   49                  - (t2s_2(1, 0) * t2_1(0, 1) + t2s_2(1, 1) * t2_1(1, 1)
   50                     + t2s_2(1, 2) * t2_1(2, 1)),
   51                "T2s(i,k)^T2(k,j)(1,1)");
   53                  - (t2s_2(1, 0) * t2_1(0, 2) + t2s_2(1, 1) * t2_1(1, 2)
   54                     + t2s_2(1, 2) * t2_1(2, 2)),
   55                "T2s(i,k)^T2(k,j)(1,2)");
   57                  - (t2s_2(2, 0) * t2_1(0, 0) + t2s_2(2, 1) * t2_1(1, 0)
   58                     + t2s_2(2, 2) * t2_1(2, 0)),
   59                "T2s(i,k)^T2(k,j)(2,0)");
   61                  - (t2s_2(2, 0) * t2_1(0, 1) + t2s_2(2, 1) * t2_1(1, 1)
   62                     + t2s_2(2, 2) * t2_1(2, 1)),
   63                "T2s(i,k)^T2(k,j)(2,1)");
   65                  - (t2s_2(2, 0) * t2_1(0, 2) + t2s_2(2, 1) * t2_1(1, 2)
   66                     + t2s_2(2, 2) * t2_1(2, 2)),
   67                "T2s(i,k)^T2(k,j)(2,2)");
   68  t2s_1(
i, 
j) = t2_1(
k, 
j) ^ t2s_2(
i, 
k);
 
   70                  - (t2s_2(0, 0) * t2_1(0, 0) + t2s_2(0, 1) * t2_1(1, 0)
   71                     + t2s_2(0, 2) * t2_1(2, 0)),
   72                "T2(k,j)^T2s(i,k)(0,0)");
   74                  - (t2s_2(0, 0) * t2_1(0, 1) + t2s_2(0, 1) * t2_1(1, 1)
   75                     + t2s_2(0, 2) * t2_1(2, 1)),
   76                "T2(k,j)^T2s(i,k)(0,1)");
   78                  - (t2s_2(0, 0) * t2_1(0, 2) + t2s_2(0, 1) * t2_1(1, 2)
   79                     + t2s_2(0, 2) * t2_1(2, 2)),
   80                "T2(k,j)^T2s(i,k)(0,2)");
   82                  - (t2s_2(1, 0) * t2_1(0, 0) + t2s_2(1, 1) * t2_1(1, 0)
   83                     + t2s_2(1, 2) * t2_1(2, 0)),
   84                "T2(k,j)^T2s(i,k)(1,0)");
   86                  - (t2s_2(1, 0) * t2_1(0, 1) + t2s_2(1, 1) * t2_1(1, 1)
   87                     + t2s_2(1, 2) * t2_1(2, 1)),
   88                "T2(k,j)^T2s(i,k)(1,1)");
   90                  - (t2s_2(1, 0) * t2_1(0, 2) + t2s_2(1, 1) * t2_1(1, 2)
   91                     + t2s_2(1, 2) * t2_1(2, 2)),
   92                "T2(k,j)^T2s(i,k)(1,2)");
   94                  - (t2s_2(2, 0) * t2_1(0, 0) + t2s_2(2, 1) * t2_1(1, 0)
   95                     + t2s_2(2, 2) * t2_1(2, 0)),
   96                "T2(k,j)^T2s(i,k)(2,0)");
   98                  - (t2s_2(2, 0) * t2_1(0, 1) + t2s_2(2, 1) * t2_1(1, 1)
   99                     + t2s_2(2, 2) * t2_1(2, 1)),
  100                "T2(k,j)^T2s(i,k)(2,1)");
  102                  - (t2s_2(2, 0) * t2_1(0, 2) + t2s_2(2, 1) * t2_1(1, 2)
  103                     + t2s_2(2, 2) * t2_1(2, 2)),
  104                "T2(k,j)^T2s(i,k)(2,2)");
  105}
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)