11{
   16 
   20 
   21  t3dg_1(
j, 
k, 
i) = (t3dg_2(
i, 
j, 
k) || t3dg_2(
i, 
k, 
j));
 
   22  test_for_zero(t3dg_1(0, 0, 0) - (t3dg_2(0, 0, 0) + t3dg_2(0, 0, 0)),
 
   23                "T3dg(i,j,k)||T3dg(i,k,j)(0,0,0)");
   24  test_for_zero(t3dg_1(0, 1, 0) - (t3dg_2(0, 0, 1) + t3dg_2(0, 1, 0)),
 
   25                "T3dg(i,j,k)||T3dg(i,k,j)(0,0,1)");
   26  test_for_zero(t3dg_1(0, 2, 0) - (t3dg_2(0, 0, 2) + t3dg_2(0, 2, 0)),
 
   27                "T3dg(i,j,k)||T3dg(i,k,j)(0,0,2)");
   28  test_for_zero(t3dg_1(1, 0, 0) - (t3dg_2(0, 1, 0) + t3dg_2(0, 0, 1)),
 
   29                "T3dg(i,j,k)||T3dg(i,k,j)(0,1,0)");
   30  test_for_zero(t3dg_1(1, 1, 0) - (t3dg_2(0, 1, 1) + t3dg_2(0, 1, 1)),
 
   31                "T3dg(i,j,k)||T3dg(i,k,j)(0,1,1)");
   32  test_for_zero(t3dg_1(1, 2, 0) - (t3dg_2(0, 1, 2) + t3dg_2(0, 2, 1)),
 
   33                "T3dg(i,j,k)||T3dg(i,k,j)(0,1,2)");
   34  test_for_zero(t3dg_1(2, 0, 0) - (t3dg_2(0, 2, 0) + t3dg_2(0, 0, 2)),
 
   35                "T3dg(i,j,k)||T3dg(i,k,j)(0,2,0)");
   36  test_for_zero(t3dg_1(2, 1, 0) - (t3dg_2(0, 2, 1) + t3dg_2(0, 1, 2)),
 
   37                "T3dg(i,j,k)||T3dg(i,k,j)(0,2,1)");
   38  test_for_zero(t3dg_1(2, 2, 0) - (t3dg_2(0, 2, 2) + t3dg_2(0, 2, 2)),
 
   39                "T3dg(i,j,k)||T3dg(i,k,j)(0,2,2)");
   40  test_for_zero(t3dg_1(0, 0, 1) - (t3dg_2(1, 0, 0) + t3dg_2(1, 0, 0)),
 
   41                "T3dg(i,j,k)||T3dg(i,k,j)(1,0,0)");
   42  test_for_zero(t3dg_1(0, 1, 1) - (t3dg_2(1, 0, 1) + t3dg_2(1, 1, 0)),
 
   43                "T3dg(i,j,k)||T3dg(i,k,j)(1,0,1)");
   44  test_for_zero(t3dg_1(0, 2, 1) - (t3dg_2(1, 0, 2) + t3dg_2(1, 2, 0)),
 
   45                "T3dg(i,j,k)||T3dg(i,k,j)(1,0,2)");
   46  test_for_zero(t3dg_1(1, 0, 1) - (t3dg_2(1, 1, 0) + t3dg_2(1, 0, 1)),
 
   47                "T3dg(i,j,k)||T3dg(i,k,j)(1,1,0)");
   48  test_for_zero(t3dg_1(1, 1, 1) - (t3dg_2(1, 1, 1) + t3dg_2(1, 1, 1)),
 
   49                "T3dg(i,j,k)||T3dg(i,k,j)(1,1,1)");
   50  test_for_zero(t3dg_1(1, 2, 1) - (t3dg_2(1, 1, 2) + t3dg_2(1, 2, 1)),
 
   51                "T3dg(i,j,k)||T3dg(i,k,j)(1,1,2)");
   52  test_for_zero(t3dg_1(2, 0, 1) - (t3dg_2(1, 2, 0) + t3dg_2(1, 0, 2)),
 
   53                "T3dg(i,j,k)||T3dg(i,k,j)(1,2,0)");
   54  test_for_zero(t3dg_1(2, 1, 1) - (t3dg_2(1, 2, 1) + t3dg_2(1, 1, 2)),
 
   55                "T3dg(i,j,k)||T3dg(i,k,j)(1,2,1)");
   56  test_for_zero(t3dg_1(2, 2, 1) - (t3dg_2(1, 2, 2) + t3dg_2(1, 2, 2)),
 
   57                "T3dg(i,j,k)||T3dg(i,k,j)(1,2,2)");
   58  test_for_zero(t3dg_1(0, 0, 2) - (t3dg_2(2, 0, 0) + t3dg_2(2, 0, 0)),
 
   59                "T3dg(i,j,k)||T3dg(i,k,j)(2,0,0)");
   60  test_for_zero(t3dg_1(0, 1, 2) - (t3dg_2(2, 0, 1) + t3dg_2(2, 1, 0)),
 
   61                "T3dg(i,j,k)||T3dg(i,k,j)(2,0,1)");
   62  test_for_zero(t3dg_1(0, 2, 2) - (t3dg_2(2, 0, 2) + t3dg_2(2, 2, 0)),
 
   63                "T3dg(i,j,k)||T3dg(i,k,j)(2,0,2)");
   64  test_for_zero(t3dg_1(1, 0, 2) - (t3dg_2(2, 1, 0) + t3dg_2(2, 0, 1)),
 
   65                "T3dg(i,j,k)||T3dg(i,k,j)(2,1,0)");
   66  test_for_zero(t3dg_1(1, 1, 2) - (t3dg_2(2, 1, 1) + t3dg_2(2, 1, 1)),
 
   67                "T3dg(i,j,k)||T3dg(i,k,j)(2,1,1)");
   68  test_for_zero(t3dg_1(1, 2, 2) - (t3dg_2(2, 1, 2) + t3dg_2(2, 2, 1)),
 
   69                "T3dg(i,j,k)||T3dg(i,k,j)(2,1,2)");
   70  test_for_zero(t3dg_1(2, 0, 2) - (t3dg_2(2, 2, 0) + t3dg_2(2, 0, 2)),
 
   71                "T3dg(i,j,k)||T3dg(i,k,j)(2,2,0)");
   72  test_for_zero(t3dg_1(2, 1, 2) - (t3dg_2(2, 2, 1) + t3dg_2(2, 1, 2)),
 
   73                "T3dg(i,j,k)||T3dg(i,k,j)(2,2,1)");
   74  test_for_zero(t3dg_1(2, 2, 2) - (t3dg_2(2, 2, 2) + t3dg_2(2, 2, 2)),
 
   75                "T3dg(i,j,k)||T3dg(i,k,j)(2,2,2)");
   76 
   77  t3dg_1(
j, 
k, 
i) = (t3dg_2(
j, 
i, 
k) || t3dg_2(
k, 
i, 
j));
 
   78  test_for_zero(t3dg_1(0, 0, 0) - (t3dg_2(0, 0, 0) + t3dg_2(0, 0, 0)),
 
   79                "T3dg(j,i,k)||T3dg(k,i,j)(0,0,0)");
   80  test_for_zero(t3dg_1(0, 1, 0) - (t3dg_2(0, 0, 1) + t3dg_2(1, 0, 0)),
 
   81                "T3dg(j,i,k)||T3dg(k,i,j)(0,0,1)");
   82  test_for_zero(t3dg_1(0, 2, 0) - (t3dg_2(0, 0, 2) + t3dg_2(2, 0, 0)),
 
   83                "T3dg(j,i,k)||T3dg(k,i,j)(0,0,2)");
   84  test_for_zero(t3dg_1(1, 0, 0) - (t3dg_2(0, 1, 0) + t3dg_2(0, 0, 1)),
 
   85                "T3dg(j,i,k)||T3dg(k,i,j)(0,1,0)");
   86  test_for_zero(t3dg_1(1, 1, 0) - (t3dg_2(0, 1, 1) + t3dg_2(1, 0, 1)),
 
   87                "T3dg(j,i,k)||T3dg(k,i,j)(0,1,1)");
   88  test_for_zero(t3dg_1(1, 2, 0) - (t3dg_2(0, 1, 2) + t3dg_2(2, 0, 1)),
 
   89                "T3dg(j,i,k)||T3dg(k,i,j)(0,1,2)");
   90  test_for_zero(t3dg_1(2, 0, 0) - (t3dg_2(0, 2, 0) + t3dg_2(0, 0, 2)),
 
   91                "T3dg(j,i,k)||T3dg(k,i,j)(0,2,0)");
   92  test_for_zero(t3dg_1(2, 1, 0) - (t3dg_2(0, 2, 1) + t3dg_2(1, 0, 2)),
 
   93                "T3dg(j,i,k)||T3dg(k,i,j)(0,2,1)");
   94  test_for_zero(t3dg_1(2, 2, 0) - (t3dg_2(0, 2, 2) + t3dg_2(2, 0, 2)),
 
   95                "T3dg(j,i,k)||T3dg(k,i,j)(0,2,2)");
   96  test_for_zero(t3dg_1(0, 0, 1) - (t3dg_2(1, 0, 0) + t3dg_2(0, 1, 0)),
 
   97                "T3dg(j,i,k)||T3dg(k,i,j)(1,0,0)");
   98  test_for_zero(t3dg_1(0, 1, 1) - (t3dg_2(1, 0, 1) + t3dg_2(1, 1, 0)),
 
   99                "T3dg(j,i,k)||T3dg(k,i,j)(1,0,1)");
  100  test_for_zero(t3dg_1(0, 2, 1) - (t3dg_2(1, 0, 2) + t3dg_2(2, 1, 0)),
 
  101                "T3dg(j,i,k)||T3dg(k,i,j)(1,0,2)");
  102  test_for_zero(t3dg_1(1, 0, 1) - (t3dg_2(1, 1, 0) + t3dg_2(0, 1, 1)),
 
  103                "T3dg(j,i,k)||T3dg(k,i,j)(1,1,0)");
  104  test_for_zero(t3dg_1(1, 1, 1) - (t3dg_2(1, 1, 1) + t3dg_2(1, 1, 1)),
 
  105                "T3dg(j,i,k)||T3dg(k,i,j)(1,1,1)");
  106  test_for_zero(t3dg_1(1, 2, 1) - (t3dg_2(1, 1, 2) + t3dg_2(2, 1, 1)),
 
  107                "T3dg(j,i,k)||T3dg(k,i,j)(1,1,2)");
  108  test_for_zero(t3dg_1(2, 0, 1) - (t3dg_2(1, 2, 0) + t3dg_2(0, 1, 2)),
 
  109                "T3dg(j,i,k)||T3dg(k,i,j)(1,2,0)");
  110  test_for_zero(t3dg_1(2, 1, 1) - (t3dg_2(1, 2, 1) + t3dg_2(1, 1, 2)),
 
  111                "T3dg(j,i,k)||T3dg(k,i,j)(1,2,1)");
  112  test_for_zero(t3dg_1(2, 2, 1) - (t3dg_2(1, 2, 2) + t3dg_2(2, 1, 2)),
 
  113                "T3dg(j,i,k)||T3dg(k,i,j)(1,2,2)");
  114  test_for_zero(t3dg_1(0, 0, 2) - (t3dg_2(2, 0, 0) + t3dg_2(0, 2, 0)),
 
  115                "T3dg(j,i,k)||T3dg(k,i,j)(2,0,0)");
  116  test_for_zero(t3dg_1(0, 1, 2) - (t3dg_2(2, 0, 1) + t3dg_2(1, 2, 0)),
 
  117                "T3dg(j,i,k)||T3dg(k,i,j)(2,0,1)");
  118  test_for_zero(t3dg_1(0, 2, 2) - (t3dg_2(2, 0, 2) + t3dg_2(2, 2, 0)),
 
  119                "T3dg(j,i,k)||T3dg(k,i,j)(2,0,2)");
  120  test_for_zero(t3dg_1(1, 0, 2) - (t3dg_2(2, 1, 0) + t3dg_2(0, 2, 1)),
 
  121                "T3dg(j,i,k)||T3dg(k,i,j)(2,1,0)");
  122  test_for_zero(t3dg_1(1, 1, 2) - (t3dg_2(2, 1, 1) + t3dg_2(1, 2, 1)),
 
  123                "T3dg(j,i,k)||T3dg(k,i,j)(2,1,1)");
  124  test_for_zero(t3dg_1(1, 2, 2) - (t3dg_2(2, 1, 2) + t3dg_2(2, 2, 1)),
 
  125                "T3dg(j,i,k)||T3dg(k,i,j)(2,1,2)");
  126  test_for_zero(t3dg_1(2, 0, 2) - (t3dg_2(2, 2, 0) + t3dg_2(0, 2, 2)),
 
  127                "T3dg(j,i,k)||T3dg(k,i,j)(2,2,0)");
  128  test_for_zero(t3dg_1(2, 1, 2) - (t3dg_2(2, 2, 1) + t3dg_2(1, 2, 2)),
 
  129                "T3dg(j,i,k)||T3dg(k,i,j)(2,2,1)");
  130  test_for_zero(t3dg_1(2, 2, 2) - (t3dg_2(2, 2, 2) + t3dg_2(2, 2, 2)),
 
  131                "T3dg(j,i,k)||T3dg(k,i,j)(2,2,2)");
  132 
  133  t3dg_1(
i, 
j, 
k) = t3dg_2(
i, 
j, 
k) & t2s_2(
i, 
j);
 
  134  test_for_zero(t3dg_1(0, 0, 0) - (t3dg_2(0, 0, 0) * t2s_2(0, 0)),
 
  135                "T3dg(j,i,k)&T2s(i,j)(0,0,0)");
  136  test_for_zero(t3dg_1(0, 0, 1) - (t3dg_2(0, 0, 1) * t2s_2(0, 0)),
 
  137                "T3dg(j,i,k)&T2s(i,j)(0,0,1)");
  138  test_for_zero(t3dg_1(0, 0, 2) - (t3dg_2(0, 0, 2) * t2s_2(0, 0)),
 
  139                "T3dg(j,i,k)&T2s(i,j)(0,0,2)");
  140  test_for_zero(t3dg_1(0, 1, 0) - (t3dg_2(0, 1, 0) * t2s_2(0, 1)),
 
  141                "T3dg(j,i,k)&T2s(i,j)(0,1,0)");
  142  test_for_zero(t3dg_1(0, 1, 1) - (t3dg_2(0, 1, 1) * t2s_2(0, 1)),
 
  143                "T3dg(j,i,k)&T2s(i,j)(0,1,1)");
  144  test_for_zero(t3dg_1(0, 1, 2) - (t3dg_2(0, 1, 2) * t2s_2(0, 1)),
 
  145                "T3dg(j,i,k)&T2s(i,j)(0,1,2)");
  146  test_for_zero(t3dg_1(0, 2, 0) - (t3dg_2(0, 2, 0) * t2s_2(0, 2)),
 
  147                "T3dg(j,i,k)&T2s(i,j)(0,2,0)");
  148  test_for_zero(t3dg_1(0, 2, 1) - (t3dg_2(0, 2, 1) * t2s_2(0, 2)),
 
  149                "T3dg(j,i,k)&T2s(i,j)(0,2,1)");
  150  test_for_zero(t3dg_1(0, 2, 2) - (t3dg_2(0, 2, 2) * t2s_2(0, 2)),
 
  151                "T3dg(j,i,k)&T2s(i,j)(0,2,2)");
  152  test_for_zero(t3dg_1(1, 0, 0) - (t3dg_2(1, 0, 0) * t2s_2(1, 0)),
 
  153                "T3dg(j,i,k)&T2s(i,j)(1,0,0)");
  154  test_for_zero(t3dg_1(1, 0, 1) - (t3dg_2(1, 0, 1) * t2s_2(1, 0)),
 
  155                "T3dg(j,i,k)&T2s(i,j)(1,0,1)");
  156  test_for_zero(t3dg_1(1, 0, 2) - (t3dg_2(1, 0, 2) * t2s_2(1, 0)),
 
  157                "T3dg(j,i,k)&T2s(i,j)(1,0,2)");
  158  test_for_zero(t3dg_1(1, 1, 0) - (t3dg_2(1, 1, 0) * t2s_2(1, 1)),
 
  159                "T3dg(j,i,k)&T2s(i,j)(1,1,0)");
  160  test_for_zero(t3dg_1(1, 1, 1) - (t3dg_2(1, 1, 1) * t2s_2(1, 1)),
 
  161                "T3dg(j,i,k)&T2s(i,j)(1,1,1)");
  162  test_for_zero(t3dg_1(1, 1, 2) - (t3dg_2(1, 1, 2) * t2s_2(1, 1)),
 
  163                "T3dg(j,i,k)&T2s(i,j)(1,1,2)");
  164  test_for_zero(t3dg_1(1, 2, 0) - (t3dg_2(1, 2, 0) * t2s_2(1, 2)),
 
  165                "T3dg(j,i,k)&T2s(i,j)(1,2,0)");
  166  test_for_zero(t3dg_1(1, 2, 1) - (t3dg_2(1, 2, 1) * t2s_2(1, 2)),
 
  167                "T3dg(j,i,k)&T2s(i,j)(1,2,1)");
  168  test_for_zero(t3dg_1(1, 2, 2) - (t3dg_2(1, 2, 2) * t2s_2(1, 2)),
 
  169                "T3dg(j,i,k)&T2s(i,j)(1,2,2)");
  170  test_for_zero(t3dg_1(2, 0, 0) - (t3dg_2(2, 0, 0) * t2s_2(2, 0)),
 
  171                "T3dg(j,i,k)&T2s(i,j)(2,0,0)");
  172  test_for_zero(t3dg_1(2, 0, 1) - (t3dg_2(2, 0, 1) * t2s_2(2, 0)),
 
  173                "T3dg(j,i,k)&T2s(i,j)(2,0,1)");
  174  test_for_zero(t3dg_1(2, 0, 2) - (t3dg_2(2, 0, 2) * t2s_2(2, 0)),
 
  175                "T3dg(j,i,k)&T2s(i,j)(2,0,2)");
  176  test_for_zero(t3dg_1(2, 1, 0) - (t3dg_2(2, 1, 0) * t2s_2(2, 1)),
 
  177                "T3dg(j,i,k)&T2s(i,j)(2,1,0)");
  178  test_for_zero(t3dg_1(2, 1, 1) - (t3dg_2(2, 1, 1) * t2s_2(2, 1)),
 
  179                "T3dg(j,i,k)&T2s(i,j)(2,1,1)");
  180  test_for_zero(t3dg_1(2, 1, 2) - (t3dg_2(2, 1, 2) * t2s_2(2, 1)),
 
  181                "T3dg(j,i,k)&T2s(i,j)(2,1,2)");
  182  test_for_zero(t3dg_1(2, 2, 0) - (t3dg_2(2, 2, 0) * t2s_2(2, 2)),
 
  183                "T3dg(j,i,k)&T2s(i,j)(2,2,0)");
  184  test_for_zero(t3dg_1(2, 2, 1) - (t3dg_2(2, 2, 1) * t2s_2(2, 2)),
 
  185                "T3dg(j,i,k)&T2s(i,j)(2,2,1)");
  186  test_for_zero(t3dg_1(2, 2, 2) - (t3dg_2(2, 2, 2) * t2s_2(2, 2)),
 
  187                "T3dg(j,i,k)&T2s(i,j)(2,2,2)");
  188 
  189  t3dg_1(
i, 
j, 
k) = t2s_2(
i, 
j) & t3dg_2(
i, 
j, 
k);
 
  190  test_for_zero(t3dg_1(0, 0, 0) - (t3dg_2(0, 0, 0) * t2s_2(0, 0)),
 
  191                "T2s(i,j)&T3dg(j,i,k)(0,0,0)");
  192  test_for_zero(t3dg_1(0, 0, 1) - (t3dg_2(0, 0, 1) * t2s_2(0, 0)),
 
  193                "T2s(i,j)&T3dg(j,i,k)(0,0,1)");
  194  test_for_zero(t3dg_1(0, 0, 2) - (t3dg_2(0, 0, 2) * t2s_2(0, 0)),
 
  195                "T2s(i,j)&T3dg(j,i,k)(0,0,2)");
  196  test_for_zero(t3dg_1(0, 1, 0) - (t3dg_2(0, 1, 0) * t2s_2(0, 1)),
 
  197                "T2s(i,j)&T3dg(j,i,k)(0,1,0)");
  198  test_for_zero(t3dg_1(0, 1, 1) - (t3dg_2(0, 1, 1) * t2s_2(0, 1)),
 
  199                "T2s(i,j)&T3dg(j,i,k)(0,1,1)");
  200  test_for_zero(t3dg_1(0, 1, 2) - (t3dg_2(0, 1, 2) * t2s_2(0, 1)),
 
  201                "T2s(i,j)&T3dg(j,i,k)(0,1,2)");
  202  test_for_zero(t3dg_1(0, 2, 0) - (t3dg_2(0, 2, 0) * t2s_2(0, 2)),
 
  203                "T2s(i,j)&T3dg(j,i,k)(0,2,0)");
  204  test_for_zero(t3dg_1(0, 2, 1) - (t3dg_2(0, 2, 1) * t2s_2(0, 2)),
 
  205                "T2s(i,j)&T3dg(j,i,k)(0,2,1)");
  206  test_for_zero(t3dg_1(0, 2, 2) - (t3dg_2(0, 2, 2) * t2s_2(0, 2)),
 
  207                "T2s(i,j)&T3dg(j,i,k)(0,2,2)");
  208  test_for_zero(t3dg_1(1, 0, 0) - (t3dg_2(1, 0, 0) * t2s_2(1, 0)),
 
  209                "T2s(i,j)&T3dg(j,i,k)(1,0,0)");
  210  test_for_zero(t3dg_1(1, 0, 1) - (t3dg_2(1, 0, 1) * t2s_2(1, 0)),
 
  211                "T2s(i,j)&T3dg(j,i,k)(1,0,1)");
  212  test_for_zero(t3dg_1(1, 0, 2) - (t3dg_2(1, 0, 2) * t2s_2(1, 0)),
 
  213                "T2s(i,j)&T3dg(j,i,k)(1,0,2)");
  214  test_for_zero(t3dg_1(1, 1, 0) - (t3dg_2(1, 1, 0) * t2s_2(1, 1)),
 
  215                "T2s(i,j)&T3dg(j,i,k)(1,1,0)");
  216  test_for_zero(t3dg_1(1, 1, 1) - (t3dg_2(1, 1, 1) * t2s_2(1, 1)),
 
  217                "T2s(i,j)&T3dg(j,i,k)(1,1,1)");
  218  test_for_zero(t3dg_1(1, 1, 2) - (t3dg_2(1, 1, 2) * t2s_2(1, 1)),
 
  219                "T2s(i,j)&T3dg(j,i,k)(1,1,2)");
  220  test_for_zero(t3dg_1(1, 2, 0) - (t3dg_2(1, 2, 0) * t2s_2(1, 2)),
 
  221                "T2s(i,j)&T3dg(j,i,k)(1,2,0)");
  222  test_for_zero(t3dg_1(1, 2, 1) - (t3dg_2(1, 2, 1) * t2s_2(1, 2)),
 
  223                "T2s(i,j)&T3dg(j,i,k)(1,2,1)");
  224  test_for_zero(t3dg_1(1, 2, 2) - (t3dg_2(1, 2, 2) * t2s_2(1, 2)),
 
  225                "T2s(i,j)&T3dg(j,i,k)(1,2,2)");
  226  test_for_zero(t3dg_1(2, 0, 0) - (t3dg_2(2, 0, 0) * t2s_2(2, 0)),
 
  227                "T2s(i,j)&T3dg(j,i,k)(2,0,0)");
  228  test_for_zero(t3dg_1(2, 0, 1) - (t3dg_2(2, 0, 1) * t2s_2(2, 0)),
 
  229                "T2s(i,j)&T3dg(j,i,k)(2,0,1)");
  230  test_for_zero(t3dg_1(2, 0, 2) - (t3dg_2(2, 0, 2) * t2s_2(2, 0)),
 
  231                "T2s(i,j)&T3dg(j,i,k)(2,0,2)");
  232  test_for_zero(t3dg_1(2, 1, 0) - (t3dg_2(2, 1, 0) * t2s_2(2, 1)),
 
  233                "T2s(i,j)&T3dg(j,i,k)(2,1,0)");
  234  test_for_zero(t3dg_1(2, 1, 1) - (t3dg_2(2, 1, 1) * t2s_2(2, 1)),
 
  235                "T2s(i,j)&T3dg(j,i,k)(2,1,1)");
  236  test_for_zero(t3dg_1(2, 1, 2) - (t3dg_2(2, 1, 2) * t2s_2(2, 1)),
 
  237                "T2s(i,j)&T3dg(j,i,k)(2,1,2)");
  238  test_for_zero(t3dg_1(2, 2, 0) - (t3dg_2(2, 2, 0) * t2s_2(2, 2)),
 
  239                "T2s(i,j)&T3dg(j,i,k)(2,2,0)");
  240  test_for_zero(t3dg_1(2, 2, 1) - (t3dg_2(2, 2, 1) * t2s_2(2, 2)),
 
  241                "T2s(i,j)&T3dg(j,i,k)(2,2,1)");
  242  test_for_zero(t3dg_1(2, 2, 2) - (t3dg_2(2, 2, 2) * t2s_2(2, 2)),
 
  243                "T2s(i,j)&T3dg(j,i,k)(2,2,2)");
  244 
  245  t2_1(
i, 
l) = t3dg_2(
i, 
j, 
k) * t3dg_3(
j, 
k, 
l);
 
  247                  - (t3dg_2(0, 0, 0) * t3dg_3(0, 0, 0)
  248                     + t3dg_2(0, 0, 1) * t3dg_3(0, 1, 0)
  249                     + t3dg_2(0, 0, 2) * t3dg_3(0, 2, 0)
  250                     + t3dg_2(0, 1, 0) * t3dg_3(1, 0, 0)
  251                     + t3dg_2(0, 1, 1) * t3dg_3(1, 1, 0)
  252                     + t3dg_2(0, 1, 2) * t3dg_3(1, 2, 0)
  253                     + t3dg_2(0, 2, 0) * t3dg_3(2, 0, 0)
  254                     + t3dg_2(0, 2, 1) * t3dg_3(2, 1, 0)
  255                     + t3dg_2(0, 2, 2) * t3dg_3(2, 2, 0)),
  256                "T3dg(i,j,k)*T3dg(j,k,l)(0,0)");
  258                  - (t3dg_2(0, 0, 0) * t3dg_3(0, 0, 1)
  259                     + t3dg_2(0, 0, 1) * t3dg_3(0, 1, 1)
  260                     + t3dg_2(0, 0, 2) * t3dg_3(0, 2, 1)
  261                     + t3dg_2(0, 1, 0) * t3dg_3(1, 0, 1)
  262                     + t3dg_2(0, 1, 1) * t3dg_3(1, 1, 1)
  263                     + t3dg_2(0, 1, 2) * t3dg_3(1, 2, 1)
  264                     + t3dg_2(0, 2, 0) * t3dg_3(2, 0, 1)
  265                     + t3dg_2(0, 2, 1) * t3dg_3(2, 1, 1)
  266                     + t3dg_2(0, 2, 2) * t3dg_3(2, 2, 1)),
  267                "T3dg(i,j,k)*T3dg(j,k,l)(0,1)");
  269                  - (t3dg_2(0, 0, 0) * t3dg_3(0, 0, 2)
  270                     + t3dg_2(0, 0, 1) * t3dg_3(0, 1, 2)
  271                     + t3dg_2(0, 0, 2) * t3dg_3(0, 2, 2)
  272                     + t3dg_2(0, 1, 0) * t3dg_3(1, 0, 2)
  273                     + t3dg_2(0, 1, 1) * t3dg_3(1, 1, 2)
  274                     + t3dg_2(0, 1, 2) * t3dg_3(1, 2, 2)
  275                     + t3dg_2(0, 2, 0) * t3dg_3(2, 0, 2)
  276                     + t3dg_2(0, 2, 1) * t3dg_3(2, 1, 2)
  277                     + t3dg_2(0, 2, 2) * t3dg_3(2, 2, 2)),
  278                "T3dg(i,j,k)*T3dg(j,k,l)(0,2)");
  280                  - (t3dg_2(1, 0, 0) * t3dg_3(0, 0, 0)
  281                     + t3dg_2(1, 0, 1) * t3dg_3(0, 1, 0)
  282                     + t3dg_2(1, 0, 2) * t3dg_3(0, 2, 0)
  283                     + t3dg_2(1, 1, 0) * t3dg_3(1, 0, 0)
  284                     + t3dg_2(1, 1, 1) * t3dg_3(1, 1, 0)
  285                     + t3dg_2(1, 1, 2) * t3dg_3(1, 2, 0)
  286                     + t3dg_2(1, 2, 0) * t3dg_3(2, 0, 0)
  287                     + t3dg_2(1, 2, 1) * t3dg_3(2, 1, 0)
  288                     + t3dg_2(1, 2, 2) * t3dg_3(2, 2, 0)),
  289                "T3dg(i,j,k)*T3dg(j,k,l)(1,0)");
  291                  - (t3dg_2(1, 0, 0) * t3dg_3(0, 0, 1)
  292                     + t3dg_2(1, 0, 1) * t3dg_3(0, 1, 1)
  293                     + t3dg_2(1, 0, 2) * t3dg_3(0, 2, 1)
  294                     + t3dg_2(1, 1, 0) * t3dg_3(1, 0, 1)
  295                     + t3dg_2(1, 1, 1) * t3dg_3(1, 1, 1)
  296                     + t3dg_2(1, 1, 2) * t3dg_3(1, 2, 1)
  297                     + t3dg_2(1, 2, 0) * t3dg_3(2, 0, 1)
  298                     + t3dg_2(1, 2, 1) * t3dg_3(2, 1, 1)
  299                     + t3dg_2(1, 2, 2) * t3dg_3(2, 2, 1)),
  300                "T3dg(i,j,k)*T3dg(j,k,l)(1,1)");
  302                  - (t3dg_2(1, 0, 0) * t3dg_3(0, 0, 2)
  303                     + t3dg_2(1, 0, 1) * t3dg_3(0, 1, 2)
  304                     + t3dg_2(1, 0, 2) * t3dg_3(0, 2, 2)
  305                     + t3dg_2(1, 1, 0) * t3dg_3(1, 0, 2)
  306                     + t3dg_2(1, 1, 1) * t3dg_3(1, 1, 2)
  307                     + t3dg_2(1, 1, 2) * t3dg_3(1, 2, 2)
  308                     + t3dg_2(1, 2, 0) * t3dg_3(2, 0, 2)
  309                     + t3dg_2(1, 2, 1) * t3dg_3(2, 1, 2)
  310                     + t3dg_2(1, 2, 2) * t3dg_3(2, 2, 2)),
  311                "T3dg(i,j,k)*T3dg(j,k,l)(1,2)");
  313                  - (t3dg_2(2, 0, 0) * t3dg_3(0, 0, 0)
  314                     + t3dg_2(2, 0, 1) * t3dg_3(0, 1, 0)
  315                     + t3dg_2(2, 0, 2) * t3dg_3(0, 2, 0)
  316                     + t3dg_2(2, 1, 0) * t3dg_3(1, 0, 0)
  317                     + t3dg_2(2, 1, 1) * t3dg_3(1, 1, 0)
  318                     + t3dg_2(2, 1, 2) * t3dg_3(1, 2, 0)
  319                     + t3dg_2(2, 2, 0) * t3dg_3(2, 0, 0)
  320                     + t3dg_2(2, 2, 1) * t3dg_3(2, 1, 0)
  321                     + t3dg_2(2, 2, 2) * t3dg_3(2, 2, 0)),
  322                "T3dg(i,j,k)*T3dg(j,k,l)(2,0)");
  324                  - (t3dg_2(2, 0, 0) * t3dg_3(0, 0, 1)
  325                     + t3dg_2(2, 0, 1) * t3dg_3(0, 1, 1)
  326                     + t3dg_2(2, 0, 2) * t3dg_3(0, 2, 1)
  327                     + t3dg_2(2, 1, 0) * t3dg_3(1, 0, 1)
  328                     + t3dg_2(2, 1, 1) * t3dg_3(1, 1, 1)
  329                     + t3dg_2(2, 1, 2) * t3dg_3(1, 2, 1)
  330                     + t3dg_2(2, 2, 0) * t3dg_3(2, 0, 1)
  331                     + t3dg_2(2, 2, 1) * t3dg_3(2, 1, 1)
  332                     + t3dg_2(2, 2, 2) * t3dg_3(2, 2, 1)),
  333                "T3dg(i,j,k)*T3dg(j,k,l)(2,1)");
  335                  - (t3dg_2(2, 0, 0) * t3dg_3(0, 0, 2)
  336                     + t3dg_2(2, 0, 1) * t3dg_3(0, 1, 2)
  337                     + t3dg_2(2, 0, 2) * t3dg_3(0, 2, 2)
  338                     + t3dg_2(2, 1, 0) * t3dg_3(1, 0, 2)
  339                     + t3dg_2(2, 1, 1) * t3dg_3(1, 1, 2)
  340                     + t3dg_2(2, 1, 2) * t3dg_3(1, 2, 2)
  341                     + t3dg_2(2, 2, 0) * t3dg_3(2, 0, 2)
  342                     + t3dg_2(2, 2, 1) * t3dg_3(2, 1, 2)
  343                     + t3dg_2(2, 2, 2) * t3dg_3(2, 2, 2)),
  344                "T3dg(i,j,k)*T3dg(j,k,l)(2,2)");
  345 
  346  t2_1(
i, 
l) = t3dg_2(
j, 
k, 
l) * t3dg_3(
i, 
j, 
k);
 
  348                  - (t3dg_3(0, 0, 0) * t3dg_2(0, 0, 0)
  349                     + t3dg_3(0, 0, 1) * t3dg_2(0, 1, 0)
  350                     + t3dg_3(0, 0, 2) * t3dg_2(0, 2, 0)
  351                     + t3dg_3(0, 1, 0) * t3dg_2(1, 0, 0)
  352                     + t3dg_3(0, 1, 1) * t3dg_2(1, 1, 0)
  353                     + t3dg_3(0, 1, 2) * t3dg_2(1, 2, 0)
  354                     + t3dg_3(0, 2, 0) * t3dg_2(2, 0, 0)
  355                     + t3dg_3(0, 2, 1) * t3dg_2(2, 1, 0)
  356                     + t3dg_3(0, 2, 2) * t3dg_2(2, 2, 0)),
  357                "T3dg(j,k,l)*T3dg(i,j,k)(0,0)");
  359                  - (t3dg_3(0, 0, 0) * t3dg_2(0, 0, 1)
  360                     + t3dg_3(0, 0, 1) * t3dg_2(0, 1, 1)
  361                     + t3dg_3(0, 0, 2) * t3dg_2(0, 2, 1)
  362                     + t3dg_3(0, 1, 0) * t3dg_2(1, 0, 1)
  363                     + t3dg_3(0, 1, 1) * t3dg_2(1, 1, 1)
  364                     + t3dg_3(0, 1, 2) * t3dg_2(1, 2, 1)
  365                     + t3dg_3(0, 2, 0) * t3dg_2(2, 0, 1)
  366                     + t3dg_3(0, 2, 1) * t3dg_2(2, 1, 1)
  367                     + t3dg_3(0, 2, 2) * t3dg_2(2, 2, 1)),
  368                "T3dg(j,k,l)*T3dg(i,j,k)(0,1)");
  370                  - (t3dg_3(0, 0, 0) * t3dg_2(0, 0, 2)
  371                     + t3dg_3(0, 0, 1) * t3dg_2(0, 1, 2)
  372                     + t3dg_3(0, 0, 2) * t3dg_2(0, 2, 2)
  373                     + t3dg_3(0, 1, 0) * t3dg_2(1, 0, 2)
  374                     + t3dg_3(0, 1, 1) * t3dg_2(1, 1, 2)
  375                     + t3dg_3(0, 1, 2) * t3dg_2(1, 2, 2)
  376                     + t3dg_3(0, 2, 0) * t3dg_2(2, 0, 2)
  377                     + t3dg_3(0, 2, 1) * t3dg_2(2, 1, 2)
  378                     + t3dg_3(0, 2, 2) * t3dg_2(2, 2, 2)),
  379                "T3dg(j,k,l)*T3dg(i,j,k)(0,2)");
  381                  - (t3dg_3(1, 0, 0) * t3dg_2(0, 0, 0)
  382                     + t3dg_3(1, 0, 1) * t3dg_2(0, 1, 0)
  383                     + t3dg_3(1, 0, 2) * t3dg_2(0, 2, 0)
  384                     + t3dg_3(1, 1, 0) * t3dg_2(1, 0, 0)
  385                     + t3dg_3(1, 1, 1) * t3dg_2(1, 1, 0)
  386                     + t3dg_3(1, 1, 2) * t3dg_2(1, 2, 0)
  387                     + t3dg_3(1, 2, 0) * t3dg_2(2, 0, 0)
  388                     + t3dg_3(1, 2, 1) * t3dg_2(2, 1, 0)
  389                     + t3dg_3(1, 2, 2) * t3dg_2(2, 2, 0)),
  390                "T3dg(j,k,l)*T3dg(i,j,k)(1,0)");
  392                  - (t3dg_3(1, 0, 0) * t3dg_2(0, 0, 1)
  393                     + t3dg_3(1, 0, 1) * t3dg_2(0, 1, 1)
  394                     + t3dg_3(1, 0, 2) * t3dg_2(0, 2, 1)
  395                     + t3dg_3(1, 1, 0) * t3dg_2(1, 0, 1)
  396                     + t3dg_3(1, 1, 1) * t3dg_2(1, 1, 1)
  397                     + t3dg_3(1, 1, 2) * t3dg_2(1, 2, 1)
  398                     + t3dg_3(1, 2, 0) * t3dg_2(2, 0, 1)
  399                     + t3dg_3(1, 2, 1) * t3dg_2(2, 1, 1)
  400                     + t3dg_3(1, 2, 2) * t3dg_2(2, 2, 1)),
  401                "T3dg(j,k,l)*T3dg(i,j,k)(1,1)");
  403                  - (t3dg_3(1, 0, 0) * t3dg_2(0, 0, 2)
  404                     + t3dg_3(1, 0, 1) * t3dg_2(0, 1, 2)
  405                     + t3dg_3(1, 0, 2) * t3dg_2(0, 2, 2)
  406                     + t3dg_3(1, 1, 0) * t3dg_2(1, 0, 2)
  407                     + t3dg_3(1, 1, 1) * t3dg_2(1, 1, 2)
  408                     + t3dg_3(1, 1, 2) * t3dg_2(1, 2, 2)
  409                     + t3dg_3(1, 2, 0) * t3dg_2(2, 0, 2)
  410                     + t3dg_3(1, 2, 1) * t3dg_2(2, 1, 2)
  411                     + t3dg_3(1, 2, 2) * t3dg_2(2, 2, 2)),
  412                "T3dg(j,k,l)*T3dg(i,j,k)(1,2)");
  414                  - (t3dg_3(2, 0, 0) * t3dg_2(0, 0, 0)
  415                     + t3dg_3(2, 0, 1) * t3dg_2(0, 1, 0)
  416                     + t3dg_3(2, 0, 2) * t3dg_2(0, 2, 0)
  417                     + t3dg_3(2, 1, 0) * t3dg_2(1, 0, 0)
  418                     + t3dg_3(2, 1, 1) * t3dg_2(1, 1, 0)
  419                     + t3dg_3(2, 1, 2) * t3dg_2(1, 2, 0)
  420                     + t3dg_3(2, 2, 0) * t3dg_2(2, 0, 0)
  421                     + t3dg_3(2, 2, 1) * t3dg_2(2, 1, 0)
  422                     + t3dg_3(2, 2, 2) * t3dg_2(2, 2, 0)),
  423                "T3dg(j,k,l)*T3dg(i,j,k)(2,0)");
  425                  - (t3dg_3(2, 0, 0) * t3dg_2(0, 0, 1)
  426                     + t3dg_3(2, 0, 1) * t3dg_2(0, 1, 1)
  427                     + t3dg_3(2, 0, 2) * t3dg_2(0, 2, 1)
  428                     + t3dg_3(2, 1, 0) * t3dg_2(1, 0, 1)
  429                     + t3dg_3(2, 1, 1) * t3dg_2(1, 1, 1)
  430                     + t3dg_3(2, 1, 2) * t3dg_2(1, 2, 1)
  431                     + t3dg_3(2, 2, 0) * t3dg_2(2, 0, 1)
  432                     + t3dg_3(2, 2, 1) * t3dg_2(2, 1, 1)
  433                     + t3dg_3(2, 2, 2) * t3dg_2(2, 2, 1)),
  434                "T3dg(j,k,l)*T3dg(i,j,k)(2,1)");
  436                  - (t3dg_3(2, 0, 0) * t3dg_2(0, 0, 2)
  437                     + t3dg_3(2, 0, 1) * t3dg_2(0, 1, 2)
  438                     + t3dg_3(2, 0, 2) * t3dg_2(0, 2, 2)
  439                     + t3dg_3(2, 1, 0) * t3dg_2(1, 0, 2)
  440                     + t3dg_3(2, 1, 1) * t3dg_2(1, 1, 2)
  441                     + t3dg_3(2, 1, 2) * t3dg_2(1, 2, 2)
  442                     + t3dg_3(2, 2, 0) * t3dg_2(2, 0, 2)
  443                     + t3dg_3(2, 2, 1) * t3dg_2(2, 1, 2)
  444                     + t3dg_3(2, 2, 2) * t3dg_2(2, 2, 2)),
  445                "T3dg(j,k,l)*T3dg(i,j,k)(2,2)");
  446 
  447  t2_1(
i, 
l) = t3dg_2(
i, 
j, 
k) * t3dg_3(
k, 
l, 
j);
 
  449                  - (t3dg_2(0, 0, 0) * t3dg_3(0, 0, 0)
  450                     + t3dg_2(0, 0, 1) * t3dg_3(1, 0, 0)
  451                     + t3dg_2(0, 0, 2) * t3dg_3(2, 0, 0)
  452                     + t3dg_2(0, 1, 0) * t3dg_3(0, 0, 1)
  453                     + t3dg_2(0, 1, 1) * t3dg_3(1, 0, 1)
  454                     + t3dg_2(0, 1, 2) * t3dg_3(2, 0, 1)
  455                     + t3dg_2(0, 2, 0) * t3dg_3(0, 0, 2)
  456                     + t3dg_2(0, 2, 1) * t3dg_3(1, 0, 2)
  457                     + t3dg_2(0, 2, 2) * t3dg_3(2, 0, 2)),
  458                "T3dg(i,j,k)*T3dg(k,l,j)(0,0)");
  460                  - (t3dg_2(0, 0, 0) * t3dg_3(0, 1, 0)
  461                     + t3dg_2(0, 0, 1) * t3dg_3(1, 1, 0)
  462                     + t3dg_2(0, 0, 2) * t3dg_3(2, 1, 0)
  463                     + t3dg_2(0, 1, 0) * t3dg_3(0, 1, 1)
  464                     + t3dg_2(0, 1, 1) * t3dg_3(1, 1, 1)
  465                     + t3dg_2(0, 1, 2) * t3dg_3(2, 1, 1)
  466                     + t3dg_2(0, 2, 0) * t3dg_3(0, 1, 2)
  467                     + t3dg_2(0, 2, 1) * t3dg_3(1, 1, 2)
  468                     + t3dg_2(0, 2, 2) * t3dg_3(2, 1, 2)),
  469                "T3dg(i,j,k)*T3dg(k,l,j)(0,1)");
  471                  - (t3dg_2(0, 0, 0) * t3dg_3(0, 2, 0)
  472                     + t3dg_2(0, 0, 1) * t3dg_3(1, 2, 0)
  473                     + t3dg_2(0, 0, 2) * t3dg_3(2, 2, 0)
  474                     + t3dg_2(0, 1, 0) * t3dg_3(0, 2, 1)
  475                     + t3dg_2(0, 1, 1) * t3dg_3(1, 2, 1)
  476                     + t3dg_2(0, 1, 2) * t3dg_3(2, 2, 1)
  477                     + t3dg_2(0, 2, 0) * t3dg_3(0, 2, 2)
  478                     + t3dg_2(0, 2, 1) * t3dg_3(1, 2, 2)
  479                     + t3dg_2(0, 2, 2) * t3dg_3(2, 2, 2)),
  480                "T3dg(i,j,k)*T3dg(k,l,j)(0,2)");
  482                  - (t3dg_2(1, 0, 0) * t3dg_3(0, 0, 0)
  483                     + t3dg_2(1, 0, 1) * t3dg_3(1, 0, 0)
  484                     + t3dg_2(1, 0, 2) * t3dg_3(2, 0, 0)
  485                     + t3dg_2(1, 1, 0) * t3dg_3(0, 0, 1)
  486                     + t3dg_2(1, 1, 1) * t3dg_3(1, 0, 1)
  487                     + t3dg_2(1, 1, 2) * t3dg_3(2, 0, 1)
  488                     + t3dg_2(1, 2, 0) * t3dg_3(0, 0, 2)
  489                     + t3dg_2(1, 2, 1) * t3dg_3(1, 0, 2)
  490                     + t3dg_2(1, 2, 2) * t3dg_3(2, 0, 2)),
  491                "T3dg(i,j,k)*T3dg(k,l,j)(1,0)");
  493                  - (t3dg_2(1, 0, 0) * t3dg_3(0, 1, 0)
  494                     + t3dg_2(1, 0, 1) * t3dg_3(1, 1, 0)
  495                     + t3dg_2(1, 0, 2) * t3dg_3(2, 1, 0)
  496                     + t3dg_2(1, 1, 0) * t3dg_3(0, 1, 1)
  497                     + t3dg_2(1, 1, 1) * t3dg_3(1, 1, 1)
  498                     + t3dg_2(1, 1, 2) * t3dg_3(2, 1, 1)
  499                     + t3dg_2(1, 2, 0) * t3dg_3(0, 1, 2)
  500                     + t3dg_2(1, 2, 1) * t3dg_3(1, 1, 2)
  501                     + t3dg_2(1, 2, 2) * t3dg_3(2, 1, 2)),
  502                "T3dg(i,j,k)*T3dg(k,l,j)(1,1)");
  504                  - (t3dg_2(1, 0, 0) * t3dg_3(0, 2, 0)
  505                     + t3dg_2(1, 0, 1) * t3dg_3(1, 2, 0)
  506                     + t3dg_2(1, 0, 2) * t3dg_3(2, 2, 0)
  507                     + t3dg_2(1, 1, 0) * t3dg_3(0, 2, 1)
  508                     + t3dg_2(1, 1, 1) * t3dg_3(1, 2, 1)
  509                     + t3dg_2(1, 1, 2) * t3dg_3(2, 2, 1)
  510                     + t3dg_2(1, 2, 0) * t3dg_3(0, 2, 2)
  511                     + t3dg_2(1, 2, 1) * t3dg_3(1, 2, 2)
  512                     + t3dg_2(1, 2, 2) * t3dg_3(2, 2, 2)),
  513                "T3dg(i,j,k)*T3dg(k,l,j)(1,2)");
  515                  - (t3dg_2(2, 0, 0) * t3dg_3(0, 0, 0)
  516                     + t3dg_2(2, 0, 1) * t3dg_3(1, 0, 0)
  517                     + t3dg_2(2, 0, 2) * t3dg_3(2, 0, 0)
  518                     + t3dg_2(2, 1, 0) * t3dg_3(0, 0, 1)
  519                     + t3dg_2(2, 1, 1) * t3dg_3(1, 0, 1)
  520                     + t3dg_2(2, 1, 2) * t3dg_3(2, 0, 1)
  521                     + t3dg_2(2, 2, 0) * t3dg_3(0, 0, 2)
  522                     + t3dg_2(2, 2, 1) * t3dg_3(1, 0, 2)
  523                     + t3dg_2(2, 2, 2) * t3dg_3(2, 0, 2)),
  524                "T3dg(i,j,k)*T3dg(k,l,j)(2,0)");
  526                  - (t3dg_2(2, 0, 0) * t3dg_3(0, 1, 0)
  527                     + t3dg_2(2, 0, 1) * t3dg_3(1, 1, 0)
  528                     + t3dg_2(2, 0, 2) * t3dg_3(2, 1, 0)
  529                     + t3dg_2(2, 1, 0) * t3dg_3(0, 1, 1)
  530                     + t3dg_2(2, 1, 1) * t3dg_3(1, 1, 1)
  531                     + t3dg_2(2, 1, 2) * t3dg_3(2, 1, 1)
  532                     + t3dg_2(2, 2, 0) * t3dg_3(0, 1, 2)
  533                     + t3dg_2(2, 2, 1) * t3dg_3(1, 1, 2)
  534                     + t3dg_2(2, 2, 2) * t3dg_3(2, 1, 2)),
  535                "T3dg(i,j,k)*T3dg(k,l,j)(2,1)");
  537                  - (t3dg_2(2, 0, 0) * t3dg_3(0, 2, 0)
  538                     + t3dg_2(2, 0, 1) * t3dg_3(1, 2, 0)
  539                     + t3dg_2(2, 0, 2) * t3dg_3(2, 2, 0)
  540                     + t3dg_2(2, 1, 0) * t3dg_3(0, 2, 1)
  541                     + t3dg_2(2, 1, 1) * t3dg_3(1, 2, 1)
  542                     + t3dg_2(2, 1, 2) * t3dg_3(2, 2, 1)
  543                     + t3dg_2(2, 2, 0) * t3dg_3(0, 2, 2)
  544                     + t3dg_2(2, 2, 1) * t3dg_3(1, 2, 2)
  545                     + t3dg_2(2, 2, 2) * t3dg_3(2, 2, 2)),
  546                "T3dg(i,j,k)*T3dg(k,l,j)(2,2)");
  547 
  548  t2_1(
i, 
l) = t3dg_2(
k, 
l, 
j) * t3dg_3(
i, 
j, 
k);
 
  550                  - (t3dg_3(0, 0, 0) * t3dg_2(0, 0, 0)
  551                     + t3dg_3(0, 0, 1) * t3dg_2(1, 0, 0)
  552                     + t3dg_3(0, 0, 2) * t3dg_2(2, 0, 0)
  553                     + t3dg_3(0, 1, 0) * t3dg_2(0, 0, 1)
  554                     + t3dg_3(0, 1, 1) * t3dg_2(1, 0, 1)
  555                     + t3dg_3(0, 1, 2) * t3dg_2(2, 0, 1)
  556                     + t3dg_3(0, 2, 0) * t3dg_2(0, 0, 2)
  557                     + t3dg_3(0, 2, 1) * t3dg_2(1, 0, 2)
  558                     + t3dg_3(0, 2, 2) * t3dg_2(2, 0, 2)),
  559                "T3dg(k,l,j)*T3dg(i,j,k)(0,0)");
  561                  - (t3dg_3(0, 0, 0) * t3dg_2(0, 1, 0)
  562                     + t3dg_3(0, 0, 1) * t3dg_2(1, 1, 0)
  563                     + t3dg_3(0, 0, 2) * t3dg_2(2, 1, 0)
  564                     + t3dg_3(0, 1, 0) * t3dg_2(0, 1, 1)
  565                     + t3dg_3(0, 1, 1) * t3dg_2(1, 1, 1)
  566                     + t3dg_3(0, 1, 2) * t3dg_2(2, 1, 1)
  567                     + t3dg_3(0, 2, 0) * t3dg_2(0, 1, 2)
  568                     + t3dg_3(0, 2, 1) * t3dg_2(1, 1, 2)
  569                     + t3dg_3(0, 2, 2) * t3dg_2(2, 1, 2)),
  570                "T3dg(k,l,j)*T3dg(i,j,k)(0,1)");
  572                  - (t3dg_3(0, 0, 0) * t3dg_2(0, 2, 0)
  573                     + t3dg_3(0, 0, 1) * t3dg_2(1, 2, 0)
  574                     + t3dg_3(0, 0, 2) * t3dg_2(2, 2, 0)
  575                     + t3dg_3(0, 1, 0) * t3dg_2(0, 2, 1)
  576                     + t3dg_3(0, 1, 1) * t3dg_2(1, 2, 1)
  577                     + t3dg_3(0, 1, 2) * t3dg_2(2, 2, 1)
  578                     + t3dg_3(0, 2, 0) * t3dg_2(0, 2, 2)
  579                     + t3dg_3(0, 2, 1) * t3dg_2(1, 2, 2)
  580                     + t3dg_3(0, 2, 2) * t3dg_2(2, 2, 2)),
  581                "T3dg(k,l,j)*T3dg(i,j,k)(0,2)");
  583                  - (t3dg_3(1, 0, 0) * t3dg_2(0, 0, 0)
  584                     + t3dg_3(1, 0, 1) * t3dg_2(1, 0, 0)
  585                     + t3dg_3(1, 0, 2) * t3dg_2(2, 0, 0)
  586                     + t3dg_3(1, 1, 0) * t3dg_2(0, 0, 1)
  587                     + t3dg_3(1, 1, 1) * t3dg_2(1, 0, 1)
  588                     + t3dg_3(1, 1, 2) * t3dg_2(2, 0, 1)
  589                     + t3dg_3(1, 2, 0) * t3dg_2(0, 0, 2)
  590                     + t3dg_3(1, 2, 1) * t3dg_2(1, 0, 2)
  591                     + t3dg_3(1, 2, 2) * t3dg_2(2, 0, 2)),
  592                "T3dg(k,l,j)*T3dg(i,j,k)(1,0)");
  594                  - (t3dg_3(1, 0, 0) * t3dg_2(0, 1, 0)
  595                     + t3dg_3(1, 0, 1) * t3dg_2(1, 1, 0)
  596                     + t3dg_3(1, 0, 2) * t3dg_2(2, 1, 0)
  597                     + t3dg_3(1, 1, 0) * t3dg_2(0, 1, 1)
  598                     + t3dg_3(1, 1, 1) * t3dg_2(1, 1, 1)
  599                     + t3dg_3(1, 1, 2) * t3dg_2(2, 1, 1)
  600                     + t3dg_3(1, 2, 0) * t3dg_2(0, 1, 2)
  601                     + t3dg_3(1, 2, 1) * t3dg_2(1, 1, 2)
  602                     + t3dg_3(1, 2, 2) * t3dg_2(2, 1, 2)),
  603                "T3dg(k,l,j)*T3dg(i,j,k)(1,1)");
  605                  - (t3dg_3(1, 0, 0) * t3dg_2(0, 2, 0)
  606                     + t3dg_3(1, 0, 1) * t3dg_2(1, 2, 0)
  607                     + t3dg_3(1, 0, 2) * t3dg_2(2, 2, 0)
  608                     + t3dg_3(1, 1, 0) * t3dg_2(0, 2, 1)
  609                     + t3dg_3(1, 1, 1) * t3dg_2(1, 2, 1)
  610                     + t3dg_3(1, 1, 2) * t3dg_2(2, 2, 1)
  611                     + t3dg_3(1, 2, 0) * t3dg_2(0, 2, 2)
  612                     + t3dg_3(1, 2, 1) * t3dg_2(1, 2, 2)
  613                     + t3dg_3(1, 2, 2) * t3dg_2(2, 2, 2)),
  614                "T3dg(k,l,j)*T3dg(i,j,k)(1,2)");
  616                  - (t3dg_3(2, 0, 0) * t3dg_2(0, 0, 0)
  617                     + t3dg_3(2, 0, 1) * t3dg_2(1, 0, 0)
  618                     + t3dg_3(2, 0, 2) * t3dg_2(2, 0, 0)
  619                     + t3dg_3(2, 1, 0) * t3dg_2(0, 0, 1)
  620                     + t3dg_3(2, 1, 1) * t3dg_2(1, 0, 1)
  621                     + t3dg_3(2, 1, 2) * t3dg_2(2, 0, 1)
  622                     + t3dg_3(2, 2, 0) * t3dg_2(0, 0, 2)
  623                     + t3dg_3(2, 2, 1) * t3dg_2(1, 0, 2)
  624                     + t3dg_3(2, 2, 2) * t3dg_2(2, 0, 2)),
  625                "T3dg(k,l,j)*T3dg(i,j,k)(2,0)");
  627                  - (t3dg_3(2, 0, 0) * t3dg_2(0, 1, 0)
  628                     + t3dg_3(2, 0, 1) * t3dg_2(1, 1, 0)
  629                     + t3dg_3(2, 0, 2) * t3dg_2(2, 1, 0)
  630                     + t3dg_3(2, 1, 0) * t3dg_2(0, 1, 1)
  631                     + t3dg_3(2, 1, 1) * t3dg_2(1, 1, 1)
  632                     + t3dg_3(2, 1, 2) * t3dg_2(2, 1, 1)
  633                     + t3dg_3(2, 2, 0) * t3dg_2(0, 1, 2)
  634                     + t3dg_3(2, 2, 1) * t3dg_2(1, 1, 2)
  635                     + t3dg_3(2, 2, 2) * t3dg_2(2, 1, 2)),
  636                "T3dg(k,l,j)*T3dg(i,j,k)(2,1)");
  638                  - (t3dg_3(2, 0, 0) * t3dg_2(0, 2, 0)
  639                     + t3dg_3(2, 0, 1) * t3dg_2(1, 2, 0)
  640                     + t3dg_3(2, 0, 2) * t3dg_2(2, 2, 0)
  641                     + t3dg_3(2, 1, 0) * t3dg_2(0, 2, 1)
  642                     + t3dg_3(2, 1, 1) * t3dg_2(1, 2, 1)
  643                     + t3dg_3(2, 1, 2) * t3dg_2(2, 2, 1)
  644                     + t3dg_3(2, 2, 0) * t3dg_2(0, 2, 2)
  645                     + t3dg_3(2, 2, 1) * t3dg_2(1, 2, 2)
  646                     + t3dg_3(2, 2, 2) * t3dg_2(2, 2, 2)),
  647                "T3dg(k,l,j)*T3dg(i,j,k)(2,2)");
  648}
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'l', 3 > l
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
void test_for_zero(const T &t, const std::string &s)