6
/* This function computes the H-bar doubles-doubles block contribution
7
from P(ij)P(ab) Wmbej*Cimae to a Sigma vector stored at Sigma plus 'i' */
9
void WmbejDD(int i, int C_irr) {
10
dpdbuf4 S2, S2temp, D;
12
dpdbuf4 CMNEF, Cmnef, CMnEf, CmNeF, TIJAB, Tijab, TIjAb;
13
dpdbuf4 SIJAB, Sijab, SIjAb, W, W1, W2, Z;
14
char CMNEF_lbl[32], Cmnef_lbl[32], CMnEf_lbl[32];
15
char SIJAB_lbl[32], Sijab_lbl[32], SIjAb_lbl[32];
17
if(params.eom_ref == 0) { /** RHF **/
18
/* RHF code adapted from WmbejT2.c 6-2002 */
19
sprintf(SIjAb_lbl, "%s %d", "SIjAb", i);
21
/* C2(Ib,mE) * W(mE,jA) --> Z(Ib,jA) */
22
dpd_buf4_init(&SIjAb, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "Z (Ib,jA)");
23
dpd_buf4_init(&C2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CMfnE");
24
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "WMbeJ");
25
dpd_contract444(&C2, &W, &SIjAb, 0, 1, 1, 0);
28
/* C2(Ib,jA) --> C2(IA,jb) (part III) */
29
dpd_buf4_sort(&SIjAb, EOM_TMP, psrq, 10, 10, "C2 (IA,jb) 3");
30
dpd_buf4_close(&SIjAb);
32
/* 1/2 [ (2 C2(IA,me) - C2(IE,ma)) * (2 W(ME,jb) + W(Me,Jb)] --> C2(IA,jb) */
33
dpd_buf4_init(&SIjAb, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "C2 (IA,jb) 1");
34
dpd_buf4_init(&C2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "2CMEnf-CMfnE");
35
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "2 W(ME,jb) + W(Me,Jb)");
36
dpd_contract444(&C2, &W, &SIjAb, 0, 1, 0.5, 0);
40
/* 1/2 Z(Ib,jA) + C2(IA,jb) --> C2(IA,jb) (Part I) */
41
dpd_buf4_init(&Z, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "Z (Ib,jA)");
42
dpd_buf4_axpy(&Z, &SIjAb, 0.5);
44
dpd_buf4_close(&SIjAb);
46
/* C2(IA,jb) (I) + C2(IA,jb) (III) --> C2(IA,jb) */
47
dpd_buf4_init(&SIjAb, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "C2 (IA,jb) 1");
48
dpd_buf4_init(&C2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "C2 (IA,jb) 3");
49
dpd_buf4_axpy(&C2, &SIjAb, 1);
51
dpd_buf4_sort(&SIjAb, EOM_TMP, prqs, 0, 5, "C2 (Ij,Ab) (1+3)");
52
dpd_buf4_close(&SIjAb);
53
dpd_buf4_init(&SIjAb, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "C2 (Ij,Ab) (1+3)");
54
dpd_buf4_sort(&SIjAb, EOM_TMP, qpsr, 0, 5, "C2 (Ij,Ab) (2+4)");
55
dpd_buf4_close(&SIjAb);
57
/* C2(Ij,Ab) <--- I + II + III + IV */
58
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 0, 5, 0, 5, 0, SIjAb_lbl);
59
dpd_buf4_init(&C2, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "C2 (Ij,Ab) (1+3)");
60
dpd_buf4_axpy(&C2, &SIjAb, 1);
62
dpd_buf4_init(&C2, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "C2 (Ij,Ab) (2+4)");
63
dpd_buf4_axpy(&C2, &SIjAb, 1);
65
dpd_buf4_close(&SIjAb);
68
else if (params.eom_ref == 1) { /* ROHF */
69
sprintf(CMNEF_lbl, "%s %d", "CMNEF", i);
70
sprintf(Cmnef_lbl, "%s %d", "Cmnef", i);
71
sprintf(CMnEf_lbl, "%s %d", "CMnEf", i);
72
sprintf(SIJAB_lbl, "%s %d", "SIJAB", i);
73
sprintf(Sijab_lbl, "%s %d", "Sijab", i);
74
sprintf(SIjAb_lbl, "%s %d", "SIjAb", i);
76
/* C2(IA,ME) * W(ME,JB) --> S2(IA,JB) */
77
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "SIAJB");
78
dpd_buf4_init(&CMNEF, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CMENF");
79
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "WMBEJ");
80
dpd_contract444(&CMNEF, &W, &S2, 0, 1, 1, 0);
82
dpd_buf4_close(&CMNEF);
83
/* C2(IA,me) * W(me,JB) --> S2(IA,JB) */
84
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CMEnf");
85
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "WmBeJ");
86
dpd_contract444(&CMnEf, &W, &S2, 0, 1, 1, 1);
88
dpd_buf4_close(&CMnEf);
90
dpd_buf4_sort(&S2, EOM_TMP, rqps, 10, 10, "SJAIB");
92
dpd_buf4_sort(&S2, EOM_TMP, psrq, 10, 10, "SIBJA");
94
/* P(IJ) P(AB) S2(IA,JB) */
95
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "SJAIB");
96
dpd_buf4_sort(&S2, EOM_TMP, psrq, 10, 10, "SJBIA");
98
/* S2(IA,JB) - S2(JA,IB) - S2(IB,JA) + S2(JB,IA) --> S2(IA,JB) */
99
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "SIAJB");
100
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "SJAIB");
101
dpd_buf4_axpy(&S2temp, &S2, -1);
102
dpd_buf4_close(&S2temp);
103
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "SIBJA");
104
dpd_buf4_axpy(&S2temp, &S2, -1);
105
dpd_buf4_close(&S2temp);
106
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "SJBIA");
107
dpd_buf4_axpy(&S2temp, &S2, 1);
108
dpd_buf4_close(&S2temp);
109
/* S2(IA,JB) --> S2(IJ,AB) */
110
dpd_buf4_sort(&S2, EOM_TMP, prqs, 0, 5, "SIJAB");
112
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "SIJAB");
113
dpd_buf4_init(&SIJAB, EOM_SIJAB, C_irr, 0, 5, 2, 7, 0, SIJAB_lbl);
114
dpd_buf4_axpy(&S2, &SIJAB, 1.0);
115
dpd_buf4_close(&SIJAB);
119
/* C2(ia,me) * W(me,jb) --> S2(ia,jb) */
120
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "Siajb");
121
dpd_buf4_init(&Cmnef, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "Cmenf");
122
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "Wmbej");
123
dpd_contract444(&Cmnef, &W, &S2, 0, 1, 1, 0);
125
dpd_buf4_close(&Cmnef);
126
/* C2(ia,ME) * W(ME,jb) --> S2(ia,jb) */
127
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CmeNF");
128
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "WMbEj");
129
dpd_contract444(&CMnEf, &W, &S2, 0, 1, 1, 1);
131
dpd_buf4_close(&CMnEf);
132
/* P(ij) S2(ia,jb) */
133
dpd_buf4_sort(&S2, EOM_TMP, rqps, 10, 10, "Sjaib");
134
/* P(ab) S2(ia,jb) */
135
dpd_buf4_sort(&S2, EOM_TMP, psrq, 10, 10, "Sibja");
137
/* P(ij) P(ab) S2(ia,jb) */
138
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "Sjaib");
139
dpd_buf4_sort(&S2, EOM_TMP, psrq, 10, 10, "Sjbia");
141
/* S2(ia,jb) - S2(ja,ib) - S2(ib,ja) + S2(jb,ia) --> S2(ia,jb) */
142
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "Siajb");
143
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "Sjaib");
144
dpd_buf4_axpy(&S2temp, &S2, -1);
145
dpd_buf4_close(&S2temp);
146
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "Sibja");
147
dpd_buf4_axpy(&S2temp, &S2, -1);
148
dpd_buf4_close(&S2temp);
149
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "Sjbia");
150
dpd_buf4_axpy(&S2temp, &S2, 1);
151
dpd_buf4_close(&S2temp);
152
/* S2(ia,jb) --> S2(ij,ab) */
153
dpd_buf4_sort(&S2, EOM_TMP, prqs, 0, 5, "Sijab");
155
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "Sijab");
156
dpd_buf4_init(&Sijab, EOM_Sijab, C_irr, 0, 5, 2, 7, 0, Sijab_lbl);
157
dpd_buf4_axpy(&S2, &Sijab, 1.0);
158
dpd_buf4_close(&Sijab);
161
/* C2(IA,ME) * W(ME,jb) --> S2(IA,jb) */
162
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "SIAjb");
163
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CMENF");
164
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "WMbEj");
165
dpd_contract444(&CMnEf, &W, &S2, 0, 1, 1, 0);
167
dpd_buf4_close(&CMnEf);
168
/* C2(IA,me) * W(me,jb) --> S2(IA,jb) */
169
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CMEnf");
170
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "Wmbej");
171
dpd_contract444(&CMnEf, &W, &S2, 0, 1, 1, 1);
173
dpd_buf4_close(&CMnEf);
174
/* W(ME,IA) * C2(jb,ME) --> S2(IA,jb) */
175
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CmeNF");
176
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "WMBEJ");
177
dpd_contract444(&W, &CMnEf, &S2, 1, 0, 1, 1);
179
dpd_buf4_close(&CMnEf);
180
/* W(me,IA) * C2(jb,me) --> S2(IA,jb) */
181
dpd_buf4_init(&Cmnef, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "Cmenf");
182
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "WmBeJ");
183
dpd_contract444(&W, &Cmnef, &S2, 1, 0, 1, 1);
185
dpd_buf4_close(&Cmnef);
186
/* C2(IA,jb) --> S2(Ij,Ab) */
187
dpd_buf4_sort(&S2, EOM_TMP, prqs, 0, 5, "SIjAb");
189
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "SIjAb");
190
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 0, 5, 0, 5, 0, SIjAb_lbl);
191
dpd_buf4_axpy(&S2, &SIjAb, 1);
192
dpd_buf4_close(&SIjAb);
194
/* C2(Ib,mE) * W(mE,jA) --> S2(Ib,jA) */
195
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "SIbjA");
196
/* dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CMenF"); */
197
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CMfnE");
198
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "WmBEj");
199
dpd_contract444(&CMnEf, &W, &S2, 0, 1, 1, 0);
201
dpd_buf4_close(&CMnEf);
202
/* W(Me,Ib) * C2(jA,Me) --> S2(Ib,jA) */
203
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CnEMf");
204
dpd_buf4_init(&W, CC_HBAR, H_IRR, 10, 10, 10, 10, 0, "WMbeJ");
205
dpd_contract444(&W, &CMnEf, &S2, 1, 0, 1, 1);
207
dpd_buf4_close(&CMnEf);
208
/* C2(Ib,jA) --> S2(Ij,bA) --> S2(Ij,Ab) */
209
dpd_buf4_sort(&S2, EOM_TMP, prqs, 0, 5, "SIjbA");
211
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "SIjbA");
212
dpd_buf4_sort(&S2, EOM_TMP, pqsr, 0, 5, "SIjAb");
214
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "SIjAb");
215
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 0, 5, 0, 5, 0, SIjAb_lbl);
216
dpd_buf4_axpy(&S2, &SIjAb, 1);
217
dpd_buf4_close(&SIjAb);
222
else if (params.eom_ref == 2) { /* UHF */
223
sprintf(CMNEF_lbl, "%s %d", "CMNEF", i);
224
sprintf(Cmnef_lbl, "%s %d", "Cmnef", i);
225
sprintf(CMnEf_lbl, "%s %d", "CMnEf", i);
226
sprintf(SIJAB_lbl, "%s %d", "SIJAB", i);
227
sprintf(Sijab_lbl, "%s %d", "Sijab", i);
228
sprintf(SIjAb_lbl, "%s %d", "SIjAb", i);
230
/* C2(IA,ME) * W(ME,JB) --> S2(IA,JB) */
231
dpd_buf4_init(&S2, EOM_TMP, C_irr, 20, 20, 20, 20, 0, "SIAJB");
232
dpd_buf4_init(&CMNEF, EOM_TMP, C_irr, 20, 20, 20, 20, 0, "CMENF");
233
dpd_buf4_init(&W, CC_HBAR, H_IRR, 20, 20, 20, 20, 0, "WMBEJ");
234
dpd_contract444(&CMNEF, &W, &S2, 0, 1, 1, 0);
236
dpd_buf4_close(&CMNEF);
237
/* C2(IA,me) * W(me,JB) --> S2(IA,JB) */
238
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 20, 30, 20, 30, 0, "CMEnf");
239
dpd_buf4_init(&W, CC_HBAR, H_IRR, 30, 20, 30, 20, 0, "WmBeJ");
240
dpd_contract444(&CMnEf, &W, &S2, 0, 1, 1, 1);
242
dpd_buf4_close(&CMnEf);
243
/* P(IJ) S2(IA,JB) */
244
dpd_buf4_sort(&S2, EOM_TMP, rqps, 20, 20, "SJAIB");
245
/* P(AB) S2(IA,JB) */
246
dpd_buf4_sort(&S2, EOM_TMP, psrq, 20, 20, "SIBJA");
248
/* P(IJ) P(AB) S2(IA,JB) */
249
dpd_buf4_init(&S2, EOM_TMP, C_irr, 20, 20, 20, 20, 0, "SJAIB");
250
dpd_buf4_sort(&S2, EOM_TMP, psrq, 20, 20, "SJBIA");
252
/* S2(IA,JB) - S2(JA,IB) - S2(IB,JA) + S2(JB,IA) --> S2(IA,JB) */
253
dpd_buf4_init(&S2, EOM_TMP, C_irr, 20, 20, 20, 20, 0, "SIAJB");
254
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 20, 20, 20, 20, 0, "SJAIB");
255
dpd_buf4_axpy(&S2temp, &S2, -1);
256
dpd_buf4_close(&S2temp);
257
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 20, 20, 20, 20, 0, "SIBJA");
258
dpd_buf4_axpy(&S2temp, &S2, -1);
259
dpd_buf4_close(&S2temp);
260
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 20, 20, 20, 20, 0, "SJBIA");
261
dpd_buf4_axpy(&S2temp, &S2, 1);
262
dpd_buf4_close(&S2temp);
263
/* S2(IA,JB) --> S2(IJ,AB) */
264
dpd_buf4_sort(&S2, EOM_TMP, prqs, 0, 5, "SIJAB");
266
dpd_buf4_init(&S2, EOM_TMP, C_irr, 0, 5, 0, 5, 0, "SIJAB");
267
dpd_buf4_init(&SIJAB, EOM_SIJAB, C_irr, 0, 5, 2, 7, 0, SIJAB_lbl);
268
dpd_buf4_axpy(&S2, &SIJAB, 1.0);
269
dpd_buf4_close(&SIJAB);
273
/* C2(ia,me) * W(me,jb) --> S2(ia,jb) */
274
dpd_buf4_init(&S2, EOM_TMP, C_irr, 30, 30, 30, 30, 0, "Siajb");
275
dpd_buf4_init(&Cmnef, EOM_TMP, C_irr, 30, 30, 30, 30, 0, "Cmenf");
276
dpd_buf4_init(&W, CC_HBAR, H_IRR, 30, 30, 30, 30, 0, "Wmbej");
277
dpd_contract444(&Cmnef, &W, &S2, 0, 1, 1, 0);
279
dpd_buf4_close(&Cmnef);
280
/* C2(ia,ME) * W(ME,jb) --> S2(ia,jb) */
281
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 30, 20, 30, 20, 0, "CmeNF");
282
dpd_buf4_init(&W, CC_HBAR, H_IRR, 20, 30, 20, 30, 0, "WMbEj");
283
dpd_contract444(&CMnEf, &W, &S2, 0, 1, 1, 1);
285
dpd_buf4_close(&CMnEf);
286
/* P(ij) S2(ia,jb) */
287
dpd_buf4_sort(&S2, EOM_TMP, rqps, 30, 30, "Sjaib");
288
/* P(ab) S2(ia,jb) */
289
dpd_buf4_sort(&S2, EOM_TMP, psrq, 30, 30, "Sibja");
291
/* P(ij) P(ab) S2(ia,jb) */
292
dpd_buf4_init(&S2, EOM_TMP, C_irr, 30, 30, 30, 30, 0, "Sjaib");
293
dpd_buf4_sort(&S2, EOM_TMP, psrq, 30, 30, "Sjbia");
295
/* S2(ia,jb) - S2(ja,ib) - S2(ib,ja) + S2(jb,ia) --> S2(ia,jb) */
296
dpd_buf4_init(&S2, EOM_TMP, C_irr, 30, 30, 30, 30, 0, "Siajb");
297
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 30, 30, 30, 30, 0, "Sjaib");
298
dpd_buf4_axpy(&S2temp, &S2, -1);
299
dpd_buf4_close(&S2temp);
300
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 30, 30, 30, 30, 0, "Sibja");
301
dpd_buf4_axpy(&S2temp, &S2, -1);
302
dpd_buf4_close(&S2temp);
303
dpd_buf4_init(&S2temp, EOM_TMP, C_irr, 30, 30, 30, 30, 0, "Sjbia");
304
dpd_buf4_axpy(&S2temp, &S2, 1);
305
dpd_buf4_close(&S2temp);
306
/* S2(ia,jb) --> S2(ij,ab) */
307
dpd_buf4_sort(&S2, EOM_TMP, prqs, 10, 15, "Sijab");
309
dpd_buf4_init(&S2, EOM_TMP, C_irr, 10, 15, 10, 15, 0, "Sijab");
310
dpd_buf4_init(&Sijab, EOM_Sijab, C_irr, 10, 15, 12, 17, 0, Sijab_lbl);
311
dpd_buf4_axpy(&S2, &Sijab, 1.0);
312
dpd_buf4_close(&Sijab);
316
/* C2(IA,ME) * W(ME,jb) --> S2(IA,jb) */
317
dpd_buf4_init(&S2, EOM_TMP, C_irr, 20, 30, 20, 30, 0, "SIAjb");
318
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 20, 20, 20, 20, 0, "CMENF");
319
dpd_buf4_init(&W, CC_HBAR, H_IRR, 20, 30, 20, 30, 0, "WMbEj");
320
dpd_contract444(&CMnEf, &W, &S2, 0, 1, 1, 0);
322
dpd_buf4_close(&CMnEf);
323
/* C2(IA,me) * W(me,jb) --> S2(IA,jb) */
324
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 20, 30, 20, 30, 0, "CMEnf");
325
dpd_buf4_init(&W, CC_HBAR, H_IRR, 30, 30, 30, 30, 0, "Wmbej");
326
dpd_contract444(&CMnEf, &W, &S2, 0, 1, 1, 1);
328
dpd_buf4_close(&CMnEf);
329
/* W(ME,IA) * C2(jb,ME) --> S2(IA,jb) */
330
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 30, 20, 30, 20, 0, "CmeNF");
331
dpd_buf4_init(&W, CC_HBAR, H_IRR, 20, 20, 20, 20, 0, "WMBEJ");
332
dpd_contract444(&W, &CMnEf, &S2, 1, 0, 1, 1);
334
dpd_buf4_close(&CMnEf);
335
/* W(me,IA) * C2(jb,me) --> S2(IA,jb) */
336
dpd_buf4_init(&Cmnef, EOM_TMP, C_irr, 30, 30, 30, 30, 0, "Cmenf");
337
dpd_buf4_init(&W, CC_HBAR, H_IRR, 30, 20, 30, 20, 0, "WmBeJ");
338
dpd_contract444(&W, &Cmnef, &S2, 1, 0, 1, 1);
340
dpd_buf4_close(&Cmnef);
341
/* C2(IA,jb) --> S2(Ij,Ab) */
342
dpd_buf4_sort(&S2, EOM_TMP, prqs, 22, 28, "SIjAb");
344
dpd_buf4_init(&S2, EOM_TMP, C_irr, 22, 28, 22, 28, 0, "SIjAb");
345
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 22, 28, 22, 28, 0, SIjAb_lbl);
346
dpd_buf4_axpy(&S2, &SIjAb, 1);
347
dpd_buf4_close(&SIjAb);
349
/* C2(Ib,mE) * W(mE,jA) --> S2(Ib,jA) */
350
dpd_buf4_init(&S2, EOM_TMP, C_irr, 24, 27, 24, 27, 0, "SIbjA");
351
/* dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 10, 10, 10, 10, 0, "CMenF"); */
352
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 24, 27, 24, 27, 0, "CMfnE");
353
dpd_buf4_init(&W, CC_HBAR, H_IRR, 27, 27, 27, 27, 0, "WmBEj");
354
dpd_contract444(&CMnEf, &W, &S2, 0, 1, 1, 0);
356
dpd_buf4_close(&CMnEf);
357
/* W(Me,Ib) * C2(jA,Me) --> S2(Ib,jA) */
358
dpd_buf4_init(&CMnEf, EOM_TMP, C_irr, 27, 24, 27, 24, 0, "CnEMf");
359
dpd_buf4_init(&W, CC_HBAR, H_IRR, 24, 24, 24, 24, 0, "WMbeJ");
360
dpd_contract444(&W, &CMnEf, &S2, 1, 0, 1, 1);
362
dpd_buf4_close(&CMnEf);
363
/* C2(Ib,jA) --> S2(Ij,bA) --> S2(Ij,Ab) */
364
dpd_buf4_sort(&S2, EOM_TMP, prqs, 22, 29, "SIjbA");
366
dpd_buf4_init(&S2, EOM_TMP, C_irr, 22, 29, 22, 29, 0, "SIjbA");
367
dpd_buf4_sort(&S2, EOM_TMP, pqsr, 22, 28, "SIjAb");
369
dpd_buf4_init(&S2, EOM_TMP, C_irr, 22, 28, 22, 28, 0, "SIjAb");
370
dpd_buf4_init(&SIjAb, EOM_SIjAb, C_irr, 22, 28, 22, 28, 0, SIjAb_lbl);
371
dpd_buf4_axpy(&S2, &SIjAb, 1);
372
dpd_buf4_close(&SIjAb);
377
check_sum("WmbejDD",i,C_irr);