7 {
8
12
13 {
14
16 t_dg(
i,
j,
k) = t3_1(
i,
j,
k) || t3_1(
j,
i,
k);
18 t_sym_3(
i,
j,
k) = t3_1(
i,
j,
k) + t3_1(
j,
i,
k);
19
20 for (int ii = 0; ii != 3; ++ii)
21 for (int jj = 0; jj != 3; ++jj)
22 for (int kk = 0; kk != 3; ++kk) {
24 "T3(i,j,k)||T3(j,i,k)(" + to_string(ii) + "," +
25 to_string(jj) + "," + to_string(kk) + ")");
26 }
27
28 }
29
30
31 {
37 for (int ii = 0; ii != 1; ++ii)
38 for (int jj = 0; jj != 3; ++jj) {
39 for (int kk = 0; kk != 2; ++kk) {
40 t_3_1(ii, jj, kk) = 1 + ii + 10. * jj + 100. * kk;
41 }
42 }
43 for (int jj = 0; jj != 3; ++jj)
44 for (int ll = 0; ll != 3; ++ll) {
45 t_2_1(jj, ll) = 1 + jj + 10. * ll;
46 }
51 t_2s_1(
j,
l) = t_2_1(
j,
l) || t_2_1(
l,
j);
52 t_2_2(
j,
l) = t_2_1(
j,
l) + t_2_1(
l,
j);
54 t_3_1(
i,
j,
k) * t_2s_1(
j,
l) - t_2s_1(
j,
l)*t_3_1(
i,
j,
k);
55 for (int ii = 0; ii != 1; ++ii)
56 for (int ll = 0; ll != 3; ++ll)
57 for (int kk = 0; kk != 2; ++kk) {
59 "T3(i,j,k)||T2s(j,l)(" + to_string(ii) + "," +
60 to_string(ll) + "," + to_string(kk) + ")");
61 }
63 t_3_1(
i,
j,
k) * t_2s_1(
j,
l) - t_2_2(
j,
l) * t_3_1(
i,
j,
k);
64 for (int ii = 0; ii != 1; ++ii)
65 for (int ll = 0; ll != 3; ++ll)
66 for (int kk = 0; kk != 2; ++kk) {
68 "T3(i,j,k)||T2s(j,l)(" + to_string(ii) + "," +
69 to_string(ll) + "," + to_string(kk) + ")");
70 }
71 }
72
73
74 {
80 for (int ii = 0; ii != 3; ++ii)
81 for (int jj = 0; jj != 3; ++jj) {
82 for (int kk = 0; kk != 3; ++kk) {
83 t_3_1(ii, jj, kk) = 1 + ii + 10. * jj + 100. * kk;
84 }
85 }
86 for (int jj = 0; jj != 3; ++jj)
87 for (int ll = 0; ll != 3; ++ll) {
88 t_2_1(jj, ll) = 1 + jj + 10. * ll;
89 }
94 t_2s_1(
i,
j) = t_2_1(
i,
j) || t_2_1(
j,
i);
95 t_2_2(
i,
j) = t_2_1(
i,
j) + t_2_1(
j,
i);
97 t_3_1(
i,
j,
k) * t_2s_1(
i,
l) - t_2s_1(
i,
l) * t_3_1(
i,
j,
k);
98 for (int ll = 0; ll != 3; ++ll)
99 for (int jj = 0; jj != 3; ++jj)
100 for (int kk = 0; kk != 3; ++kk) {
102 "T3(i,j,k)||T2s(i,l)(" + to_string(ll) + "," +
103 to_string(jj) + "," + to_string(kk) + ")");
104 }
106 t_3_1(
i,
j,
k) * t_2s_1(
i,
l) - t_3_1(
i,
j,
k) * t_2_2(
i,
l);
107
108 for (int ll = 0; ll != 3; ++ll)
109 for (int jj = 0; jj != 3; ++jj)
110 for (int kk = 0; kk != 3; ++kk) {
112 "T3(i,j,k)||T2s(i,l)(" + to_string(ll) + "," +
113 to_string(jj) + "," + to_string(kk) + ")");
114 }
115 }
116
117
118 {
121 for (int ii = 0; ii != 3; ++ii) {
122 t_1(ii) = 1 + ii;
123 for (int jj = 0; jj != 3; ++jj) {
124 t_2(ii, jj) = 1 + ii + 10. * jj;
125 }
126 }
132 t_3_1(
i,
j,
k) = t_2(
i,
j) * t_1(
k);
134 t_2_1(
k,
l) = t_3_1(
i,
j,
k) * t_3_1(
j,
i,
l);
136 t_2_2(
k,
l) = (t_2(
i,
j) * t_2(
j,
i)) * (t_1(
k) * t_1(
l));
137 for (int ii = 0; ii != 3; ++ii)
138 for (int jj = 0; jj != 3; ++jj) {
139 test_for_zero(t_2_1(ii, jj) - t_2_2(ii, jj),
"T3(i,j,k)*T3(j,i,l)(" +
140 to_string(ii) + "," +
141 to_string(jj) + ")");
142 }
143 }
144
145
146 {
149 for (int ii = 0; ii != 3; ++ii) {
150 t_1(ii) = 1 + ii;
151 for (int jj = 0; jj != 3; ++jj) {
152 t_2(ii, jj) = 1 + ii + 10. * jj;
153 }
154 }
160 t_3_1(
i,
j,
k) = t_1(
i) * t_2(
j,
k);
162 t_2_1(
i,
j) = t_3_1(
j,
k,
l) * t_3_1(
i,
l,
k);
164 t_2_2(
i,
j) = (t_2(
k,
l) * t_2(
l,
k)) * (t_1(
i) * t_1(
j));
165 for (int ii = 0; ii != 3; ++ii)
166 for (int jj = 0; jj != 3; ++jj) {
167 test_for_zero(t_2_1(ii, jj) - t_2_2(ii, jj),
"T3(j,k,l)*T3(i,l,k)(" +
168 to_string(ii) + "," +
169 to_string(jj) + ")");
170 }
171 }
172
173
174 {
177 for (int ii = 0; ii != 3; ++ii) {
178 t_1(ii) = 1 + ii;
179 for (int jj = 0; jj != 3; ++jj) {
180 t_2(ii, jj) = 1 + ii + 10. * jj;
181 }
182 }
188 t_3_1(
i,
j,
k) = t_1(
i) * t_2(
j,
k);
190 t_2_1(
k,
l) = t_3_1(
k,
i,
j) * t_3_1(
l,
i,
j);
192 t_2_2(
k,
l) = (t_2(
i,
j) * t_2(
i,
j)) * (t_1(
k) * t_1(
l));
193 for (int kk = 0; kk != 3; ++kk)
194 for (int ll = 0; ll != 3; ++ll) {
195 test_for_zero(t_2_1(kk, ll) - t_2_2(kk, ll),
"T3(k,i,j)*T3(l,i,j)(" +
196 to_string(kk) + "," +
197 to_string(ll) + ")");
198 }
199 }
200
201
202 {
205 for (int ii = 0; ii != 3; ++ii) {
206 t_1(ii) = 1 + ii;
207 for (int jj = 0; jj != 3; ++jj) {
208 t_2(ii, jj) = 1 + ii + 10. * jj;
209 }
210 }
216 t_3_1(
i,
j,
k) = t_2(
i,
j) * t_1(
k);
218 t_2_1(
k,
l) = t_3_1(
i,
j,
k) * t_3_1(
i,
j,
l);
220 t_2_2(
k,
l) = (t_2(
i,
j) * t_2(
i,
j)) * (t_1(
k) * t_1(
l));
221 for (int kk = 0; kk != 3; ++kk)
222 for (int ll = 0; ll != 3; ++ll) {
223 test_for_zero(t_2_1(kk, ll) - t_2_2(kk, ll),
"T3(i,j,k)*T3(i,j,l)(" +
224 to_string(kk) + "," +
225 to_string(ll) + ")");
226 }
227 }
228
229
230}
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)