v0.14.0
test_T3dg_36.cpp
Go to the documentation of this file.
1 #include "../../../src/FTensor.hpp"
2 #include "../test_for_zero.hpp"
3 #include <iostream>
4 using namespace FTensor;
5 using namespace std;
6 
8  const Tensor2_symmetric<double, 3> &t2s_2,
9  Dg<double, 3, 3> &t3dg_1, const Dg<double, 3, 3> &t3dg_2,
10  const Dg<double, 3, 3> &t3dg_3)
11 {
16 
17  Number<0> N0;
18  Number<1> N1;
19  Number<2> N2;
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);
246  test_for_zero(t2_1(0, 0)
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)");
257  test_for_zero(t2_1(0, 1)
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)");
268  test_for_zero(t2_1(0, 2)
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)");
279  test_for_zero(t2_1(1, 0)
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)");
290  test_for_zero(t2_1(1, 1)
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)");
301  test_for_zero(t2_1(1, 2)
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)");
312  test_for_zero(t2_1(2, 0)
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)");
323  test_for_zero(t2_1(2, 1)
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)");
334  test_for_zero(t2_1(2, 2)
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);
347  test_for_zero(t2_1(0, 0)
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)");
358  test_for_zero(t2_1(0, 1)
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)");
369  test_for_zero(t2_1(0, 2)
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)");
380  test_for_zero(t2_1(1, 0)
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)");
391  test_for_zero(t2_1(1, 1)
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)");
402  test_for_zero(t2_1(1, 2)
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)");
413  test_for_zero(t2_1(2, 0)
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)");
424  test_for_zero(t2_1(2, 1)
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)");
435  test_for_zero(t2_1(2, 2)
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);
448  test_for_zero(t2_1(0, 0)
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)");
459  test_for_zero(t2_1(0, 1)
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)");
470  test_for_zero(t2_1(0, 2)
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)");
481  test_for_zero(t2_1(1, 0)
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)");
492  test_for_zero(t2_1(1, 1)
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)");
503  test_for_zero(t2_1(1, 2)
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)");
514  test_for_zero(t2_1(2, 0)
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)");
525  test_for_zero(t2_1(2, 1)
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)");
536  test_for_zero(t2_1(2, 2)
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);
549  test_for_zero(t2_1(0, 0)
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)");
560  test_for_zero(t2_1(0, 1)
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)");
571  test_for_zero(t2_1(0, 2)
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)");
582  test_for_zero(t2_1(1, 0)
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)");
593  test_for_zero(t2_1(1, 1)
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)");
604  test_for_zero(t2_1(1, 2)
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)");
615  test_for_zero(t2_1(2, 0)
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)");
626  test_for_zero(t2_1(2, 1)
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)");
637  test_for_zero(t2_1(2, 2)
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
JSON compatible output.
Definition: Christof_constructor.hpp:6
FTensor::Tensor2_symmetric
Definition: Tensor2_symmetric_value.hpp:13
FTensor::Tensor2< double, 3, 3 >
FTensor::Number< 0 >
test_for_zero
void test_for_zero(const T &t, const std::string &s)
Definition: test_for_zero.hpp:7
i
FTensor::Index< 'i', SPACE_DIM > i
Definition: hcurl_divergence_operator_2d.cpp:27
FTensor::Index< 'i', 3 >
FTensor::Dg
Definition: Dg_value.hpp:9
std
Definition: enable_if.hpp:5
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19
test_T3dg_36
void test_T3dg_36(Tensor2< double, 3, 3 > &t2_1, const Tensor2_symmetric< double, 3 > &t2s_2, Dg< double, 3, 3 > &t3dg_1, const Dg< double, 3, 3 > &t3dg_2, const Dg< double, 3, 3 > &t3dg_3)
Definition: test_T3dg_36.cpp:7
k
FTensor::Index< 'k', 3 > k
Definition: matrix_function.cpp:20
l
FTensor::Index< 'l', 3 > l
Definition: matrix_function.cpp:21