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