~ubuntu-branches/ubuntu/karmic/psicode/karmic

« back to all changes in this revision

Viewing changes to src/bin/psimrcc/mp2_ccsd_add_matrices.cc

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck, Michael Banck, Daniel Leidert
  • Date: 2009-02-23 00:12:02 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20090223001202-rutldoy3dimfpesc
Tags: 3.4.0-1
* New upstream release.

[ Michael Banck ]
* debian/patches/01_DESTDIR.dpatch: Refreshed.
* debian/patches/02_FHS.dpatch: Removed, applied upstream.
* debian/patches/03_debian_docdir: Likewise.
* debian/patches/04_man.dpatch: Likewise.
* debian/patches/06_466828_fix_gcc_43_ftbfs.dpatch: Likewise.
* debian/patches/07_464867_move_executables: Fixed and refreshed.
* debian/patches/00list: Adjusted.
* debian/control: Improved description.
* debian/patches-held: Removed.
* debian/rules (install/psi3): Do not ship the ruby bindings for now.

[ Daniel Leidert ]
* debian/rules: Fix txtdir via DEB_MAKE_INSTALL_TARGET.
* debian/patches/01_DESTDIR.dpatch: Refreshed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "blas.h"
 
2
#include "mp2_ccsd.h"
 
3
 
 
4
namespace psi{ namespace psimrcc{
 
5
 
 
6
void MP2_CCSD::add_matrices()
 
7
{
 
8
  // O^4
 
9
  blas->add_Matrix("<[oo]:[oo]>");
 
10
  blas->add_Matrix("<[oo]|[oo]>");
 
11
 
 
12
  // O^3V
 
13
  blas->add_Matrix("([oo]:[ov])");
 
14
  blas->add_Matrix("([oo]|[ov])");
 
15
  blas->add_Matrix("<[o]:[voo]>");
 
16
  blas->add_Matrix("<[o]|[voo]>");
 
17
  blas->add_Matrix("<[ooo]|[v]>");
 
18
  blas->add_Matrix("<[o]:[oov]>");
 
19
  blas->add_Matrix("<[o]|[oov]>");
 
20
  blas->add_Matrix("<[o]|[ovo]>");
 
21
 
 
22
  // O^2V^2
 
23
  blas->add_Matrix("<[oo]:[vv]>");
 
24
  blas->add_Matrix("<[oo]|[vv]>");
 
25
  blas->add_Matrix("<[v]:[voo]>");
 
26
  blas->add_Matrix("<[v]|[voo]>");
 
27
  blas->add_Matrix("<[o]:[ovv]>");
 
28
  blas->add_Matrix("<[o]|[ovv]>");
 
29
  blas->add_Matrix("([ov]:[ov])");
 
30
  blas->add_Matrix("([ov]|[ov])");
 
31
  blas->add_Matrix("([ov]|[vo])");
 
32
  blas->add_Matrix("<[ov]|[ov]>");
 
33
  blas->add_Matrix("<[ov]|[vo]>"); // used only once
 
34
 
 
35
  // OV^3
 
36
  blas->add_Matrix("([ov]:[vv])");
 
37
  blas->add_Matrix("([ov]|[vv])");
 
38
  blas->add_Matrix("<[v]:[ovv]>");
 
39
  blas->add_Matrix("<[v]|[ovv]>");
 
40
  blas->add_Matrix("<[vo]|[vv]>");
 
41
  blas->add_Matrix("([vvo]|[v])");
 
42
  blas->add_Matrix("<[ovv]:[v]>");
 
43
 
 
44
  // Fock Matrix
 
45
  blas->add_Matrix("fock[o][o]{u}");
 
46
  blas->add_Matrix("fock[o][v]{u}");
 
47
  blas->add_Matrix("fock[v][v]{u}");
 
48
  blas->add_Matrix("fock[O][O]{u}");
 
49
  blas->add_Matrix("fock[O][V]{u}");
 
50
  blas->add_Matrix("fock[V][V]{u}");
 
51
 
 
52
  blas->add_Matrix("fock[v][o]{u}");
 
53
  blas->add_Matrix("fock[V][O]{u}");
 
54
 
 
55
  blas->add_Matrix("fock[oo]{u}");
 
56
  blas->add_Matrix("fock[ov]{u}");
 
57
  blas->add_Matrix("fock[vv]{u}");
 
58
  blas->add_Matrix("fock[OO]{u}");
 
59
  blas->add_Matrix("fock[OV]{u}");
 
60
  blas->add_Matrix("fock[VV]{u}");
 
61
 
 
62
  blas->add_Matrix("fock[vo]{u}");
 
63
  blas->add_Matrix("fock[VO]{u}");
 
64
 
 
65
  // Denominators
 
66
  blas->add_Matrix("d1[o][v]{u}");
 
67
  blas->add_Matrix("d1[O][V]{u}");
 
68
  blas->add_Matrix("d2[oo][vv]{u}");
 
69
  blas->add_Matrix("d2[oO][vV]{u}");
 
70
  blas->add_Matrix("d2[OO][VV]{u}");
 
71
 
 
72
  // Shifted denominators
 
73
  blas->add_Matrix("d'1[o][v]{u}");
 
74
  blas->add_Matrix("d'1[O][V]{u}");
 
75
  blas->add_Matrix("d'2[oo][vv]{u}");
 
76
  blas->add_Matrix("d'2[oO][vV]{u}");
 
77
  blas->add_Matrix("d'2[OO][VV]{u}");
 
78
 
 
79
  // Amplitudes
 
80
  blas->add_Matrix("t1[ov]{u}");
 
81
  blas->add_Matrix("t1[OV]{u}");
 
82
  blas->add_Matrix("t1[o][v]{u}");
 
83
  blas->add_Matrix("t1[O][V]{u}");
 
84
 
 
85
  blas->add_Matrix("t1_delta[o][v]{u}");
 
86
 
 
87
  blas->add_Matrix("t2[oO][vV]{u}");
 
88
  blas->add_Matrix("t2[oo][vv]{u}");
 
89
  blas->add_Matrix("t2[OO][VV]{u}");
 
90
 
 
91
  blas->add_Matrix("t2[ov][ov]{u}");
 
92
  blas->add_Matrix("t2[ov][OV]{u}");
 
93
 
 
94
  blas->add_Matrix("t2[o][ovv]{u}");
 
95
  blas->add_Matrix("t2[o][OvV]{u}");
 
96
  blas->add_Matrix("t2[O][oVv]{u}");
 
97
  blas->add_Matrix("t2[O][OVV]{u}");
 
98
 
 
99
  blas->add_Matrix("t2[v][voo]{u}");
 
100
  blas->add_Matrix("t2[v][VoO]{u}");
 
101
  blas->add_Matrix("t2[V][vOo]{u}");
 
102
  blas->add_Matrix("t2[V][VOO]{u}");
 
103
 
 
104
  blas->add_Matrix("tau[oo][vv]{u}");
 
105
  blas->add_Matrix("tau[oO][vV]{u}");
 
106
  blas->add_Matrix("tau[OO][VV]{u}");
 
107
 
 
108
  blas->add_Matrix("t2_delta[oO][vV]{u}");
 
109
 
 
110
  blas->add_Matrix("tau2[v][voo]{u}");
 
111
  blas->add_Matrix("tau2[v][VoO]{u}");
 
112
  blas->add_Matrix("tau2[V][VOO]{u}");
 
113
  blas->add_Matrix("tau2[V][vOo]{u}");
 
114
 
 
115
  blas->add_Matrix("tau2[o][ovv]{u}");
 
116
  blas->add_Matrix("tau2[o][OvV]{u}");
 
117
  blas->add_Matrix("tau2[O][oVv]{u}");
 
118
  blas->add_Matrix("tau2[O][OVV]{u}");
 
119
 
 
120
  blas->add_Matrix("W_mNiJ[oO][oO]{u}");
 
121
 
 
122
  // Similarity transformed Hamiltonian
 
123
  blas->add_Matrix("t1_eqns[a][a]{u}");
 
124
  blas->add_Matrix("t1_eqns[o][v]{u}");
 
125
  blas->add_Matrix("t1_eqns[O][V]{u}");
 
126
  blas->add_Matrix("t2_eqns[oo][vv]{u}");
 
127
  blas->add_Matrix("t2_eqns[oO][vV]{u}");
 
128
  blas->add_Matrix("t2_eqns[OO][VV]{u}");
 
129
 
 
130
  // F intermediates
 
131
  blas->add_Matrix("F_ae[v][v]{u}");
 
132
  blas->add_Matrix("F_AE[V][V]{u}");
 
133
  blas->add_Matrix("F_mi[o][o]{u}");
 
134
  blas->add_Matrix("F_MI[O][O]{u}");
 
135
  blas->add_Matrix("F_me[o][v]{u}");
 
136
  blas->add_Matrix("F_ME[O][V]{u}");
 
137
  blas->add_Matrix("F_me[ov]{u}");
 
138
  blas->add_Matrix("F_ME[OV]{u}");
 
139
  blas->add_Matrix("F'_mi[o][o]{u}");
 
140
 
 
141
  // MRPT2 Intermediates
 
142
  blas->add_Matrix("ERef{u}");
 
143
  blas->add_Matrix("EPT2{u}");
 
144
  blas->add_Matrix("Eaa{u}");
 
145
  blas->add_Matrix("Ebb{u}");
 
146
  blas->add_Matrix("Eaaaa{u}");
 
147
  blas->add_Matrix("Eabab{u}");
 
148
  blas->add_Matrix("Ebbbb{u}");
 
149
 
 
150
  // A^4
 
151
  blas->add_Matrix("<[aa]|[aa]>");
 
152
  blas->add_Matrix("<[aa]:[aa]>");
 
153
 
 
154
  // A^3O
 
155
  blas->add_Matrix("<[o]|[aaa]>");
 
156
  blas->add_Matrix("<[o]:[aaa]>");
 
157
  blas->add_Matrix("<[oa]|[aa]>");
 
158
 
 
159
  // A^3V
 
160
  blas->add_Matrix("<[v]|[aaa]>");
 
161
  blas->add_Matrix("<[v]:[aaa]>");
 
162
  blas->add_Matrix("<[aa]|[va]>");
 
163
 
 
164
  // A^2O^2
 
165
  blas->add_Matrix("<[oo]|[aa]>");
 
166
  blas->add_Matrix("<[oo]:[aa]>");
 
167
  blas->add_Matrix("<[o]|[aoa]>");
 
168
  blas->add_Matrix("<[o]|[aao]>");
 
169
 
 
170
  // A^2OV
 
171
  blas->add_Matrix("<[aa]|[ov]>");
 
172
  blas->add_Matrix("<[aa]|[vo]>");
 
173
  blas->add_Matrix("<[ov]|[aa]>");
 
174
  blas->add_Matrix("([ov]|[aa])");
 
175
  blas->add_Matrix("([ov]:[aa])");
 
176
  blas->add_Matrix("<[oa]|[va]>");
 
177
  blas->add_Matrix("<[oa]:[va]>");
 
178
  blas->add_Matrix("<[oa]|[av]>");
 
179
  blas->add_Matrix("<[v]|[oav]>");
 
180
  blas->add_Matrix("<[v]|[oaa]>");
 
181
  blas->add_Matrix("<[o]|[vaa]>");
 
182
  blas->add_Matrix("<[ov]|[av]>");
 
183
 
 
184
 
 
185
  // A^2V^2
 
186
  blas->add_Matrix("<[aa]|[vv]>");
 
187
  blas->add_Matrix("<[aa]:[vv]>");
 
188
  blas->add_Matrix("<[v]|[ava]>");
 
189
  blas->add_Matrix("<[v]|[aav]>");
 
190
  blas->add_Matrix("<[ov]:[va]>");
 
191
 
 
192
  // AO^2V
 
193
  blas->add_Matrix("<[a]:[voo]>");
 
194
  blas->add_Matrix("<[a]|[voo]>");
 
195
  blas->add_Matrix("<[o]|[oav]>");
 
196
  blas->add_Matrix("<[o]:[oav]>");
 
197
  blas->add_Matrix("<[o]|[ova]>");
 
198
  blas->add_Matrix("<[oav]:[v]>");
 
199
  blas->add_Matrix("<[ov]|[oa]>");
 
200
  blas->add_Matrix("([ov]|[ao])");
 
201
  blas->add_Matrix("<[oa]:[vo]>");
 
202
  blas->add_Matrix("<[oa]|[vo]>");
 
203
  blas->add_Matrix("<[oa]|[ov]>");
 
204
 
 
205
  // AOV^2
 
206
  blas->add_Matrix("<[a]:[ovv]>");
 
207
  blas->add_Matrix("<[a]|[ovv]>");
 
208
  blas->add_Matrix("<[ao]|[vv]>");
 
209
  blas->add_Matrix("([avo]|[v])");
 
210
  blas->add_Matrix("<[va]|[vv]>");
 
211
  blas->add_Matrix("([ov]|[va])");
 
212
  blas->add_Matrix("<[ov]|[va]>");
 
213
 
 
214
  // Effective Hamiltonian in the active space
 
215
  blas->add_Matrix("Hia[a][a]{u}");
 
216
  blas->add_Matrix("HIA[A][A]{u}");
 
217
  blas->add_Matrix("Hijab[aa][aa]{u}");
 
218
  blas->add_Matrix("HiJaB[aA][aA]{u}");
 
219
  blas->add_Matrix("HIJAB[AA][AA]{u}");
 
220
 
 
221
  blas->add_Matrix("HiJaB[oA][aA]{u}");
 
222
  blas->add_Matrix("HiJaB[aO][aA]{u}");
 
223
  blas->add_Matrix("HiJaB[aA][vA]{u}");
 
224
  blas->add_Matrix("HiJaB[aA][aV]{u}");
 
225
 
 
226
  blas->add_Matrix("t1_ov[a][v]{u}");
 
227
  blas->add_Matrix("t1_OV[A][V]{u}");
 
228
  blas->add_Matrix("t1_ov[o][a]{u}");
 
229
  blas->add_Matrix("t1_OV[O][A]{u}");
 
230
 
 
231
  // Newly added
 
232
  blas->add_Matrix("t2_oovv[ao][av]{u}");
 
233
  blas->add_Matrix("t2_oOvV[aO][aV]{u}");
 
234
  blas->add_Matrix("t2_oOvV[oA][vA]{u}");
 
235
  blas->add_Matrix("t2_OOVV[AO][AV]{u}");
 
236
  blas->add_Matrix("t2_oOvV[oA][aV]{u}");
 
237
  blas->add_Matrix("t2_oOvV[aO][vA]{u}");
 
238
 
 
239
  blas->add_Matrix("t2_oovv[a][ovv]{u}");
 
240
  blas->add_Matrix("t2_oOvV[a][OvV]{u}");
 
241
  blas->add_Matrix("t2_OoVv[A][oVv]{u}");
 
242
  blas->add_Matrix("t2_OOVV[A][OVV]{u}");
 
243
  blas->add_Matrix("t2_oovv[oo][aa]{u}");
 
244
  blas->add_Matrix("t2_oOvV[oO][aA]{u}");
 
245
  blas->add_Matrix("t2_OOVV[OO][AA]{u}");
 
246
  blas->add_Matrix("t2_oovv[aa][vv]{u}");
 
247
  blas->add_Matrix("t2_oOvV[aA][vV]{u}");
 
248
  blas->add_Matrix("t2_OOVV[AA][VV]{u}");
 
249
 
 
250
  blas->add_Matrix("t2_ovov[aa][ov]{u}");
 
251
  blas->add_Matrix("t2_ovov[oa][ov]{u}");
 
252
  blas->add_Matrix("t2_ovov[av][ov]{u}");
 
253
 
 
254
  blas->add_Matrix("t2_ovOV[aa][OV]{u}");
 
255
  blas->add_Matrix("t2_ovOV[oa][OV]{u}");
 
256
  blas->add_Matrix("t2_ovOV[ov][AA]{u}");
 
257
  blas->add_Matrix("t2_ovOV[av][OV]{u}");
 
258
 
 
259
  blas->add_Matrix("t2_oVOv[aA][Ov]{u}");
 
260
  blas->add_Matrix("t2_oVOv[oV][Aa]{u}");
 
261
  blas->add_Matrix("t2_oVOv[oA][Ov]{u}");
 
262
  blas->add_Matrix("t2_oVOv[oV][Av]{u}");
 
263
  blas->add_Matrix("t2_OVOV[AA][OV]{u}");
 
264
 
 
265
  blas->add_Matrix("t2_oovv[ao][vv]{u}");
 
266
 
 
267
  blas->add_Matrix("t2_vvoo[a][voo]{u}");
 
268
  blas->add_Matrix("t2_vVoO[a][VoO]{u}");
 
269
  blas->add_Matrix("t2_VvOo[A][vOo]{u}");
 
270
  blas->add_Matrix("t2_VVOO[A][VOO]{u}");
 
271
 
 
272
  blas->add_Matrix("t2_vvoo[v][aaa]{u}");
 
273
  blas->add_Matrix("t2_vVoO[v][AaA]{u}");
 
274
  blas->add_Matrix("t2_VvOo[V][aAa]{u}");
 
275
  blas->add_Matrix("t2_VVOO[V][AAA]{u}");
 
276
 
 
277
  blas->add_Matrix("t2_oovv[o][aaa]{u}");
 
278
  blas->add_Matrix("t2_oOvV[o][AaA]{u}");
 
279
  blas->add_Matrix("t2_OoVv[O][aAa]{u}");
 
280
  blas->add_Matrix("t2_OOVV[O][AAA]{u}");
 
281
 
 
282
  // T2 A^2O^2
 
283
  blas->add_Matrix("t2_OoVv[O][oAa]{u}");
 
284
 
 
285
  // T2 A^2OV
 
286
  blas->add_Matrix("t2_vVoO[v][AoA]{u}");
 
287
  blas->add_Matrix("t2_VvOo[V][aAo]{u}");
 
288
  blas->add_Matrix("t2_VvOo[V][vAa]{u}");
 
289
 
 
290
  blas->add_Matrix("fock[o][a]{u}");
 
291
  blas->add_Matrix("fock[O][A]{u}");
 
292
  blas->add_Matrix("fock[a][a]{u}");
 
293
  blas->add_Matrix("fock[a][v]{u}");
 
294
  blas->add_Matrix("fock[A][V]{u}");
 
295
  blas->add_Matrix("fock[A][A]{u}");
 
296
  blas->add_Matrix("fock[aa]{u}");
 
297
  blas->add_Matrix("fock[AA]{u}");
 
298
 
 
299
  blas->add_Matrix("F_ae[a][v]{u}");
 
300
  blas->add_Matrix("F_AE[A][V]{u}");
 
301
  blas->add_Matrix("F'_ae[a][v]{u}");
 
302
  blas->add_Matrix("F'_AE[A][V]{u}");
 
303
 
 
304
  // Off-diagonal Fock matrices
 
305
  blas->add_Matrix("offdiagonal_F[v][v]{u}");
 
306
  blas->add_Matrix("offdiagonal_F[o][o]{u}");
 
307
 
 
308
  blas->add_Matrix("F_ae[a][v]{u}");
 
309
  blas->add_Matrix("F_AE[A][V]{u}");
 
310
  blas->add_Matrix("F'_ae[v][v]{u}");
 
311
  blas->add_Matrix("F'_ae[a][v]{u}");
 
312
  blas->add_Matrix("F'_AE[A][V]{u}");
 
313
  blas->add_Matrix("F'_mi[o][a]{u}");
 
314
  blas->add_Matrix("F'_MI[O][A]{u}");
 
315
 
 
316
  blas->add_Matrix("tau_oOvV[oO][aA]{u}");
 
317
  blas->add_Matrix("tau_oOvV[aA][vV]{u}");
 
318
  blas->add_Matrix("tau_oOVv[aA][Vv]{u}");
 
319
  blas->add_Matrix("tau_oOvV[oA][vV]{u}");
 
320
  blas->add_Matrix("tau_oOvV[oO][vA]{u}");
 
321
  blas->add_Matrix("tau_oOVv[oA][Vv]{u}");
 
322
 
 
323
  blas->add_Matrix("tau3_ovov[aa][ov]{u}");
 
324
  blas->add_Matrix("tau3_ovov[oa][ov]{u}");
 
325
  blas->add_Matrix("tau3_ovov[av][ov]{u}");
 
326
  blas->add_Matrix("tau3_oVvO[aA][vO]{u}");
 
327
  blas->add_Matrix("tau3_oVvO[oA][vO]{u}");
 
328
  blas->add_Matrix("tau3_oVvO[aV][vO]{u}");
 
329
 
 
330
  blas->add_Matrix("t2_oovv[ao][va]{u}");
 
331
  blas->add_Matrix("t2_oovv[oo][va]{u}");
 
332
 
 
333
  blas->add_Matrix("t2_oOvV[aO][vA]{u}");
 
334
  blas->add_Matrix("t2_oOvV[oO][vA]{u}");
 
335
  blas->add_Matrix("t2_oOvV[o][AvA]{u}");
 
336
  blas->add_Matrix("t2_oOvV[aO][vV]{u}");
 
337
 
 
338
  blas->add_Matrix("t2_OoVv[O][aAv]{u}");
 
339
 
 
340
 
 
341
  blas->add_Matrix("W_mNiJ[oO][aA]{u}");
 
342
  blas->add_Matrix("W_mNiJ[oO][oA]{u}");
 
343
 
 
344
  blas->add_Matrix("W_jbme[aa][ov]{u}");
 
345
  blas->add_Matrix("W_jbme[oa][ov]{u}");
 
346
  blas->add_Matrix("W_jbme[av][ov]{u}");
 
347
 
 
348
  blas->add_Matrix("W_jbME[aa][OV]{u}");
 
349
  blas->add_Matrix("W_jbME[oa][OV]{u}");
 
350
  blas->add_Matrix("W_jbME[av][OV]{u}");
 
351
 
 
352
  blas->add_Matrix("W_jBmE[aA][oV]{u}");
 
353
  blas->add_Matrix("W_jBmE[oA][oV]{u}");
 
354
  blas->add_Matrix("W_jBmE[aV][oV]{u}");
 
355
 
 
356
  blas->add_Matrix("Z_iJaM[aAa][O]{u}");
 
357
  blas->add_Matrix("Z_iJAm[aAA][o]{u}");
 
358
  blas->add_Matrix("Z_iJaM[oAa][O]{u}");
 
359
  blas->add_Matrix("Z_iJAm[oAA][o]{u}");
 
360
  blas->add_Matrix("Z_iJaM[aAv][O]{u}");
 
361
 
 
362
  blas->add_Matrix("t1t1_iame[aa][ov]{u}");
 
363
  blas->add_Matrix("t1t1_iame[oa][ov]{u}");
 
364
  blas->add_Matrix("t1t1_iame[av][ov]{u}");
 
365
  blas->add_Matrix("t1t1_IAME[AA][OV]{u}");
 
366
  blas->add_Matrix("t1t1_iAMe[aA][Ov]{u}");
 
367
  blas->add_Matrix("t1t1_iAMe[oV][Aa]{u}");
 
368
  blas->add_Matrix("t1t1_iAMe[oA][Ov]{u}");
 
369
  blas->add_Matrix("t1t1_iAMe[oV][Av]{u}");
 
370
 
 
371
}
 
372
 
 
373
}} /* End Namespaces */