9{
   12 
   16 
   17  
   18 
   19  
   21 
   22  t1(
i) = t2_2(
i, 
j) * t1_2(
j);
 
   24    t1(0)
   25      - (t2_2(0, 0) * t1_2(0) + t2_2(0, 1) * t1_2(1) + t2_2(0, 2) * t1_2(2)),
   26    "T2(i,j)*T1(j)(0)");
   28    t1(1)
   29      - (t2_2(1, 0) * t1_2(0) + t2_2(1, 1) * t1_2(1) + t2_2(1, 2) * t1_2(2)),
   30    "T2(i,j)*T1(j)(1)");
   32    t1(2)
   33      - (t2_2(2, 0) * t1_2(0) + t2_2(2, 1) * t1_2(1) + t2_2(2, 2) * t1_2(2)),
   34    "T2(i,j)*T1(j)(2)");
   35 
   36  t1(
i) = t1_2(
j) * t2_2(
i, 
j);
 
   38    t1(0)
   39      - (t2_2(0, 0) * t1_2(0) + t2_2(0, 1) * t1_2(1) + t2_2(0, 2) * t1_2(2)),
   40    "T1(j)*T2(i,j)(0)");
   42    t1(1)
   43      - (t2_2(1, 0) * t1_2(0) + t2_2(1, 1) * t1_2(1) + t2_2(1, 2) * t1_2(2)),
   44    "T1(j)*T2(i,j)(1)");
   46    t1(2)
   47      - (t2_2(2, 0) * t1_2(0) + t2_2(2, 1) * t1_2(1) + t2_2(2, 2) * t1_2(2)),
   48    "T1(j)*T2(i,j)(2)");
   49 
   50  t1(
j) = t2_2(
i, 
j) * t1_2(
i);
 
   52    t1(0)
   53      - (t2_2(0, 0) * t1_2(0) + t2_2(1, 0) * t1_2(1) + t2_2(2, 0) * t1_2(2)),
   54    "T2(i,j)*T1(i)(0)");
   56    t1(1)
   57      - (t2_2(0, 1) * t1_2(0) + t2_2(1, 1) * t1_2(1) + t2_2(2, 1) * t1_2(2)),
   58    "T2(i,j)*T1(i)(1)");
   60    t1(2)
   61      - (t2_2(0, 2) * t1_2(0) + t2_2(1, 2) * t1_2(1) + t2_2(2, 2) * t1_2(2)),
   62    "T2(i,j)*T1(i)(2)");
   63 
   64  t1(
j) = t1_2(
i) * t2_2(
i, 
j);
 
   66    t1(0)
   67      - (t2_2(0, 0) * t1_2(0) + t2_2(1, 0) * t1_2(1) + t2_2(2, 0) * t1_2(2)),
   68    "T1(i)*T2(i,j)(0)");
   70    t1(1)
   71      - (t2_2(0, 1) * t1_2(0) + t2_2(1, 1) * t1_2(1) + t2_2(2, 1) * t1_2(2)),
   72    "T1(i)*T2(i,j)(1)");
   74    t1(2)
   75      - (t2_2(0, 2) * t1_2(0) + t2_2(1, 2) * t1_2(1) + t2_2(2, 2) * t1_2(2)),
   76    "T1(i)*T2(i,j)(2)");
   77}
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
void test_for_zero(const T &t, const std::string &s)