6
/* This function computes the H-bar doubles-doubles block contribution
7
from -0.5*P(ab)*Wnmfe*Cmnea*tijfb and +0.5*Wnmfe*Cimfe*tjnab to a
8
Sigma vector stored at Sigma plus 'i' */
10
void WmnefDD(int i, int C_irr) {
11
dpdbuf4 C2, T2, S2, D;
13
dpdbuf4 SIJAB, Sijab, SIjAb, B;
14
dpdbuf4 CMNEF, Cmnef, CMnEf, F, tau, Z;
15
char CMNEF_lbl[32], Cmnef_lbl[32], CMnEf_lbl[32];
16
char SIJAB_lbl[32], Sijab_lbl[32], SIjAb_lbl[32];
17
int l,I,a,f,h,nC_irrs,*occpi,*virtpi,*openpi;
19
nC_irrs = moinfo.nirreps;
20
occpi = moinfo.occpi; virtpi = moinfo.virtpi; openpi = moinfo.openpi;
22
if (params.eom_ref == 0) { /* RHF */
23
sprintf(CMnEf_lbl, "%s %d", "CMnEf", i);
24
sprintf(SIjAb_lbl, "%s %d", "SIjAb", i);
25
/* XAF = CMNAE * WMNFE + CMnAe * WMnFe */
26
dpd_file2_init(&X, EOM_TMP, C_irr, 1, 1, "XFA");
27
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "2CMnEf - CMnfE");
28
dpd_buf4_init(&D, CC_DINTS, H_IRR, 0, 5, 0, 5, 0, "D <ij|ab>");
29
dpd_contract442(&D, &CMnEf, &X, 2, 2, 1.0, 0.0);
31
dpd_buf4_close(&CMnEf);
33
/* SIjAb += -XFA * TIjFb - TIjAf * Xfb */
34
dpd_buf4_init(&Z, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "WmnefDD Z(Ij,Ab)");
35
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 0, 5, 0, 5, 0, "tIjAb");
36
dpd_contract424(&T2, &X, &Z, 3, 0, 0, 1.0, 0.0);
39
dpd_buf4_sort(&Z, EOM_TMP, qpsr, 0, 5, "WmnefDD Z(jI,bA)");
40
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 0, 5, 0, 5, 0, SIjAb_lbl);
41
dpd_buf4_axpy(&Z, &SIjAb, -1.0);
43
dpd_buf4_init(&Z, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "WmnefDD Z(jI,bA)");
44
dpd_buf4_axpy(&Z, &SIjAb, -1.0);
46
dpd_buf4_close(&SIjAb);
49
check_sum("WmnefDD XAF",i,C_irr);
52
/* XLI = WLMEF * CIMEF + WLmEf * CImEf */
53
dpd_file2_init(&X, EOM_TMP, C_irr, 0, 0, "XLI");
54
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "2CMnEf - CMnfE");
55
dpd_buf4_init(&D, CC_DINTS, H_IRR, 0, 5, 0, 5, 0, "D <ij|ab>");
56
dpd_contract442(&D, &CMnEf, &X, 0, 0, 1.0, 0.0);
58
dpd_buf4_close(&CMnEf);
60
/* SIjAb += -XLI * TLjAb - Xli * TIlAb */
61
dpd_buf4_init(&Z, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "WmnefDD Z(Ij,Ab)");
63
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 0, 5, 0, 5, 0, "tIjAb");
64
dpd_contract244(&X, &T2, &Z, 0, 0, 0, 1.0, 0.0);
68
dpd_buf4_sort(&Z, EOM_TMP, qpsr, 0, 5, "WmnefDD Z(jI,bA)");
70
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 0, 5, 0, 5, 0, SIjAb_lbl);
71
dpd_buf4_axpy(&Z, &SIjAb, -1.0);
73
dpd_buf4_init(&Z, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "WmnefDD Z(jI,bA)");
74
dpd_buf4_axpy(&Z, &SIjAb, -1.0);
76
dpd_buf4_close(&SIjAb);
79
else if (params.eom_ref == 1) { /* ROHF */
80
sprintf(CMNEF_lbl, "%s %d", "CMNEF", i);
81
sprintf(Cmnef_lbl, "%s %d", "Cmnef", i);
82
sprintf(CMnEf_lbl, "%s %d", "CMnEf", i);
83
sprintf(SIJAB_lbl, "%s %d", "SIJAB", i);
84
sprintf(Sijab_lbl, "%s %d", "Sijab", i);
85
sprintf(SIjAb_lbl, "%s %d", "SIjAb", i);
87
/* XAF = CMNAE * WMNFE + CMnAe * WMnFe */
88
/* SIJAB -= P(ab) XAF * TIJFB */
89
dpd_file2_init(&X, EOM_TMP, C_irr, 1, 1, "XFA");
90
dpd_file2_scm(&X, 0.0);
91
dpd_buf4_init(&D, CC_DINTS, H_IRR, 2, 5, 2, 5, 0, "D <ij||ab> (i>j,ab)");
92
dpd_buf4_init(&CMNEF, EOM_CMNEF, C_irr, 2, 5, 2, 7, 0, CMNEF_lbl);
93
dpd_contract442(&D, &CMNEF, &X, 2, 2, 1.0, 1.0);
94
dpd_buf4_close(&CMNEF);
96
dpd_buf4_init(&D, CC_DINTS, H_IRR, 0, 5, 0, 5, 0, "D <ij|ab>");
97
dpd_buf4_init(&CMnEf, EOM_CMnEf, C_irr, 0, 5, 0, 5, 0, CMnEf_lbl);
98
dpd_contract442(&D, &CMnEf, &X, 2, 2, 1.0, 1.0);
99
dpd_buf4_close(&CMnEf);
102
dpd_buf4_init(&S2, EOM_TMP, C_irr, 2, 5, 2, 5, 0, "SIJAB");
103
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 2, 5, 2, 7, 0, "tIJAB");
104
dpd_contract244(&X, &T2, &S2, 0, 2, 1, 1.0, 0.0);
107
dpd_buf4_sort(&S2, EOM_TMP, pqsr, 2, 5, "SIJBA");
108
dpd_buf4_init(&SIJAB, EOM_SIJAB, C_irr, 2, 5, 2, 7, 0, SIJAB_lbl);
109
dpd_buf4_axpy(&S2, &SIJAB, -1.0);
111
dpd_buf4_init(&S2, EOM_TMP, C_irr, 2, 5, 2, 5, 0, "SIJBA");
112
dpd_buf4_axpy(&S2, &SIJAB, 1.0);
114
dpd_buf4_close(&SIJAB);
116
/* Xaf = Cmnae * Wmnfe + CmNaE * WmNfE */
117
/* Sijab -= P(ab) Xfa * Tijfb */
118
dpd_file2_init(&X, EOM_TMP, C_irr, 1, 1, "Xfa");
119
dpd_file2_scm(&X, 0.0);
120
dpd_buf4_init(&D, CC_DINTS, H_IRR, 2, 5, 2, 5, 0, "D <ij||ab> (i>j,ab)");
121
dpd_buf4_init(&Cmnef, EOM_Cmnef, C_irr, 2, 5, 2, 7, 0, Cmnef_lbl);
122
dpd_contract442(&D, &Cmnef, &X, 2, 2, 1.0, 1.0);
123
dpd_buf4_close(&Cmnef);
126
dpd_buf4_init(&D, CC_DINTS, H_IRR, 0, 5, 0, 5, 0, "D <ij|ab>");
127
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "CmNeF");
128
dpd_contract442(&D, &CMnEf, &X, 2, 2, 1.0, 1.0);
129
dpd_buf4_close(&CMnEf);
132
dpd_buf4_init(&S2, EOM_TMP, C_irr, 2, 5, 2, 5, 0, "Sijab");
133
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 2, 5, 2, 7, 0, "tijab");
134
dpd_contract244(&X, &T2, &S2, 0, 2, 1, 1.0, 0.0);
137
dpd_buf4_sort(&S2, EOM_TMP, pqsr, 2, 5, "Sijba");
138
dpd_buf4_init(&Sijab, EOM_Sijab, C_irr, 2, 5, 2, 7, 0, Sijab_lbl);
139
dpd_buf4_axpy(&S2, &Sijab, -1.0);
141
dpd_buf4_init(&S2, EOM_TMP, C_irr, 2, 5, 2, 5, 0, "Sijba");
142
dpd_buf4_axpy(&S2, &Sijab, 1.0);
144
dpd_buf4_close(&Sijab);
146
/* SIjAb += -XFA * TIjFb - TIjAf * Xfb */
147
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 0, 5, 0, 5, 0, SIjAb_lbl);
148
dpd_file2_init(&X, EOM_TMP, C_irr, 1, 1, "XFA");
149
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 0, 5, 0, 5, 0, "tIjAb");
150
dpd_contract244(&X, &T2, &SIjAb, 0, 2, 1, -1.0, 1.0);
153
dpd_file2_init(&X, EOM_TMP, C_irr, 1, 1, "Xfa");
154
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 0, 5, 0, 5, 0, "tIjAb");
155
dpd_contract424(&T2, &X, &SIjAb, 3, 0, 0, -1.0, 1.0);
158
dpd_buf4_close(&SIjAb);
161
check_sum("WmnefDD XAF",i,C_irr);
164
/* XLI = WLMEF * CIMEF + WLmEf * CImEf */
165
/* SIJAB += P(IJ) XLI * TLJAB */
166
dpd_file2_init(&X, EOM_TMP, C_irr, 0, 0, "XLI");
167
dpd_file2_scm(&X, 0.0);
168
dpd_buf4_init(&CMNEF, EOM_CMNEF, C_irr, 0, 7, 2, 7, 0, CMNEF_lbl);
169
dpd_buf4_init(&D, CC_DINTS, H_IRR, 0, 7, 0, 7, 0, "D <ij||ab> (ij,a>b)");
170
dpd_contract442(&D, &CMNEF, &X, 0, 0, 1.0, 1.0);
172
dpd_buf4_close(&CMNEF);
173
dpd_buf4_init(&CMnEf, EOM_CMnEf, C_irr, 0, 5, 0, 5, 0, CMnEf_lbl);
174
dpd_buf4_init(&D, CC_DINTS, H_IRR, 0, 5, 0, 5, 0, "D <ij|ab>");
175
dpd_contract442(&D, &CMnEf, &X, 0, 0, 1.0, 1.0);
177
dpd_buf4_close(&CMnEf);
180
dpd_file2_mat_init(&X);
181
dpd_file2_mat_rd(&X);
182
for(h=0; h < nC_irrs; h++) {
183
for(l=0; l<occpi[h]; l++)
184
for(I=(occpi[h]-openpi[h]); I<occpi[h]; I++)
185
X.matrix[h][l][I] = 0.0;
186
for(I=0; I<occpi[h]; I++)
187
for(l=(occpi[h]-openpi[h]); l<occpi[h]; l++)
188
X.matrix[h][l][I] = 0.0;
190
dpd_file2_mat_wrt(&X);
191
dpd_file2_mat_close(&X);
194
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 7, 0, 7, 0, "SIJAB");
195
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 0, 7, 2, 7, 0, "tIJAB");
196
dpd_contract244(&X, &T2, &S2, 0, 0, 0, 1.0, 0.0);
199
dpd_buf4_sort(&S2, EOM_TMP, qprs, 0, 7, "SJIAB");
200
dpd_buf4_init(&SIJAB, EOM_SIJAB, C_irr, 0, 7, 2, 7, 0, SIJAB_lbl);
201
dpd_buf4_axpy(&S2, &SIJAB, -1.0);
203
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 7, 0, 7, 0, "SJIAB");
204
dpd_buf4_axpy(&S2, &SIJAB, 1.0);
206
dpd_buf4_close(&SIJAB);
209
/* Xli = Wlmef * Cimef + WlMeF * CiMeF */
210
/* Sijab += P(ij) Xli * Tljab */
211
dpd_file2_init(&X, EOM_TMP, C_irr, 0, 0, "Xli");
212
dpd_file2_scm(&X, 0.0);
213
dpd_buf4_init(&Cmnef, EOM_Cmnef, C_irr, 0, 7, 2, 7, 0, Cmnef_lbl);
214
dpd_buf4_init(&D, CC_DINTS, H_IRR, 0, 7, 0, 7, 0, "D <ij||ab> (ij,a>b)");
215
dpd_contract442(&D, &Cmnef, &X, 0, 0, 1.0, 1.0);
217
dpd_buf4_close(&Cmnef);
218
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "CmNeF");
219
dpd_buf4_init(&D, CC_DINTS, H_IRR, 0, 5, 0, 5, 0, "D <ij|ab>");
220
dpd_contract442(&D, &CMnEf, &X, 0, 0, 1.0, 1.0);
222
dpd_buf4_close(&CMnEf);
223
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 7, 0, 7, 0, "Sijab");
224
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 0, 7, 2, 7, 0, "tijab");
225
dpd_contract244(&X, &T2, &S2, 0, 0, 0, 1.0, 0.0);
228
dpd_buf4_sort(&S2, EOM_TMP, qprs, 0, 7, "Sjiab");
229
dpd_buf4_init(&Sijab, EOM_Sijab, C_irr, 0, 7, 2, 7, 0, Sijab_lbl);
230
dpd_buf4_axpy(&S2, &Sijab, -1.0);
232
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 7, 0, 7, 0, "Sjiab");
233
dpd_buf4_axpy(&S2, &Sijab, 1.0);
235
dpd_buf4_close(&Sijab);
237
/* SIjAb += -XLI * TLjAb - Xli * TIlAb */
238
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 0, 5, 0, 5, 0, SIjAb_lbl);
239
dpd_file2_init(&X, EOM_TMP, C_irr, 0, 0, "XLI");
240
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 0, 5, 0, 5, 0, "tIjAb");
241
dpd_contract244(&X, &T2, &SIjAb, 0, 0, 0, -1.0, 1.0);
243
dpd_file2_init(&X, EOM_TMP, C_irr, 0, 0, "Xli");
244
dpd_contract424(&T2, &X, &SIjAb, 1, 0, 1, -1.0, 1.0);
247
dpd_buf4_close(&SIjAb);
250
else if (params.eom_ref == 2) {
251
sprintf(CMNEF_lbl, "%s %d", "CMNEF", i);
252
sprintf(Cmnef_lbl, "%s %d", "Cmnef", i);
253
sprintf(CMnEf_lbl, "%s %d", "CMnEf", i);
254
sprintf(SIJAB_lbl, "%s %d", "SIJAB", i);
255
sprintf(Sijab_lbl, "%s %d", "Sijab", i);
256
sprintf(SIjAb_lbl, "%s %d", "SIjAb", i);
258
/* XAF = CMNAE * WMNFE + CMnAe * WMnFe */
259
/* SIJAB -= P(ab) XAF * TIJFB */
260
dpd_file2_init(&X, EOM_TMP, C_irr, 1, 1, "XFA");
261
dpd_file2_scm(&X, 0.0);
262
dpd_buf4_init(&D, CC_DINTS, H_IRR, 2, 5, 2, 5, 0, "D <IJ||AB> (I>J,AB)");
263
dpd_buf4_init(&CMNEF, EOM_CMNEF, C_irr, 2, 5, 2, 7, 0, CMNEF_lbl);
264
dpd_contract442(&D, &CMNEF, &X, 2, 2, 1.0, 1.0);
265
dpd_buf4_close(&CMNEF);
267
dpd_buf4_init(&D, CC_DINTS, H_IRR, 22, 28, 22, 28, 0, "D <Ij|Ab>");
268
dpd_buf4_init(&CMnEf, EOM_CMnEf, C_irr, 22, 28, 22, 28, 0, CMnEf_lbl);
269
dpd_contract442(&D, &CMnEf, &X, 2, 2, 1.0, 1.0);
270
dpd_buf4_close(&CMnEf);
273
dpd_buf4_init(&S2, EOM_TMP, C_irr, 2, 5, 2, 5, 0, "SIJAB");
274
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 2, 5, 2, 7, 0, "tIJAB");
275
dpd_contract244(&X, &T2, &S2, 0, 2, 1, 1.0, 0.0);
278
dpd_buf4_sort(&S2, EOM_TMP, pqsr, 2, 5, "SIJBA");
279
dpd_buf4_init(&SIJAB, EOM_SIJAB, C_irr, 2, 5, 2, 7, 0, SIJAB_lbl);
280
dpd_buf4_axpy(&S2, &SIJAB, -1.0);
282
dpd_buf4_init(&S2, EOM_TMP, C_irr, 2, 5, 2, 5, 0, "SIJBA");
283
dpd_buf4_axpy(&S2, &SIJAB, 1.0);
285
dpd_buf4_close(&SIJAB);
287
/* Xaf = Cmnae * Wmnfe + CmNaE * WmNfE */
288
/* Sijab -= P(ab) Xfa * Tijfb */
289
dpd_file2_init(&X, EOM_TMP, C_irr, 3, 3, "Xfa");
290
dpd_file2_scm(&X, 0.0);
291
dpd_buf4_init(&D, CC_DINTS, H_IRR, 12, 15, 12, 15, 0, "D <ij||ab> (i>j,ab)");
292
dpd_buf4_init(&Cmnef, EOM_Cmnef, C_irr, 12, 15, 12, 17, 0, Cmnef_lbl);
293
dpd_contract442(&D, &Cmnef, &X, 2, 2, 1.0, 1.0);
294
dpd_buf4_close(&Cmnef);
297
dpd_buf4_init(&D, CC_DINTS, H_IRR, 23, 29, 23, 29, 0, "D <iJ|aB>");
298
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 23, 29, 23, 29, 0, "CmNeF");
299
dpd_contract442(&D, &CMnEf, &X, 2, 2, 1.0, 1.0);
300
dpd_buf4_close(&CMnEf);
303
dpd_buf4_init(&S2, EOM_TMP, C_irr, 12, 15, 12, 15, 0, "Sijab");
304
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 12, 15, 12, 17, 0, "tijab");
305
dpd_contract244(&X, &T2, &S2, 0, 2, 1, 1.0, 0.0);
308
dpd_buf4_sort(&S2, EOM_TMP, pqsr, 12, 15, "Sijba");
309
dpd_buf4_init(&Sijab, EOM_Sijab, C_irr, 12, 15, 12, 17, 0, Sijab_lbl);
310
dpd_buf4_axpy(&S2, &Sijab, -1.0);
312
dpd_buf4_init(&S2, EOM_TMP, C_irr, 12, 15, 12, 15, 0, "Sijba");
313
dpd_buf4_axpy(&S2, &Sijab, 1.0);
315
dpd_buf4_close(&Sijab);
317
/* SIjAb += -XFA * TIjFb - TIjAf * Xfb */
318
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 22, 28, 22, 28, 0, SIjAb_lbl);
319
dpd_file2_init(&X, EOM_TMP, C_irr, 1, 1, "XFA");
320
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 22, 28, 22, 28, 0, "tIjAb");
321
dpd_contract244(&X, &T2, &SIjAb, 0, 2, 1, -1.0, 1.0);
324
dpd_file2_init(&X, EOM_TMP, C_irr, 3, 3, "Xfa");
325
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 22, 28, 22, 28, 0, "tIjAb");
326
dpd_contract424(&T2, &X, &SIjAb, 3, 0, 0, -1.0, 1.0);
329
dpd_buf4_close(&SIjAb);
332
check_sum("WmnefDD XAF",i,C_irr);
335
/* XLI = WLMEF * CIMEF + WLmEf * CImEf */
336
/* SIJAB += P(IJ) XLI * TLJAB */
337
dpd_file2_init(&X, EOM_TMP, C_irr, 0, 0, "XLI");
338
dpd_file2_scm(&X, 0.0);
339
dpd_buf4_init(&CMNEF, EOM_CMNEF, C_irr, 0, 7, 2, 7, 0, CMNEF_lbl);
340
dpd_buf4_init(&D, CC_DINTS, H_IRR, 0, 7, 0, 7, 0, "D <IJ||AB> (IJ,A>B)");
341
dpd_contract442(&D, &CMNEF, &X, 0, 0, 1.0, 1.0);
343
dpd_buf4_close(&CMNEF);
344
dpd_buf4_init(&CMnEf, EOM_CMnEf, C_irr, 22, 28, 22, 28, 0, CMnEf_lbl);
345
dpd_buf4_init(&D, CC_DINTS, H_IRR, 22, 28, 22, 28, 0, "D <Ij|Ab>");
346
dpd_contract442(&D, &CMnEf, &X, 0, 0, 1.0, 1.0);
348
dpd_buf4_close(&CMnEf);
350
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 7, 0, 7, 0, "SIJAB");
351
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 0, 7, 2, 7, 0, "tIJAB");
352
dpd_contract244(&X, &T2, &S2, 0, 0, 0, 1.0, 0.0);
355
dpd_buf4_sort(&S2, EOM_TMP, qprs, 0, 7, "SJIAB");
356
dpd_buf4_init(&SIJAB, EOM_SIJAB, C_irr, 0, 7, 2, 7, 0, SIJAB_lbl);
357
dpd_buf4_axpy(&S2, &SIJAB, -1.0);
359
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 7, 0, 7, 0, "SJIAB");
360
dpd_buf4_axpy(&S2, &SIJAB, 1.0);
362
dpd_buf4_close(&SIJAB);
365
/* Xli = Wlmef * Cimef + WlMeF * CiMeF */
366
/* Sijab += P(ij) Xli * Tljab */
367
dpd_file2_init(&X, EOM_TMP, C_irr, 2, 2, "Xli");
368
dpd_file2_scm(&X, 0.0);
369
dpd_buf4_init(&Cmnef, EOM_Cmnef, C_irr, 10, 17, 12, 17, 0, Cmnef_lbl);
370
dpd_buf4_init(&D, CC_DINTS, H_IRR, 10, 17, 10, 17, 0, "D <ij||ab> (ij,a>b)");
371
dpd_contract442(&D, &Cmnef, &X, 0, 0, 1.0, 1.0);
373
dpd_buf4_close(&Cmnef);
374
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 23, 29, 23, 29, 0, "CmNeF");
375
dpd_buf4_init(&D, CC_DINTS, H_IRR, 23, 29, 23, 29, 0, "D <iJ|aB>");
376
dpd_contract442(&D, &CMnEf, &X, 0, 0, 1.0, 1.0);
378
dpd_buf4_close(&CMnEf);
379
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 17, 10, 17, 0, "Sijab");
380
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 10, 17, 12, 17, 0, "tijab");
381
dpd_contract244(&X, &T2, &S2, 0, 0, 0, 1.0, 0.0);
384
dpd_buf4_sort(&S2, EOM_TMP, qprs, 10, 17, "Sjiab");
385
dpd_buf4_init(&Sijab, EOM_Sijab, C_irr, 10, 17, 12, 17, 0, Sijab_lbl);
386
dpd_buf4_axpy(&S2, &Sijab, -1.0);
388
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 17, 10, 17, 0, "Sjiab");
389
dpd_buf4_axpy(&S2, &Sijab, 1.0);
391
dpd_buf4_close(&Sijab);
393
/* SIjAb += -XLI * TLjAb - Xli * TIlAb */
394
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 22, 28, 22, 28, 0, SIjAb_lbl);
395
dpd_file2_init(&X, EOM_TMP, C_irr, 0, 0, "XLI");
396
dpd_buf4_init(&T2, CC_TAMPS, H_IRR, 22, 28, 22, 28, 0, "tIjAb");
397
dpd_contract244(&X, &T2, &SIjAb, 0, 0, 0, -1.0, 1.0);
399
dpd_file2_init(&X, EOM_TMP, C_irr, 2, 2, "Xli");
400
dpd_contract424(&T2, &X, &SIjAb, 1, 0, 1, -1.0, 1.0);
403
dpd_buf4_close(&SIjAb);
407
check_sum("WmnefDD XLI",i,C_irr);