2
#include <libdpd/dpd.h>
6
void x_Gciab_rohf(void);
9
void x_Gciab_8_rohf(void);
10
extern void x_Gciab_uhf(void);
12
/* This function computes the non-R0 parts of the 2pdm density matrix
13
Gciab = 0.5 *(rho_abci + rho_ciab) */
15
if (params.ref == 0 || params.ref == 1)
21
void x_Gciab_rohf(void) {
22
int h, nirreps, i, j, k, a, I, J, K, A, Isym, Jsym, Ksym, Asym, row, col;
23
int II,JJ,IIsym,JJsym;
24
int L_irr, R_irr, G_irr;
26
dpdfile2 L1, T1, R1, I1;
27
dpdbuf4 G, V, T, L, Z, Z2, R, Tau;
29
L_irr = params.L_irr; R_irr = params.R_irr; G_irr = params.G_irr;
30
nirreps = moinfo.nirreps;
32
/* term 1, rho_abci += Lmiab * Rmc */
33
dpd_buf4_init(&Z, EOM_TMP, G_irr, 7, 11, 7, 11, 0, "L2R1_VVOV(pqsr)");
34
dpd_buf4_sort(&Z, EOM_TMP0, rspq, 11, 7, "GCIAB");
36
dpd_buf4_init(&Z, EOM_TMP, G_irr, 7, 11, 7, 11, 0, "L2R1_vvov(pqsr)");
37
dpd_buf4_sort(&Z, EOM_TMP0, rspq, 11, 7, "Gciab");
39
dpd_buf4_init(&Z, EOM_TMP, G_irr, 5, 11, 5, 11, 0, "L2R1_VvoV(pqsr)");
40
dpd_buf4_sort(&Z, EOM_TMP0, rspq, 11, 5, "GCiAb");
42
dpd_buf4_init(&Z, EOM_TMP, G_irr, 5, 11, 5, 11, 0, "L2R1_VvOv(pqsr)");
43
dpd_buf4_sort(&Z, EOM_TMP0, rsqp, 11, 5, "GcIaB");
45
dpd_buf4_init(&Z, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "GCIAB");
46
dpd_buf4_scm(&Z, -1.0);
48
dpd_buf4_init(&Z, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "Gciab");
49
dpd_buf4_scm(&Z, -1.0);
52
/* term 2, rho_ciab += Rmiab * Lmc */
53
dpd_buf4_init(&Z, EOM_TMP, G_irr, 7, 11, 7, 11, 0, "R2L1_VVOV(pqsr)");
54
dpd_buf4_sort_axpy(&Z, EOM_TMP0, rspq, 11, 7, "GCIAB",-1.0);
56
dpd_buf4_init(&Z, EOM_TMP, G_irr, 7, 11, 7, 11, 0, "R2L1_vvov(pqsr)");
57
dpd_buf4_sort_axpy(&Z, EOM_TMP0, rspq, 11, 7, "Gciab",-1.0);
59
dpd_buf4_init(&Z, EOM_TMP, G_irr, 5, 11, 5, 11, 0, "R2L1_VvoV(pqsr)");
60
dpd_buf4_sort_axpy(&Z, EOM_TMP0, rspq, 11, 5, "GCiAb", 1.0);
62
dpd_buf4_init(&Z, EOM_TMP, G_irr, 5, 11, 5, 11, 0, "R2L1_VvOv(pqsr)");
63
dpd_buf4_sort_axpy(&Z, EOM_TMP0, rsqp, 11, 5, "GcIaB", 1.0);
65
/* same in two-steps, perhaps suggestive of future out-of-core approach
66
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "GCIAB");
67
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 7, 11, 7, 0, "GCIAB");
68
dpd_buf4_axpy(&Z, &G, -1.0);
71
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "Gciab");
72
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 7, 11, 7, 0, "Gciab");
73
dpd_buf4_axpy(&Z, &G, -1.0);
76
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
77
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "GCiAb");
78
dpd_buf4_axpy(&Z, &G, 1.0);
81
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
82
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "GcIaB");
83
dpd_buf4_axpy(&Z, &G, 1.0);
86
psio_close(EOM_TMP1,0);
87
psio_open(EOM_TMP1, PSIO_OPEN_NEW);
90
/* term 3, rho_CIAB -= 0.5 LMNCE RMNAB tIE */
91
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 11, 2, 11, 2, 0, "Z(CI,MN)");
92
dpd_buf4_init(&L, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
93
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
94
dpd_contract424(&L, &T1, &Z, 3, 1, 1, 1.0, 0.0);
97
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "GCIAB");
98
dpd_buf4_init(&R, CC_GR, R_irr, 2, 7, 2, 7, 0, "RIJAB");
99
dpd_contract444(&Z, &R, &G, 0, 1, -1.0, 1.0);
103
/* term 3, rho_ciab -= 0.5 Lmnce Rmnab tie */
104
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 11, 2, 11, 2, 0, "Z(ci,mn)");
105
dpd_buf4_init(&L, CC_GL, L_irr, 2, 5, 2, 7, 0, "Lijab");
106
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
107
dpd_contract424(&L, &T1, &Z, 3, 1, 1, 1.0, 0.0);
108
dpd_file2_close(&T1);
110
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "Gciab");
111
dpd_buf4_init(&R, CC_GR, R_irr, 2, 7, 2, 7, 0, "Rijab");
112
dpd_contract444(&Z, &R, &G, 0, 1, -1.0, 1.0);
116
/* term 3, rho_CiAb -= 0.5 LMnCe RMnAb tie */
117
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 11, 0, 11, 0, 0, "Z(Ci,Mn)");
118
dpd_buf4_init(&L, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
119
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
120
dpd_contract424(&L, &T1, &Z, 3, 1, 1, 1.0, 0.0);
121
dpd_file2_close(&T1);
123
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
124
dpd_buf4_init(&R, CC_GR, R_irr, 0, 5, 0, 5, 0, "RIjAb");
125
dpd_contract444(&Z, &R, &G, 0, 1, -1.0, 1.0);
129
/* term 3, rho_cIaB -= 0.5 LmNcE RmNaB tIE */
130
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 11, 0, 11, 0, 0, "Z(cI,mN)");
131
dpd_buf4_init(&L, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
132
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
133
dpd_contract424(&L, &T1, &Z, 3, 1, 1, 1.0, 0.0);
134
dpd_file2_close(&T1);
136
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
137
dpd_buf4_init(&R, CC_GR, R_irr, 0, 5, 0, 5, 0, "RiJaB");
138
dpd_contract444(&Z, &R, &G, 0, 1, -1.0, 1.0);
143
psio_close(EOM_TMP1,0);
144
psio_open(EOM_TMP1, PSIO_OPEN_NEW);
146
/* term 4, rho_CIAB -= 0.5 LMNCE TauMNAB RIE */
147
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 2, 11, 2, 0, "Z(CI,MN)");
148
dpd_buf4_init(&L, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
149
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
150
dpd_contract424(&L, &R1, &Z, 3, 1, 1, 1.0, 0.0);
151
dpd_file2_close(&R1);
153
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "GCIAB");
154
dpd_buf4_init(&T, CC_TAMPS, 0, 2, 7, 2, 7, 0, "tauIJAB");
155
dpd_contract444(&Z, &T, &G, 0, 1, -1.0, 1.0);
159
/* term 4, rho_ciab -= 0.5 Lmnce Taumnab Rie */
160
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 2, 11, 2, 0, "Z(ci,mn)");
161
dpd_buf4_init(&L, CC_GL, L_irr, 2, 5, 2, 7, 0, "Lijab");
162
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "Ria");
163
dpd_contract424(&L, &R1, &Z, 3, 1, 1, 1.0, 0.0);
164
dpd_file2_close(&R1);
166
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "Gciab");
167
dpd_buf4_init(&T, CC_TAMPS, 0, 2, 7, 2, 7, 0, "tauijab");
168
dpd_contract444(&Z, &T, &G, 0, 1, -1.0, 1.0);
172
/* term 4, rho_CiAb -= 0.5 LMnCe TauMnAb Rie */
173
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 0, 11, 0, 0, "Z(Ci,Mn)");
174
dpd_buf4_init(&L, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
175
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "Ria");
176
dpd_contract424(&L, &R1, &Z, 3, 1, 1, 1.0, 0.0);
177
dpd_file2_close(&R1);
179
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
180
dpd_buf4_init(&T, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tauIjAb");
181
dpd_contract444(&Z, &T, &G, 0, 1, -1.0, 1.0);
185
/* term 4, rho_cIaB -= 0.5 LmNcE TaumNaB RIE */
186
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 0, 11, 0, 0, "Z(cI,mN)");
187
dpd_buf4_init(&L, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
188
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
189
dpd_contract424(&L, &R1, &Z, 3, 1, 1, 1.0, 0.0);
190
dpd_file2_close(&R1);
192
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
193
dpd_buf4_init(&T, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tauiJaB");
194
dpd_contract444(&Z, &T, &G, 0, 1, -1.0, 1.0);
199
/* term 5, rho_ciab += - (Lmnec Rme) (Tniab + P(ij) Tna Tib) */
200
if (!params.connect_xi) {
201
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "GCIAB");
202
dpd_buf4_init(&Tau, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tauIJAB");
203
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L2R1_OV");
204
dpd_contract244(&I1, &Tau, &G, 0, 0, 0, 1.0, 1.0);
205
dpd_file2_close(&I1);
206
dpd_buf4_close(&Tau);
208
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "Gciab");
209
dpd_buf4_init(&Tau, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tauijab");
210
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L2R1_ov");
211
dpd_contract244(&I1, &Tau, &G, 0, 0, 0, 1.0, 1.0);
212
dpd_file2_close(&I1);
213
dpd_buf4_close(&Tau);
215
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
216
dpd_buf4_init(&Tau, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tauIjAb");
217
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L2R1_OV");
218
dpd_contract244(&I1, &Tau, &G, 0, 0, 0, 1.0, 1.0);
219
dpd_file2_close(&I1);
220
dpd_buf4_close(&Tau);
222
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
223
dpd_buf4_init(&Tau, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tauiJaB");
224
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L2R1_ov");
225
dpd_contract244(&I1, &Tau, &G, 0, 0, 0, 1.0, 1.0);
226
dpd_file2_close(&I1);
227
dpd_buf4_close(&Tau);
231
/* +P(ab) LR_VV(c,a) t(i,b) */
234
/* +P(ab) LR_TT(c,a) R(i,b) */
237
/* -P(ab) Lmnce Rinae Tmb, term 8 */
238
/* -P(ab) Lmnce Tinae Rmb, term 9 */
241
psio_close(EOM_TMP1,0);
242
psio_open(EOM_TMP1, PSIO_OPEN_NEW);
244
/* term 10, -P(AB) LNMCE TIE TNA RMB */
245
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 2, 11, 2, 11, 0, "Z(NM,CI)");
246
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
247
dpd_buf4_init(&L, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
248
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
251
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 2, 11, 0, "Z(NM,CI)");
252
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 11, 11, 11, 11, 0, "Z(CI,AM)");
253
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
254
dpd_file2_close(&T1);
256
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(CI,AB)");
257
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
258
dpd_contract424(&Z2, &R1, &Z, 3, 0, 0, 1.0, 0.0);
259
dpd_file2_close(&R1);
261
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 7, 0, "GCIAB");
262
dpd_buf4_axpy(&Z, &G, -1.0);
263
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 11, 5, "Z(CI,BA)");
265
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(CI,BA)");
266
dpd_buf4_axpy(&Z, &G, 1.0);
270
/* term 10, -P(ab) lmnce tie tna rmb */
271
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 2, 11, 2, 11, 0, "Z(nm,ci)");
272
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
273
dpd_buf4_init(&L, CC_GL, L_irr, 2, 5, 2, 7, 0, "Lijab");
274
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
277
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 2, 11, 0, "Z(nm,ci)");
278
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 11, 11, 11, 11, 0, "Z(ci,am)");
279
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
280
dpd_file2_close(&T1);
282
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(ci,ab)");
283
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "Ria");
284
dpd_contract424(&Z2, &R1, &Z, 3, 0, 0, 1.0, 0.0);
285
dpd_file2_close(&R1);
287
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 7, 0, "Gciab");
288
dpd_buf4_axpy(&Z, &G, -1.0);
289
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 11, 5, "Z(ci,ba)");
291
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(ci,ba)");
292
dpd_buf4_axpy(&Z, &G, 1.0);
296
/* term 10, GCiAb -= P(AB) LNmCe Tie TNA Rmb */
297
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 0, 11, 0, "Z(Nm,Ci)");
298
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
299
dpd_buf4_init(&L, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
300
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
302
dpd_file2_close(&T1);
303
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 11, 11, 11, 11, 0, "Z(Ci,Am)");
304
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
305
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
306
dpd_file2_close(&T1);
308
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
309
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "Ria");
310
dpd_contract424(&Z2, &R1, &G, 3, 0, 0, -1.0, 1.0);
311
dpd_file2_close(&R1);
315
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 0, 11, 0, "Z(nM,Ci)");
316
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
317
dpd_buf4_init(&L, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJAb");
318
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
320
dpd_file2_close(&T1);
321
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 11, 11, 11, 11, 0, "Z(Ci,bM)");
322
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
323
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
324
dpd_file2_close(&T1);
326
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(Ci,bA)");
327
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
328
dpd_contract424(&Z2, &R1, &Z, 3, 0, 0, 1.0, 0.0);
329
dpd_file2_close(&R1);
331
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 11, 5, "Z(Ci,Ab)");
333
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(Ci,Ab)");
334
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
335
dpd_buf4_axpy(&Z, &G, -1.0);
339
/* term 10, GcIaB - LnMcE TIE Tna RMB + LNmcE TIE TNB Rma */
340
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 0, 11, 0, "Z(nM,cI)");
341
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
342
dpd_buf4_init(&L, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
343
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
345
dpd_file2_close(&T1);
346
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 11, 11, 11, 11, 0, "Z(cI,aM)");
347
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
348
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
349
dpd_file2_close(&T1);
351
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
352
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
353
dpd_contract424(&Z2, &R1, &G, 3, 0, 0, -1.0, 1.0);
354
dpd_file2_close(&R1);
358
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 0, 11, 0, "Z(Nm,cI)");
359
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
360
dpd_buf4_init(&L, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjaB");
361
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
363
dpd_file2_close(&T1);
364
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 11, 11, 11, 11, 0, "Z(cI,Bm)");
365
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
366
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
367
dpd_file2_close(&T1);
369
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(cI,Ba)");
370
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "Ria");
371
dpd_contract424(&Z2, &R1, &Z, 3, 0, 0, 1.0, 0.0);
372
dpd_file2_close(&R1);
374
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 11, 5, "Z(cI,aB)");
376
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(cI,aB)");
377
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
378
dpd_buf4_axpy(&Z, &G, -1.0);
383
/* add 1/2 to ground-state parts of density */
384
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "GCIAB");
385
dpd_buf4_init(&V, CC_GAMMA, G_irr, 11, 7, 11, 7, 0, "GCIAB");
386
dpd_buf4_axpy(&G, &V, 0.5);
389
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 7, 11, 7, 0, "Gciab");
390
dpd_buf4_init(&V, CC_GAMMA, G_irr, 11, 7, 11, 7, 0, "Gciab");
391
dpd_buf4_axpy(&G, &V, 0.5);
394
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
395
dpd_buf4_init(&V, CC_GAMMA, G_irr, 11, 5, 11, 5, 0, "GCiAb");
396
dpd_buf4_axpy(&G, &V, 0.5);
399
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
400
dpd_buf4_init(&V, CC_GAMMA, G_irr, 11, 5, 11, 5, 0, "GcIaB");
401
dpd_buf4_axpy(&G, &V, 0.5);
405
/* clear out temporary files */
406
psio_close(EOM_TMP0, 0);
407
psio_open(EOM_TMP0, PSIO_OPEN_NEW);
410
dpd_buf4_init(&V, CC_GAMMA, G_irr, 11, 7, 11, 7, 0, "GCIAB");
411
value = dpd_buf4_dot_self(&V);
413
dpd_buf4_init(&V, CC_GAMMA, G_irr, 11, 7, 11, 7, 0, "Gciab");
414
value += dpd_buf4_dot_self(&V);
416
dpd_buf4_init(&V, CC_GAMMA, G_irr, 11, 5, 11, 5, 0, "GCiAb");
417
value += dpd_buf4_dot_self(&V);
419
dpd_buf4_init(&V, CC_GAMMA, G_irr, 11, 5, 11, 5, 0, "GcIaB");
420
value += dpd_buf4_dot_self(&V);
422
fprintf(outfile,"<Gciab|Gciab> = %15.10lf\n",value);
429
/* This function computes term 6,
430
rho_ciab += P(ab) LR1_VV(c,a) T(i,b)
433
void x_Gciab_6(void) {
434
int h, nirreps, c, i, a, b, C, I, A, B, Csym, Isym, Asym, Bsym, row, col;
435
int AA, BB, AAsym, BBsym;
436
int L_irr, R_irr, G_irr;
437
dpdfile2 LR1A, LR1B, T1A, T1B;
440
L_irr = params.L_irr; R_irr = params.R_irr; G_irr = params.G_irr;
441
nirreps = moinfo.nirreps;
443
/* open one-electron files for the nasty terms */
444
dpd_file2_init(&LR1A, EOM_TMP, G_irr, 1, 1, "LR_VV");
445
dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
446
if (params.ref == 0 || params.ref == 1) {
447
dpd_file2_init(&LR1B, EOM_TMP, G_irr, 1, 1, "LR_vv");
448
dpd_file2_init(&T1B, CC_OEI, 0, 0, 1, "tia");
451
dpd_file2_init(&LR1B, EOM_TMP, G_irr, 3, 3, "LR_vv");
452
dpd_file2_init(&T1B, CC_OEI, 0, 2, 3, "tia");
454
dpd_file2_mat_init(&T1A); dpd_file2_mat_init(&T1B);
455
dpd_file2_mat_init(&LR1A); dpd_file2_mat_init(&LR1B);
456
dpd_file2_mat_rd(&T1A); dpd_file2_mat_rd(&T1B);
457
dpd_file2_mat_rd(&LR1A); dpd_file2_mat_rd(&LR1B);
459
/* rho_CIAB += LR1_VV(C,A) T(I,B) - LR1_VV(C,B) T(I,A) */
460
if (params.ref == 0 || params.ref == 1)
461
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 7, 0, "GCIAB");
463
dpd_buf4_init(&G, EOM_TMP0, G_irr, 21, 5, 21, 7, 0, "GCIAB");
464
for(h=0; h < nirreps; h++) {
465
dpd_buf4_mat_irrep_init(&G, h);
466
dpd_buf4_mat_irrep_rd(&G, h);
467
for(row=0; row < G.params->rowtot[h]; row++) {
468
c = G.params->roworb[h][row][0];
469
i = G.params->roworb[h][row][1];
470
C = LR1A.params->rowidx[c]; Csym = LR1A.params->psym[c];
471
I = T1A.params->rowidx[i]; Isym = T1A.params->psym[i];
472
for(col=0; col < G.params->coltot[h]; col++) {
473
a = G.params->colorb[h^G_irr][col][0];
474
b = G.params->colorb[h^G_irr][col][1];
475
A = LR1A.params->colidx[a]; Asym = LR1A.params->qsym[a];
476
B = T1A.params->colidx[b]; Bsym = T1A.params->qsym[b];
477
AA = T1A.params->colidx[a]; AAsym = T1A.params->qsym[a];
478
BB = LR1A.params->colidx[b]; BBsym = LR1A.params->qsym[b];
479
if( ((Csym^Asym)==G_irr) && (Isym==Bsym))
480
G.matrix[h][row][col] +=
481
LR1A.matrix[Csym][C][A] * T1A.matrix[Isym][I][B];
482
if( ((Csym^BBsym)==G_irr) && (Isym==AAsym))
483
G.matrix[h][row][col] -=
484
LR1A.matrix[Csym][C][BB] * T1A.matrix[Isym][I][AA];
487
dpd_buf4_mat_irrep_wrt(&G, h);
488
dpd_buf4_mat_irrep_close(&G, h);
491
/* rho_ciab += LR1_vv(c,a) T(i,b) - LR1_vv(c,b) T(i,a) */
492
if (params.ref == 0 || params.ref == 1)
493
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 7, 0, "Gciab");
495
dpd_buf4_init(&G, EOM_TMP0, G_irr, 31, 15, 31, 17, 0, "Gciab");
496
for(h=0; h < nirreps; h++) {
497
dpd_buf4_mat_irrep_init(&G, h);
498
dpd_buf4_mat_irrep_rd(&G, h);
499
for(row=0; row < G.params->rowtot[h]; row++) {
500
c = G.params->roworb[h][row][0];
501
i = G.params->roworb[h][row][1];
502
C = LR1B.params->rowidx[c]; Csym = LR1B.params->psym[c];
503
I = T1B.params->rowidx[i]; Isym = T1B.params->psym[i];
504
for(col=0; col < G.params->coltot[h^G_irr]; col++) {
505
a = G.params->colorb[h^G_irr][col][0];
506
b = G.params->colorb[h^G_irr][col][1];
507
A = LR1B.params->colidx[a]; Asym = LR1B.params->qsym[a];
508
B = T1B.params->colidx[b]; Bsym = T1B.params->qsym[b];
509
AA = T1B.params->colidx[a]; AAsym = T1B.params->qsym[a];
510
BB = LR1B.params->colidx[b]; BBsym = LR1B.params->qsym[b];
511
if( ((Csym^Asym)==G_irr) && (Isym==Bsym))
512
G.matrix[h][row][col] +=
513
LR1B.matrix[Csym][C][A] * T1B.matrix[Isym][I][B];
514
if( ((Csym^BBsym)==G_irr) && (Isym==AAsym))
515
G.matrix[h][row][col] -=
516
LR1B.matrix[Csym][C][BB] * T1B.matrix[Isym][I][AA];
519
dpd_buf4_mat_irrep_wrt(&G, h);
520
dpd_buf4_mat_irrep_close(&G, h);
523
/* rho_CiAb += LR1_VV(C,A) T(i,b) */
524
if (params.ref == 0 || params.ref == 1)
525
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
527
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
528
for(h=0; h < nirreps; h++) {
529
dpd_buf4_mat_irrep_init(&G, h);
530
dpd_buf4_mat_irrep_rd(&G, h);
531
for(row=0; row < G.params->rowtot[h]; row++) {
532
c = G.params->roworb[h][row][0];
533
i = G.params->roworb[h][row][1];
534
C = LR1A.params->rowidx[c]; Csym = LR1A.params->psym[c];
535
I = T1B.params->rowidx[i]; Isym = T1B.params->psym[i];
536
for(col=0; col < G.params->coltot[h^G_irr]; col++) {
537
a = G.params->colorb[h^G_irr][col][0];
538
b = G.params->colorb[h^G_irr][col][1];
539
A = LR1A.params->colidx[a]; Asym = LR1A.params->qsym[a];
540
B = T1B.params->colidx[b]; Bsym = T1B.params->qsym[b];
541
if( ((Csym^Asym)==G_irr) && (Isym==Bsym))
542
G.matrix[h][row][col] +=
543
LR1A.matrix[Csym][C][A] * T1B.matrix[Isym][I][B];
546
dpd_buf4_mat_irrep_wrt(&G, h);
547
dpd_buf4_mat_irrep_close(&G, h);
550
/* rho_cIaB += LR1_vv(c,a) T(I,B) */
551
if (params.ref == 0 || params.ref == 1)
552
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
554
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
555
for(h=0; h < nirreps; h++) {
556
dpd_buf4_mat_irrep_init(&G, h);
557
dpd_buf4_mat_irrep_rd(&G, h);
558
for(row=0; row < G.params->rowtot[h]; row++) {
559
c = G.params->roworb[h][row][0];
560
i = G.params->roworb[h][row][1];
561
C = LR1B.params->rowidx[c]; Csym = LR1B.params->psym[c];
562
I = T1A.params->rowidx[i]; Isym = T1A.params->psym[i];
563
for(col=0; col < G.params->coltot[h^G_irr]; col++) {
564
a = G.params->colorb[h^G_irr][col][0];
565
b = G.params->colorb[h^G_irr][col][1];
566
A = LR1B.params->colidx[a]; Asym = LR1B.params->qsym[a];
567
B = T1A.params->colidx[b]; Bsym = T1A.params->qsym[b];
568
if( ((Csym^Asym)==G_irr) && (Isym==Bsym))
569
G.matrix[h][row][col] +=
570
LR1B.matrix[Csym][C][A] * T1A.matrix[Isym][I][B];
573
dpd_buf4_mat_irrep_wrt(&G, h);
574
dpd_buf4_mat_irrep_close(&G, h);
578
dpd_file2_mat_close(&LR1A);
579
dpd_file2_mat_close(&LR1B);
580
dpd_file2_close(&LR1A);
581
dpd_file2_close(&LR1B);
583
dpd_file2_mat_close(&T1A);
584
dpd_file2_mat_close(&T1B);
585
dpd_file2_close(&T1A);
586
dpd_file2_close(&T1B);
593
/* This function computes term 7,
594
rho_ciab += P(ab) LT_VV(c,a) R(i,b)
597
void x_Gciab_7(void) {
598
int h, nirreps, c, i, a, b, C, I, A, B, Csym, Isym, Asym, Bsym, row, col;
599
int AA, BB, AAsym, BBsym;
600
int L_irr, R_irr, G_irr;
601
dpdfile2 LT1A, LT1B, R1A, R1B;
604
L_irr = params.L_irr; R_irr = params.R_irr; G_irr = params.G_irr;
605
nirreps = moinfo.nirreps;
607
/* open one-electron files for the nasty terms */
608
dpd_file2_init(<1A, EOM_TMP, L_irr, 1, 1, "LT_VV");
609
dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
610
if (params.ref == 0 || params.ref == 1) {
611
dpd_file2_init(<1B, EOM_TMP, L_irr, 1, 1, "LT_vv");
612
dpd_file2_init(&R1B, CC_GR, R_irr, 0, 1, "Ria");
615
dpd_file2_init(<1B, EOM_TMP, L_irr, 3, 3, "LT_vv");
616
dpd_file2_init(&R1B, CC_GR, R_irr, 2, 3, "Ria");
618
dpd_file2_mat_init(&R1A); dpd_file2_mat_init(&R1B);
619
dpd_file2_mat_init(<1A); dpd_file2_mat_init(<1B);
620
dpd_file2_mat_rd(&R1A); dpd_file2_mat_rd(&R1B);
621
dpd_file2_mat_rd(<1A); dpd_file2_mat_rd(<1B);
623
/* rho_CIAB += LT_VV(C,A) R(I,B) - LT_VV(C,B) R(I,A) */
624
if (params.ref == 0 || params.ref == 1)
625
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 7, 0, "GCIAB");
627
dpd_buf4_init(&G, EOM_TMP0, G_irr, 21, 5, 21, 7, 0, "GCIAB");
628
for(h=0; h < nirreps; h++) {
629
dpd_buf4_mat_irrep_init(&G, h);
630
dpd_buf4_mat_irrep_rd(&G, h);
631
for(row=0; row < G.params->rowtot[h]; row++) {
632
c = G.params->roworb[h][row][0];
633
i = G.params->roworb[h][row][1];
634
C = LT1A.params->rowidx[c]; Csym = LT1A.params->psym[c];
635
I = R1A.params->rowidx[i]; Isym = R1A.params->psym[i];
636
for(col=0; col < G.params->coltot[h^G_irr]; col++) {
637
a = G.params->colorb[h^G_irr][col][0];
638
b = G.params->colorb[h^G_irr][col][1];
639
A = LT1A.params->colidx[a]; Asym = LT1A.params->qsym[a];
640
B = R1A.params->colidx[b]; Bsym = R1A.params->qsym[b];
641
AA = R1A.params->colidx[a]; AAsym = R1A.params->qsym[a];
642
BB = LT1A.params->colidx[b]; BBsym = LT1A.params->qsym[b];
643
if( ((Csym^Asym)==L_irr) && ((Isym^Bsym)==R_irr) )
644
G.matrix[h][row][col] +=
645
LT1A.matrix[Csym][C][A] * R1A.matrix[Isym][I][B];
646
if( ((Csym^BBsym)==L_irr) && ((Isym^AAsym)==R_irr) )
647
G.matrix[h][row][col] -=
648
LT1A.matrix[Csym][C][BB] * R1A.matrix[Isym][I][AA];
651
dpd_buf4_mat_irrep_wrt(&G, h);
652
dpd_buf4_mat_irrep_close(&G, h);
655
/* rho_ciab += LT_vv(c,a) R(i,b) - LT_vv(c,b) R(i,a) */
656
if (params.ref == 0 || params.ref == 1)
657
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 7, 0, "Gciab");
659
dpd_buf4_init(&G, EOM_TMP0, G_irr, 31, 15, 31, 17, 0, "Gciab");
660
for(h=0; h < nirreps; h++) {
661
dpd_buf4_mat_irrep_init(&G, h);
662
dpd_buf4_mat_irrep_rd(&G, h);
663
for(row=0; row < G.params->rowtot[h]; row++) {
664
c = G.params->roworb[h][row][0];
665
i = G.params->roworb[h][row][1];
666
C = LT1B.params->rowidx[c]; Csym = LT1B.params->psym[c];
667
I = R1B.params->rowidx[i]; Isym = R1B.params->psym[i];
668
for(col=0; col < G.params->coltot[h^G_irr]; col++) {
669
a = G.params->colorb[h^G_irr][col][0];
670
b = G.params->colorb[h^G_irr][col][1];
671
A = LT1B.params->colidx[a]; Asym = LT1B.params->qsym[a];
672
B = R1B.params->colidx[b]; Bsym = R1B.params->qsym[b];
673
AA = R1B.params->colidx[a]; AAsym = R1B.params->qsym[a];
674
BB = LT1B.params->colidx[b]; BBsym = LT1B.params->qsym[b];
675
if( ((Csym^Asym)==L_irr) && ((Isym^Bsym)==R_irr) )
676
G.matrix[h][row][col] +=
677
LT1B.matrix[Csym][C][A] * R1B.matrix[Isym][I][B];
678
if( ((Csym^BBsym)==L_irr) && ((Isym^AAsym)==R_irr) )
679
G.matrix[h][row][col] -=
680
LT1B.matrix[Csym][C][BB] * R1B.matrix[Isym][I][AA];
683
dpd_buf4_mat_irrep_wrt(&G, h);
684
dpd_buf4_mat_irrep_close(&G, h);
687
/* rho_CiAb += LT_VV(C,A) R(i,b) */
688
if (params.ref == 0 || params.ref == 1)
689
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
691
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
692
for(h=0; h < nirreps; h++) {
693
dpd_buf4_mat_irrep_init(&G, h);
694
dpd_buf4_mat_irrep_rd(&G, h);
695
for(row=0; row < G.params->rowtot[h]; row++) {
696
c = G.params->roworb[h][row][0];
697
i = G.params->roworb[h][row][1];
698
C = LT1A.params->rowidx[c]; Csym = LT1A.params->psym[c];
699
I = R1B.params->rowidx[i]; Isym = R1B.params->psym[i];
700
for(col=0; col < G.params->coltot[h^G_irr]; col++) {
701
a = G.params->colorb[h^G_irr][col][0];
702
b = G.params->colorb[h^G_irr][col][1];
703
A = LT1A.params->colidx[a]; Asym = LT1A.params->qsym[a];
704
B = R1B.params->colidx[b]; Bsym = R1B.params->qsym[b];
705
if( ((Csym^Asym)==L_irr) && ((Isym^Bsym)==R_irr) )
706
G.matrix[h][row][col] +=
707
LT1A.matrix[Csym][C][A] * R1B.matrix[Isym][I][B];
710
dpd_buf4_mat_irrep_wrt(&G, h);
711
dpd_buf4_mat_irrep_close(&G, h);
714
/* rho_cIaB += LT_vv(c,a) R(I,B) */
715
if (params.ref == 0 || params.ref == 1)
716
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
718
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
719
for(h=0; h < nirreps; h++) {
720
dpd_buf4_mat_irrep_init(&G, h);
721
dpd_buf4_mat_irrep_rd(&G, h);
722
for(row=0; row < G.params->rowtot[h]; row++) {
723
c = G.params->roworb[h][row][0];
724
i = G.params->roworb[h][row][1];
725
C = LT1B.params->rowidx[c]; Csym = LT1B.params->psym[c];
726
I = R1A.params->rowidx[i]; Isym = R1A.params->psym[i];
727
for(col=0; col < G.params->coltot[h^G_irr]; col++) {
728
a = G.params->colorb[h^G_irr][col][0];
729
b = G.params->colorb[h^G_irr][col][1];
730
A = LT1B.params->colidx[a]; Asym = LT1B.params->qsym[a];
731
B = R1A.params->colidx[b]; Bsym = R1A.params->qsym[b];
732
if( ((Csym^Asym)==L_irr) && ((Isym^Bsym)==R_irr) )
733
G.matrix[h][row][col] +=
734
LT1B.matrix[Csym][C][A] * R1A.matrix[Isym][I][B];
737
dpd_buf4_mat_irrep_wrt(&G, h);
738
dpd_buf4_mat_irrep_close(&G, h);
742
dpd_file2_mat_close(<1A);
743
dpd_file2_mat_close(<1B);
744
dpd_file2_close(<1A);
745
dpd_file2_close(<1B);
747
dpd_file2_mat_close(&R1A);
748
dpd_file2_mat_close(&R1B);
749
dpd_file2_close(&R1A);
750
dpd_file2_close(&R1B);
757
/* This function computes terms of excited Gciab
758
term 8 +P(ab) Lmnce Rinae Tmb
759
term 9, +P(AB) LMNCE TINAE RMB
762
void x_Gciab_8_rohf(void) {
763
int h, nirreps, i, j, k, a, I, J, K, A, Isym, Jsym, Ksym, Asym, row, col;
764
int II,JJ,IIsym,JJsym;
765
int L_irr, R_irr, G_irr;
767
dpdfile2 L1A, T1A, L1B, T1B, R1A, R1B, I1A, I1B;
768
dpdbuf4 G, V, T, L, Z, Z1, Z2, Tau;
770
L_irr = params.L_irr; R_irr = params.R_irr; G_irr = params.G_irr;
771
nirreps = moinfo.nirreps;
773
/* term 8, +P(AB) LMNCE RINAE TMB */
774
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 10, 5, 10, 5, 0, "Z(IA,BC)");
775
dpd_buf4_init(&V, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OVOV");
776
dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
777
dpd_contract244(&T1A, &V, &Z, 0, 2, 1, 1.0, 0.0);
778
dpd_file2_close(&T1A);
780
dpd_buf4_sort(&Z, EOM_TMP1, sprq, 11, 5, "Z(CI,BA)");
782
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(CI,BA)");
783
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 7, 0, "GCIAB");
784
dpd_buf4_axpy(&Z, &G, 1.0);
785
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 11, 5, "Z(CI,AB)");
787
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(CI,AB)");
788
dpd_buf4_axpy(&Z, &G, -1.0);
791
/* term 8, +P(ab) Lmnce Rinae Tmb */
792
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 10, 5, 10, 5, 0, "Z(ia,bc)");
793
dpd_buf4_init(&V, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_ovov");
794
dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tia");
795
dpd_contract244(&T1A, &V, &Z, 0, 2, 1, 1.0, 0.0);
796
dpd_file2_close(&T1A);
798
dpd_buf4_sort(&Z, EOM_TMP1, sprq, 11, 5, "Z(ci,ba)");
800
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(ci,ba)");
801
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 7, 0, "Gciab");
802
dpd_buf4_axpy(&Z, &G, 1.0);
803
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 11, 5, "Z(ci,ab)");
805
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(ci,ab)");
806
dpd_buf4_axpy(&Z, &G, -1.0);
810
/* term 8, GCiAb -= LmNCe RiNAe tmb */
811
dpd_buf4_init(&V, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_oVoV");
812
dpd_buf4_sort(&V, EOM_TMP1, spqr, 11, 11, "Z(Ci,Am)");
814
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 11, 11, 11, 0, "Z(Ci,Am)");
815
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
816
dpd_file2_init(&T1B, CC_OEI, 0, 0, 1, "tia");
817
dpd_contract424(&Z, &T1B, &G, 3, 0, 0, -1.0, 1.0);
818
dpd_file2_close(&T1B);
821
/* term 8, GCiAb -= (LMnCe Rinbe + LMNCE RiNbE) TMA */
822
dpd_buf4_init(&V, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_ovOV");
823
dpd_buf4_sort(&V, EOM_TMP1, sprq, 11, 10, "Z(Ci,Mb)");
825
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 10, 11, 10, 0, "Z(Ci,Mb)");
826
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
827
dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
828
dpd_contract244(&T1A, &Z, &G, 0, 2, 1, 1.0, 1.0);
829
dpd_file2_close(&T1A);
833
/* term 8, GcIaB -= LMncE RInaE tMB */
834
dpd_buf4_init(&V, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OvOv");
835
dpd_buf4_sort(&V, EOM_TMP1, spqr, 11, 11, "Z(cI,aM)");
837
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 11, 11, 11, 0, "Z(cI,aM)");
838
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
839
dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
840
dpd_contract424(&Z, &T1A, &G, 3, 0, 0, -1.0, 1.0);
841
dpd_file2_close(&T1A);
844
/* term 8, GcIaB -= (LmNcE RINBE + Lmnce RInBe) Tma */
845
dpd_buf4_init(&V, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OVov");
846
dpd_buf4_sort(&V, EOM_TMP1, sprq, 11, 10, "Z(cI,mB)");
848
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 10, 11, 10, 0, "Z(cI,mB)");
849
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
850
dpd_file2_init(&T1B, CC_OEI, 0, 0, 1, "tia");
851
dpd_contract244(&T1B, &Z, &G, 0, 2, 1, 1.0, 1.0);
852
dpd_file2_close(&T1B);
856
psio_close(EOM_TMP1, 0);
857
psio_open(EOM_TMP1, PSIO_OPEN_NEW);
859
/* term 9, +P(AB) LMNCE TINAE RMB */
860
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 10, 5, 10, 5, 0, "Z(IA,BC)");
861
dpd_buf4_init(&V, EOM_TMP, L_irr, 10, 10, 10, 10, 0, "VIAJB");
862
dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
863
dpd_contract244(&R1A, &V, &Z, 0, 2, 1, 1.0, 0.0);
864
dpd_file2_close(&R1A);
866
dpd_buf4_sort(&Z, EOM_TMP1, sprq, 11, 5, "Z(CI,BA)");
868
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(CI,BA)");
869
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 7, 0, "GCIAB");
870
dpd_buf4_axpy(&Z, &G, 1.0);
871
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 11, 5, "Z(CI,AB)");
873
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(CI,AB)");
874
dpd_buf4_axpy(&Z, &G, -1.0);
877
/* term 9, +P(ab) Lmnce Tinae Rmb */
878
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 10, 5, 10, 5, 0, "Z(ia,bc)");
879
dpd_buf4_init(&V, EOM_TMP, L_irr, 10, 10, 10, 10, 0, "Viajb");
880
dpd_file2_init(&R1B, CC_GR, R_irr, 0, 1, "Ria");
881
dpd_contract244(&R1B, &V, &Z, 0, 2, 1, 1.0, 0.0);
882
dpd_file2_close(&R1B);
884
dpd_buf4_sort(&Z, EOM_TMP1, sprq, 11, 5, "Z(ci,ba)");
886
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(ci,ba)");
887
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 7, 0, "Gciab");
888
dpd_buf4_axpy(&Z, &G, 1.0);
889
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 11, 5, "Z(ci,ab)");
891
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 11, 5, 11, 5, 0, "Z(ci,ab)");
892
dpd_buf4_axpy(&Z, &G, -1.0);
896
/* term 9, GCiAb -= LmNCe TiNAe Rmb */
897
dpd_buf4_init(&V, EOM_TMP, L_irr, 10, 10, 10, 10, 0, "ViAjB");
898
dpd_buf4_sort(&V, EOM_TMP1, spqr, 11, 11, "Z(Ci,Am)");
900
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 11, 11, 11, 11, 0, "Z(Ci,Am)");
901
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
902
dpd_file2_init(&R1B, CC_GR, R_irr, 0, 1, "Ria");
903
dpd_contract424(&Z, &R1B, &G, 3, 0, 0, -1.0, 1.0);
904
dpd_file2_close(&R1B);
907
/* term 9, GCiAb -= (LMnCe Tinbe + LMNCE TiNbE) RMA */
908
dpd_buf4_init(&V, EOM_TMP, L_irr, 10, 10, 10, 10, 0, "ViaJB");
909
dpd_buf4_sort(&V, EOM_TMP1, sprq, 11, 10, "Z(Ci,Mb)");
911
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 11, 10, 11, 10, 0, "Z(Ci,Mb)");
912
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GCiAb");
913
dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
914
dpd_contract244(&R1A, &Z, &G, 0, 2, 1, 1.0, 1.0);
915
dpd_file2_close(&R1A);
919
/* term 9, GcIaB -= LMncE TInaE RMB */
920
dpd_buf4_init(&V, EOM_TMP, L_irr, 10, 10, 10, 10, 0, "VIaJb");
921
dpd_buf4_sort(&V, EOM_TMP1, spqr, 11, 11, "Z(cI,aM)");
923
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 11, 11, 11, 11, 0, "Z(cI,aM)");
924
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
925
dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
926
dpd_contract424(&Z, &R1A, &G, 3, 0, 0, -1.0, 1.0);
927
dpd_file2_close(&R1A);
930
/* term 9, GcIaB -= (LmNcE TINBE + Lmnce TInBe) Rma */
931
dpd_buf4_init(&V, EOM_TMP, L_irr, 10, 10, 10, 10, 0, "VIAjb");
932
dpd_buf4_sort(&V, EOM_TMP1, sprq, 11, 10, "Z(cI,mB)");
934
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 11, 10, 11, 10, 0, "Z(cI,mB)");
935
dpd_buf4_init(&G, EOM_TMP0, G_irr, 11, 5, 11, 5, 0, "GcIaB");
936
dpd_file2_init(&R1B, CC_GR, R_irr, 0, 1, "Ria");
937
dpd_contract244(&R1B, &Z, &G, 0, 2, 1, 1.0, 1.0);
938
dpd_file2_close(&R1B);