2
#include <libdpd/dpd.h>
6
void x_Gciab_uhf(void);
7
extern void x_Gciab_6(void);
8
extern void x_Gciab_7(void);
9
void x_Gciab_8_uhf(void);
11
/* This function computes the non-R0 parts of the 2pdm density matrix
12
Gciab = 0.5 *(rho_abci + rho_ciab) */
14
void x_Gciab_uhf(void) {
15
int h, nirreps, i, j, k, a, I, J, K, A, Isym, Jsym, Ksym, Asym, row, col;
16
int II,JJ,IIsym,JJsym;
17
int L_irr, R_irr, G_irr;
19
dpdfile2 L1, T1, R1, I1;
20
dpdbuf4 G, V, T, L, Z, Z2, R, Tau;
22
L_irr = params.L_irr; R_irr = params.R_irr; G_irr = params.G_irr;
23
nirreps = moinfo.nirreps;
25
/* term 1, rho_abci += Lmiab * Rmc */
26
dpd_buf4_init(&Z, EOM_TMP, G_irr, 7, 21, 7, 21, 0, "L2R1_VVOV(pqsr)");
27
dpd_buf4_sort(&Z, EOM_TMP0, rspq, 21, 7, "GCIAB");
29
dpd_buf4_init(&Z, EOM_TMP, G_irr, 17, 31, 17, 31, 0, "L2R1_vvov(pqsr)");
30
dpd_buf4_sort(&Z, EOM_TMP0, rspq, 31, 17, "Gciab");
32
dpd_buf4_init(&Z, EOM_TMP, G_irr, 28, 26, 28, 26, 0, "L2R1_VvoV(pqsr)");
33
dpd_buf4_sort(&Z, EOM_TMP0, rspq, 26, 28, "GCiAb");
35
dpd_buf4_init(&Z, EOM_TMP, G_irr, 28, 25, 28, 25, 0, "L2R1_VvOv(pqsr)");
36
dpd_buf4_sort(&Z, EOM_TMP0, rsqp, 25, 29, "GcIaB");
38
dpd_buf4_init(&Z, EOM_TMP0, G_irr, 21, 7, 21, 7, 0, "GCIAB");
39
dpd_buf4_scm(&Z, -1.0);
41
dpd_buf4_init(&Z, EOM_TMP0, G_irr, 31, 17, 31, 17, 0, "Gciab");
42
dpd_buf4_scm(&Z, -1.0);
45
/* change to sort_axpy */
46
/* term 2, rho_ciab += Rmiab * Lmc */
47
dpd_buf4_init(&Z, EOM_TMP, G_irr, 7, 21, 7, 21, 0, "R2L1_VVOV(pqsr)");
48
dpd_buf4_sort_axpy(&Z, EOM_TMP0, rspq, 21, 7, "GCIAB", -1.0);
50
dpd_buf4_init(&Z, EOM_TMP, G_irr, 17, 31, 17, 31, 0, "R2L1_vvov(pqsr)");
51
dpd_buf4_sort_axpy(&Z, EOM_TMP0, rspq, 31, 17, "Gciab", -1.0);
53
dpd_buf4_init(&Z, EOM_TMP, G_irr, 28, 26, 28, 26, 0, "R2L1_VvoV(pqsr)");
54
dpd_buf4_sort_axpy(&Z, EOM_TMP0, rspq, 26, 28, "GCiAb", 1.0);
56
dpd_buf4_init(&Z, EOM_TMP, G_irr, 28, 25, 28, 25, 0, "R2L1_VvOv(pqsr)");
57
dpd_buf4_sort_axpy(&Z, EOM_TMP0, rsqp, 25, 29, "GcIaB", 1.0);
59
/* two step code - perhaps suggestive of future out of core approach
60
dpd_buf4_init(&Z, EOM_TMP, G_irr, 7, 21, 7, 21, 0, "R2L1_VVOV(pqsr)");
61
dpd_buf4_sort(&Z, EOM_TMP1, rspq, 21, 7, "GCIAB");
63
dpd_buf4_init(&Z, EOM_TMP, G_irr, 17, 31, 17, 31, 0, "R2L1_vvov(pqsr)");
64
dpd_buf4_sort(&Z, EOM_TMP1, rspq, 31, 17, "Gciab");
66
dpd_buf4_init(&Z, EOM_TMP, G_irr, 28, 26, 28, 26, 0, "R2L1_VvoV(pqsr)");
67
dpd_buf4_sort(&Z, EOM_TMP1, rspq, 26, 28, "GCiAb");
69
dpd_buf4_init(&Z, EOM_TMP, G_irr, 28, 25, 28, 25, 0, "R2L1_VvOv(pqsr)");
70
dpd_buf4_sort(&Z, EOM_TMP1, rsqp, 25, 29, "GcIaB");
72
dpd_buf4_init(&G, EOM_TMP0, G_irr, 21, 7, 21, 7, 0, "GCIAB");
73
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 21, 7, 21, 7, 0, "GCIAB");
74
dpd_buf4_axpy(&Z, &G, -1.0);
77
dpd_buf4_init(&G, EOM_TMP0, G_irr, 31, 17, 31, 17, 0, "Gciab");
78
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 31, 17, 31, 17, 0, "Gciab");
79
dpd_buf4_axpy(&Z, &G, -1.0);
82
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
83
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 26, 28, 26, 28, 0, "GCiAb");
84
dpd_buf4_axpy(&Z, &G, 1.0);
87
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
88
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 25, 29, 25, 29, 0, "GcIaB");
89
dpd_buf4_axpy(&Z, &G, 1.0);
92
psio_close(EOM_TMP1,0);
93
psio_open(EOM_TMP1, PSIO_OPEN_NEW);
96
/* term 3, rho_CIAB -= 0.5 LMNCE RMNAB tIE */
97
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 21, 2, 21, 2, 0, "Z(CI,MN)");
98
dpd_buf4_init(&L, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
99
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
100
dpd_contract424(&L, &T1, &Z, 3, 1, 1, 1.0, 0.0);
101
dpd_file2_close(&T1);
103
dpd_buf4_init(&G, EOM_TMP0, G_irr, 21, 7, 21, 7, 0, "GCIAB");
104
dpd_buf4_init(&R, CC_GR, R_irr, 2, 7, 2, 7, 0, "RIJAB");
105
dpd_contract444(&Z, &R, &G, 0, 1, -1.0, 1.0);
109
/* term 3, rho_ciab -= 0.5 Lmnce Rmnab tie */
110
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 31, 12, 31, 12, 0, "Z(ci,mn)");
111
dpd_buf4_init(&L, CC_GL, L_irr, 12, 15, 12, 17, 0, "Lijab");
112
dpd_file2_init(&T1, CC_OEI, 0, 2, 3, "tia");
113
dpd_contract424(&L, &T1, &Z, 3, 1, 1, 1.0, 0.0);
114
dpd_file2_close(&T1);
116
dpd_buf4_init(&G, EOM_TMP0, G_irr, 31, 17, 31, 17, 0, "Gciab");
117
dpd_buf4_init(&R, CC_GR, R_irr, 12, 17, 12, 17, 0, "Rijab");
118
dpd_contract444(&Z, &R, &G, 0, 1, -1.0, 1.0);
122
/* term 3, rho_CiAb -= 0.5 LMnCe RMnAb tie */
123
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 26, 22, 26, 22, 0, "Z(Ci,Mn)");
124
dpd_buf4_init(&L, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
125
dpd_file2_init(&T1, CC_OEI, 0, 2, 3, "tia");
126
dpd_contract424(&L, &T1, &Z, 3, 1, 1, 1.0, 0.0);
127
dpd_file2_close(&T1);
129
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
130
dpd_buf4_init(&R, CC_GR, R_irr, 22, 28, 22, 28, 0, "RIjAb");
131
dpd_contract444(&Z, &R, &G, 0, 1, -1.0, 1.0);
135
/* term 3, rho_cIaB -= 0.5 LmNcE RmNaB tIE */
136
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 25, 23, 25, 23, 0, "Z(cI,mN)");
137
dpd_buf4_init(&L, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
138
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
139
dpd_contract424(&L, &T1, &Z, 3, 1, 1, 1.0, 0.0);
140
dpd_file2_close(&T1);
142
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
143
dpd_buf4_init(&R, CC_GR, R_irr, 23, 29, 23, 29, 0, "RiJaB");
144
dpd_contract444(&Z, &R, &G, 0, 1, -1.0, 1.0);
149
psio_close(EOM_TMP1,0);
150
psio_open(EOM_TMP1, PSIO_OPEN_NEW);
152
/* term 4, rho_CIAB -= 0.5 LMNCE TauMNAB RIE */
153
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 21, 2, 21, 2, 0, "Z(CI,MN)");
154
dpd_buf4_init(&L, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
155
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
156
dpd_contract424(&L, &R1, &Z, 3, 1, 1, 1.0, 0.0);
157
dpd_file2_close(&R1);
159
dpd_buf4_init(&G, EOM_TMP0, G_irr, 21, 7, 21, 7, 0, "GCIAB");
160
dpd_buf4_init(&T, CC_TAMPS, 0, 2, 7, 2, 7, 0, "tauIJAB");
161
dpd_contract444(&Z, &T, &G, 0, 1, -1.0, 1.0);
165
/* term 4, rho_ciab -= 0.5 Lmnce Taumnab Rie */
166
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 31, 12, 31, 12, 0, "Z(ci,mn)");
167
dpd_buf4_init(&L, CC_GL, L_irr, 12, 15, 12, 17, 0, "Lijab");
168
dpd_file2_init(&R1, CC_GR, R_irr, 2, 3, "Ria");
169
dpd_contract424(&L, &R1, &Z, 3, 1, 1, 1.0, 0.0);
170
dpd_file2_close(&R1);
172
dpd_buf4_init(&G, EOM_TMP0, G_irr, 31, 17, 31, 17, 0, "Gciab");
173
dpd_buf4_init(&T, CC_TAMPS, 0, 12, 17, 12, 17, 0, "tauijab");
174
dpd_contract444(&Z, &T, &G, 0, 1, -1.0, 1.0);
178
/* term 4, rho_CiAb -= 0.5 LMnCe TauMnAb Rie */
179
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 26, 22, 26, 22, 0, "Z(Ci,Mn)");
180
dpd_buf4_init(&L, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
181
dpd_file2_init(&R1, CC_GR, R_irr, 2, 3, "Ria");
182
dpd_contract424(&L, &R1, &Z, 3, 1, 1, 1.0, 0.0);
183
dpd_file2_close(&R1);
185
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
186
dpd_buf4_init(&T, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tauIjAb");
187
dpd_contract444(&Z, &T, &G, 0, 1, -1.0, 1.0);
191
/* term 4, rho_cIaB -= 0.5 LmNcE TaumNaB RIE */
192
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 25, 23, 25, 23, 0, "Z(cI,mN)");
193
dpd_buf4_init(&L, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
194
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
195
dpd_contract424(&L, &R1, &Z, 3, 1, 1, 1.0, 0.0);
196
dpd_file2_close(&R1);
198
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
199
dpd_buf4_init(&T, CC_TAMPS, 0, 23, 29, 23, 29, 0, "tauiJaB");
200
dpd_contract444(&Z, &T, &G, 0, 1, -1.0, 1.0);
205
/* term 5, rho_ciab += - (Lmnec Rme) (Tniab + P(ij) Tna Tib) */
206
if (!params.connect_xi) {
207
dpd_buf4_init(&G, EOM_TMP0, G_irr, 21, 7, 21, 7, 0, "GCIAB");
208
dpd_buf4_init(&Tau, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tauIJAB");
209
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L2R1_OV");
210
dpd_contract244(&I1, &Tau, &G, 0, 0, 0, 1.0, 1.0);
211
dpd_file2_close(&I1);
212
dpd_buf4_close(&Tau);
214
dpd_buf4_init(&G, EOM_TMP0, G_irr, 31, 17, 31, 17, 0, "Gciab");
215
dpd_buf4_init(&Tau, CC_TAMPS, 0, 10, 17, 12, 17, 0, "tauijab");
216
dpd_file2_init(&I1, EOM_TMP, G_irr, 2, 3, "L2R1_ov");
217
dpd_contract244(&I1, &Tau, &G, 0, 0, 0, 1.0, 1.0);
218
dpd_file2_close(&I1);
219
dpd_buf4_close(&Tau);
221
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
222
dpd_buf4_init(&Tau, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tauIjAb");
223
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L2R1_OV");
224
dpd_contract244(&I1, &Tau, &G, 0, 0, 0, 1.0, 1.0);
225
dpd_file2_close(&I1);
226
dpd_buf4_close(&Tau);
228
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
229
dpd_buf4_init(&Tau, CC_TAMPS, 0, 23, 29, 23, 29, 0, "tauiJaB");
230
dpd_file2_init(&I1, EOM_TMP, G_irr, 2, 3, "L2R1_ov");
231
dpd_contract244(&I1, &Tau, &G, 0, 0, 0, 1.0, 1.0);
232
dpd_file2_close(&I1);
233
dpd_buf4_close(&Tau);
237
/* +P(ab) LR_VV(c,a) t(i,b) */
240
/* +P(ab) LR_TT(c,a) R(i,b) */
243
/* -P(ab) Lmnce Rinae Tmb, term 8 */
244
/* -P(ab) Lmnce Tinae Rmb, term 9 */
247
psio_close(EOM_TMP1,0);
248
psio_open(EOM_TMP1, PSIO_OPEN_NEW);
250
/* term 10, -P(AB) LNMCE TIE TNA RMB */
251
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 2, 21, 2, 21, 0, "Z(NM,CI)");
252
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
253
dpd_buf4_init(&L, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
254
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
257
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 21, 2, 21, 0, "Z(NM,CI)");
258
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 21, 21, 21, 21, 0, "Z(CI,AM)");
259
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
260
dpd_file2_close(&T1);
262
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 21, 5, 21, 5, 0, "Z(CI,AB)");
263
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
264
dpd_contract424(&Z2, &R1, &Z, 3, 0, 0, 1.0, 0.0);
265
dpd_file2_close(&R1);
267
dpd_buf4_init(&G, EOM_TMP0, G_irr, 21, 5, 21, 7, 0, "GCIAB");
268
dpd_buf4_axpy(&Z, &G, -1.0);
269
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 21, 5, "Z(CI,BA)");
271
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 21, 5, 21, 5, 0, "Z(CI,BA)");
272
dpd_buf4_axpy(&Z, &G, 1.0);
276
/* term 10, -P(ab) lmnce tie tna rmb */
277
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 12, 31, 12, 31, 0, "Z(nm,ci)");
278
dpd_file2_init(&T1, CC_OEI, 0, 2, 3, "tia");
279
dpd_buf4_init(&L, CC_GL, L_irr, 12, 15, 12, 17, 0, "Lijab");
280
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
283
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 10, 31, 12, 31, 0, "Z(nm,ci)");
284
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 31, 31, 31, 31, 0, "Z(ci,am)");
285
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
286
dpd_file2_close(&T1);
288
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 31, 15, 31, 15, 0, "Z(ci,ab)");
289
dpd_file2_init(&R1, CC_GR, R_irr, 2, 3, "Ria");
290
dpd_contract424(&Z2, &R1, &Z, 3, 0, 0, 1.0, 0.0);
291
dpd_file2_close(&R1);
293
dpd_buf4_init(&G, EOM_TMP0, G_irr, 31, 15, 31, 17, 0, "Gciab");
294
dpd_buf4_axpy(&Z, &G, -1.0);
295
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 31, 15, "Z(ci,ba)");
297
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 31, 15, 31, 15, 0, "Z(ci,ba)");
298
dpd_buf4_axpy(&Z, &G, 1.0);
302
/* term 10, GCiAb -= P(AB) LNmCe Tie TNA Rmb */
303
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 22, 26, 22, 26, 0, "Z(Nm,Ci)");
304
dpd_file2_init(&T1, CC_OEI, 0, 2, 3, "tia");
305
dpd_buf4_init(&L, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
306
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
308
dpd_file2_close(&T1);
309
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 26, 26, 26, 26, 0, "Z(Ci,Am)");
310
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
311
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
312
dpd_file2_close(&T1);
314
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
315
dpd_file2_init(&R1, CC_GR, R_irr, 2, 3, "Ria");
316
dpd_contract424(&Z2, &R1, &G, 3, 0, 0, -1.0, 1.0);
317
dpd_file2_close(&R1);
321
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 23, 26, 23, 26, 0, "Z(nM,Ci)");
322
dpd_file2_init(&T1, CC_OEI, 0, 2, 3, "tia");
323
dpd_buf4_init(&L, CC_GL, L_irr, 23, 28, 23, 28, 0, "LiJAb");
324
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
326
dpd_file2_close(&T1);
327
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 26, 25, 26, 25, 0, "Z(Ci,bM)");
328
dpd_file2_init(&T1, CC_OEI, 0, 2, 3, "tia");
329
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
330
dpd_file2_close(&T1);
332
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 26, 29, 26, 29, 0, "Z(Ci,bA)");
333
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
334
dpd_contract424(&Z2, &R1, &Z, 3, 0, 0, 1.0, 0.0);
335
dpd_file2_close(&R1);
337
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 26, 28, "Z(Ci,Ab)");
339
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 26, 28, 26, 28, 0, "Z(Ci,Ab)");
340
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
341
dpd_buf4_axpy(&Z, &G, -1.0);
345
/* term 10, GcIaB - LnMcE TIE Tna RMB + LNmcE TIE TNB Rma */
346
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 23, 25, 23, 25, 0, "Z(nM,cI)");
347
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
348
dpd_buf4_init(&L, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
349
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
351
dpd_file2_close(&T1);
352
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 25, 25, 25, 25, 0, "Z(cI,aM)");
353
dpd_file2_init(&T1, CC_OEI, 0, 2, 3, "tia");
354
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
355
dpd_file2_close(&T1);
357
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
358
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
359
dpd_contract424(&Z2, &R1, &G, 3, 0, 0, -1.0, 1.0);
360
dpd_file2_close(&R1);
364
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 22, 25, 22, 25, 0, "Z(Nm,cI)");
365
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
366
dpd_buf4_init(&L, CC_GL, L_irr, 22, 29, 22, 29, 0, "LIjaB");
367
dpd_contract424(&L, &T1, &Z, 3, 1, 0, 1.0, 0.0);
369
dpd_file2_close(&T1);
370
dpd_buf4_init(&Z2, EOM_TMP1, L_irr, 25, 26, 25, 26, 0, "Z(cI,Bm)");
371
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
372
dpd_contract244(&T1, &Z, &Z2, 0, 0, 1, 1.0, 0.0);
373
dpd_file2_close(&T1);
375
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 25, 28, 25, 28, 0, "Z(cI,Ba)");
376
dpd_file2_init(&R1, CC_GR, R_irr, 2, 3, "Ria");
377
dpd_contract424(&Z2, &R1, &Z, 3, 0, 0, 1.0, 0.0);
378
dpd_file2_close(&R1);
380
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 25, 29, "Z(cI,aB)");
382
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 25, 29, 25, 29, 0, "Z(cI,aB)");
383
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
384
dpd_buf4_axpy(&Z, &G, -1.0);
389
/* add 1/2 to ground-state parts of density */
390
dpd_buf4_init(&G, EOM_TMP0, G_irr, 21, 7, 21, 7, 0, "GCIAB");
391
dpd_buf4_init(&V, CC_GAMMA, G_irr, 21, 7, 21, 7, 0, "GCIAB");
392
dpd_buf4_axpy(&G, &V, 0.5);
395
dpd_buf4_init(&G, EOM_TMP0, G_irr, 31, 17, 31, 17, 0, "Gciab");
396
dpd_buf4_init(&V, CC_GAMMA, G_irr, 31, 17, 31, 17, 0, "Gciab");
397
dpd_buf4_axpy(&G, &V, 0.5);
400
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
401
dpd_buf4_init(&V, CC_GAMMA, G_irr, 26, 28, 26, 28, 0, "GCiAb");
402
dpd_buf4_axpy(&G, &V, 0.5);
405
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
406
dpd_buf4_init(&V, CC_GAMMA, G_irr, 25, 29, 25, 29, 0, "GcIaB");
407
dpd_buf4_axpy(&G, &V, 0.5);
411
/* clear out temporary files */
412
psio_close(EOM_TMP0, 0);
413
psio_open(EOM_TMP0, PSIO_OPEN_NEW);
416
dpd_buf4_init(&V, CC_GAMMA, G_irr, 21, 7, 21, 7, 0, "GCIAB");
417
value = dpd_buf4_dot_self(&V);
419
dpd_buf4_init(&V, CC_GAMMA, G_irr, 31, 17, 31, 17, 0, "Gciab");
420
value += dpd_buf4_dot_self(&V);
422
dpd_buf4_init(&V, CC_GAMMA, G_irr, 26, 28, 26, 28, 0, "GCiAb");
423
value += dpd_buf4_dot_self(&V);
425
dpd_buf4_init(&V, CC_GAMMA, G_irr, 25, 29, 25, 29, 0, "GcIaB");
426
value += dpd_buf4_dot_self(&V);
428
fprintf(outfile,"<Gciab|Gciab> = %15.10lf\n",value);
435
/* This function computes terms of excited Gciab
436
term 8 +P(ab) Lmnce Rinae Tmb
437
term 9, +P(AB) LMNCE TINAE RMB
440
void x_Gciab_8_uhf(void) {
441
int h, nirreps, i, j, k, a, I, J, K, A, Isym, Jsym, Ksym, Asym, row, col;
442
int II,JJ,IIsym,JJsym;
443
int L_irr, R_irr, G_irr;
445
dpdfile2 L1A, T1A, L1B, T1B, R1A, R1B, I1A, I1B;
446
dpdbuf4 G, V, T, L, Z, Z1, Z2, Tau;
448
L_irr = params.L_irr; R_irr = params.R_irr; G_irr = params.G_irr;
449
nirreps = moinfo.nirreps;
451
/* term 8, +P(AB) LMNCE RINAE TMB */
452
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 20, 5, 20, 5, 0, "Z(IA,BC)");
453
dpd_buf4_init(&V, EOM_TMP, G_irr, 20, 20, 20, 20, 0, "R2L2_OVOV");
454
dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
455
dpd_contract244(&T1A, &V, &Z, 0, 2, 1, 1.0, 0.0);
456
dpd_file2_close(&T1A);
458
dpd_buf4_sort(&Z, EOM_TMP1, sprq, 21, 5, "Z(CI,BA)");
460
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 21, 5, 21, 5, 0, "Z(CI,BA)");
461
dpd_buf4_init(&G, EOM_TMP0, G_irr, 21, 5, 21, 7, 0, "GCIAB");
462
dpd_buf4_axpy(&Z, &G, 1.0);
463
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 21, 5, "Z(CI,AB)");
465
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 21, 5, 21, 5, 0, "Z(CI,AB)");
466
dpd_buf4_axpy(&Z, &G, -1.0);
469
/* term 8, +P(ab) Lmnce Rinae Tmb */
470
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 30, 15, 30, 15, 0, "Z(ia,bc)");
471
dpd_buf4_init(&V, EOM_TMP, G_irr, 30, 30, 30, 30, 0, "R2L2_ovov");
472
dpd_file2_init(&T1A, CC_OEI, 0, 2, 3, "tia");
473
dpd_contract244(&T1A, &V, &Z, 0, 2, 1, 1.0, 0.0);
474
dpd_file2_close(&T1A);
476
dpd_buf4_sort(&Z, EOM_TMP1, sprq, 31, 15, "Z(ci,ba)");
478
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 31, 15, 31, 15, 0, "Z(ci,ba)");
479
dpd_buf4_init(&G, EOM_TMP0, G_irr, 31, 15, 31, 17, 0, "Gciab");
480
dpd_buf4_axpy(&Z, &G, 1.0);
481
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 31, 15, "Z(ci,ab)");
483
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 31, 15, 31, 15, 0, "Z(ci,ab)");
484
dpd_buf4_axpy(&Z, &G, -1.0);
488
/* term 8, GCiAb -= LmNCe RiNAe tmb */
489
dpd_buf4_init(&V, EOM_TMP, G_irr, 27, 27, 27, 27, 0, "R2L2_oVoV");
490
dpd_buf4_sort(&V, EOM_TMP1, spqr, 26, 26, "Z(Ci,Am)");
492
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 26, 26, 26, 26, 0, "Z(Ci,Am)");
493
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
494
dpd_file2_init(&T1B, CC_OEI, 0, 2, 3, "tia");
495
dpd_contract424(&Z, &T1B, &G, 3, 0, 0, -1.0, 1.0);
496
dpd_file2_close(&T1B);
499
/* term 8, GCiAb -= (LMnCe Rinbe + LMNCE RiNbE) TMA */
500
dpd_buf4_init(&V, EOM_TMP, G_irr, 30, 20, 30, 20, 0, "R2L2_ovOV");
501
dpd_buf4_sort(&V, EOM_TMP1, sprq, 26, 24, "Z(Ci,Mb)");
503
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 26, 24, 26, 24, 0, "Z(Ci,Mb)");
504
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
505
dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
506
dpd_contract244(&T1A, &Z, &G, 0, 2, 1, 1.0, 1.0);
507
dpd_file2_close(&T1A);
511
/* term 8, GcIaB -= LMncE RInaE tMB */
512
dpd_buf4_init(&V, EOM_TMP, G_irr, 24, 24, 24, 24, 0, "R2L2_OvOv");
513
dpd_buf4_sort(&V, EOM_TMP1, spqr, 25, 25, "Z(cI,aM)");
515
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 25, 25, 25, 25, 0, "Z(cI,aM)");
516
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
517
dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
518
dpd_contract424(&Z, &T1A, &G, 3, 0, 0, -1.0, 1.0);
519
dpd_file2_close(&T1A);
522
/* term 8, GcIaB -= (LmNcE RINBE + Lmnce RInBe) Tma */
523
dpd_buf4_init(&V, EOM_TMP, G_irr, 20, 30, 20, 30, 0, "R2L2_OVov");
524
dpd_buf4_sort(&V, EOM_TMP1, sprq, 25, 27, "Z(cI,mB)");
526
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 25, 27, 25, 27, 0, "Z(cI,mB)");
527
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
528
dpd_file2_init(&T1B, CC_OEI, 0, 2, 3, "tia");
529
dpd_contract244(&T1B, &Z, &G, 0, 2, 1, 1.0, 1.0);
530
dpd_file2_close(&T1B);
534
psio_close(EOM_TMP1, 0);
535
psio_open(EOM_TMP1, PSIO_OPEN_NEW);
537
/* term 9, +P(AB) LMNCE TINAE RMB */
538
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 20, 5, 20, 5, 0, "Z(IA,BC)");
539
dpd_buf4_init(&V, EOM_TMP, L_irr, 20, 20, 20, 20, 0, "VIAJB");
540
dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
541
dpd_contract244(&R1A, &V, &Z, 0, 2, 1, 1.0, 0.0);
542
dpd_file2_close(&R1A);
544
dpd_buf4_sort(&Z, EOM_TMP1, sprq, 21, 5, "Z(CI,BA)");
546
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 21, 5, 21, 5, 0, "Z(CI,BA)");
547
dpd_buf4_init(&G, EOM_TMP0, G_irr, 21, 5, 21, 7, 0, "GCIAB");
548
dpd_buf4_axpy(&Z, &G, 1.0);
549
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 21, 5, "Z(CI,AB)");
551
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 21, 5, 21, 5, 0, "Z(CI,AB)");
552
dpd_buf4_axpy(&Z, &G, -1.0);
555
/* term 9, +P(ab) Lmnce Tinae Rmb */
556
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 30, 15, 30, 15, 0, "Z(ia,bc)");
557
dpd_buf4_init(&V, EOM_TMP, L_irr, 30, 30, 30, 30, 0, "Viajb");
558
dpd_file2_init(&R1B, CC_GR, R_irr, 2, 3, "Ria");
559
dpd_contract244(&R1B, &V, &Z, 0, 2, 1, 1.0, 0.0);
560
dpd_file2_close(&R1B);
562
dpd_buf4_sort(&Z, EOM_TMP1, sprq, 31, 15, "Z(ci,ba)");
564
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 31, 15, 31, 15, 0, "Z(ci,ba)");
565
dpd_buf4_init(&G, EOM_TMP0, G_irr, 31, 15, 31, 17, 0, "Gciab");
566
dpd_buf4_axpy(&Z, &G, 1.0);
567
dpd_buf4_sort(&Z, EOM_TMP1, pqsr, 31, 15, "Z(ci,ab)");
569
dpd_buf4_init(&Z, EOM_TMP1, G_irr, 31, 15, 31, 15, 0, "Z(ci,ab)");
570
dpd_buf4_axpy(&Z, &G, -1.0);
574
/* term 9, GCiAb -= LmNCe TiNAe Rmb */
575
dpd_buf4_init(&V, EOM_TMP, L_irr, 27, 27, 27, 27, 0, "ViAjB");
576
dpd_buf4_sort(&V, EOM_TMP1, spqr, 26, 26, "Z(Ci,Am)");
578
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 26, 26, 26, 26, 0, "Z(Ci,Am)");
579
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
580
dpd_file2_init(&R1B, CC_GR, R_irr, 2, 3, "Ria");
581
dpd_contract424(&Z, &R1B, &G, 3, 0, 0, -1.0, 1.0);
582
dpd_file2_close(&R1B);
585
/* term 9, GCiAb -= (LMnCe Tinbe + LMNCE TiNbE) RMA */
586
dpd_buf4_init(&V, EOM_TMP, L_irr, 30, 20, 30, 20, 0, "ViaJB");
587
dpd_buf4_sort(&V, EOM_TMP1, sprq, 26, 24, "Z(Ci,Mb)");
589
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 26, 24, 26, 24, 0, "Z(Ci,Mb)");
590
dpd_buf4_init(&G, EOM_TMP0, G_irr, 26, 28, 26, 28, 0, "GCiAb");
591
dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
592
dpd_contract244(&R1A, &Z, &G, 0, 2, 1, 1.0, 1.0);
593
dpd_file2_close(&R1A);
597
/* term 9, GcIaB -= LMncE TInaE RMB */
598
dpd_buf4_init(&V, EOM_TMP, L_irr, 24, 24, 24, 24, 0, "VIaJb");
599
dpd_buf4_sort(&V, EOM_TMP1, spqr, 25, 25, "Z(cI,aM)");
601
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 25, 25, 25, 25, 0, "Z(cI,aM)");
602
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
603
dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
604
dpd_contract424(&Z, &R1A, &G, 3, 0, 0, -1.0, 1.0);
605
dpd_file2_close(&R1A);
608
/* term 9, GcIaB -= (LmNcE TINBE + Lmnce TInBe) Rma */
609
dpd_buf4_init(&V, EOM_TMP, L_irr, 20, 30, 20, 30, 0, "VIAjb");
610
dpd_buf4_sort(&V, EOM_TMP1, sprq, 25, 27, "Z(cI,mB)");
612
dpd_buf4_init(&Z, EOM_TMP1, L_irr, 25, 27, 25, 27, 0, "Z(cI,mB)");
613
dpd_buf4_init(&G, EOM_TMP0, G_irr, 25, 29, 25, 29, 0, "GcIaB");
614
dpd_file2_init(&R1B, CC_GR, R_irr, 2, 3, "Ria");
615
dpd_contract244(&R1B, &Z, &G, 0, 2, 1, 1.0, 1.0);
616
dpd_file2_close(&R1B);