@@ -54,17 +54,14 @@ def t2bar_oovv_adc2(exci, g1a_adc0):
5454 )
5555 return t2bar
5656
57+
5758def t2bar_oovv_cvs_adc2 (exci , g1a_adc0 ):
5859 mp = exci .ground_state
5960 hf = mp .reference_state
60- u = exci .excitation_vector
6161 df_ia = mp .df (b .ov )
62- t2bar = 0.5 * (
62+ t2bar = 0.5 * (
6363 - einsum ("ijcb,ac->ijab" , hf .oovv , g1a_adc0 .vv ).antisymmetrise ((2 , 3 ))
64- ) / (
65- direct_sum ("ia+jb->ijab" , df_ia , df_ia ).symmetrise ((0 , 1 ))
66- )
67-
64+ ) / direct_sum ("ia+jb->ijab" , df_ia , df_ia ).symmetrise ((0 , 1 ))
6865 return t2bar
6966
7067
@@ -78,6 +75,7 @@ def ampl_relaxed_dms_adc1(exci):
7875 g2a .ovov = - 1.0 * einsum ("ja,ib->iajb" , u .ph , u .ph )
7976 return g1a , g2a
8077
78+
8179def ampl_relaxed_dms_adc0 (exci ):
8280 hf = exci .reference_state
8381 u = exci .excitation_vector
@@ -89,6 +87,7 @@ def ampl_relaxed_dms_adc0(exci):
8987 g1a .vv = + 1.0 * einsum ("ia,ib->ab" , u .ph , u .ph )
9088 return g1a , g2a
9189
90+
9291def ampl_relaxed_dms_cvs_adc0 (exci ):
9392 hf = exci .reference_state
9493 u = exci .excitation_vector
@@ -100,6 +99,7 @@ def ampl_relaxed_dms_cvs_adc0(exci):
10099 g1a .vv = + 1.0 * einsum ("Ia,Ib->ab" , u .ph , u .ph )
101100 return g1a , g2a
102101
102+
103103def ampl_relaxed_dms_cvs_adc1 (exci ):
104104 hf = exci .reference_state
105105 u = exci .excitation_vector
@@ -118,6 +118,7 @@ def ampl_relaxed_dms_cvs_adc1(exci):
118118 g1a .co = - 1.0 * einsum ('JbKc,ibKc->Ji' , g2a .cvcv , hf .ovcv ) / fco
119119 return g1a , g2a
120120
121+
121122def ampl_relaxed_dms_cvs_adc2 (exci ):
122123 hf = exci .reference_state
123124 mp = exci .ground_state
@@ -139,10 +140,9 @@ def ampl_relaxed_dms_cvs_adc2(exci):
139140 - 0.5 * einsum ('kIab,kJab->IJ' , t2ocvv , t2ocvv )
140141 )
141142
142- g1a .oo = (
143+ g1a .oo = (
143144 - 1.0 * einsum ("jKba,iKba->ij" , u .pphh , u .pphh )
144145 - 2.0 * einsum ("ikab,jkab->ij" , t2bar , t2oovv ).symmetrise ((0 , 1 ))
145- #- 1.0 * einsum('jkab,ikab->ij', t2oovv, t2bar)
146146 - 0.5 * einsum ('iKab,jKab->ij' , t2ocvv , t2ocvv )
147147 - 0.5 * einsum ('ikab,jkab->ij' , t2oovv , t2oovv )
148148 )
@@ -157,7 +157,6 @@ def ampl_relaxed_dms_cvs_adc2(exci):
157157 + 1.0 * einsum ("Ia,Ib->ab" , u .ph , u .ph )
158158 + 2.0 * einsum ('jIcb,jIca->ab' , u .pphh , u .pphh )
159159 + 2.0 * einsum ('ijac,ijbc->ab' , t2bar , t2oovv ).symmetrise ((0 , 1 ))
160- #+ 1.0 * einsum('ijbc,ijac->ab', t2bar, t2oovv)
161160 + 0.5 * einsum ('IJac,IJbc->ab' , t2ccvv , t2ccvv )
162161 + 0.5 * einsum ('ijac,ijbc->ab' , t2oovv , t2oovv )
163162 + 1.0 * einsum ('iJac,iJbc->ab' , t2ocvv , t2ocvv )
@@ -169,32 +168,29 @@ def ampl_relaxed_dms_cvs_adc2(exci):
169168
170169 # The factor 1/sqrt(2) is needed because of the scaling used in adcc
171170 # for the ph-pphh blocks.
172- g2a .occv = (1 / sqrt (2 )) * (
173- 2.0 * einsum ('Ib,kJba->kJIa' , u .ph , u .pphh )
174- #- einsum('Ib,kJab->kJIa', u.ph, u.pphh)
171+ g2a .occv = (1 / sqrt (2 )) * (
172+ 2.0 * einsum ('Ib,kJba->kJIa' , u .ph , u .pphh )
175173 )
176174
177175 g2a .oovv = (
178176 + 1.0 * einsum ('ijcb,ca->ijab' , t2oovv , g1a_cvs0 .vv ).antisymmetrise ((2 , 3 ))
179- #- 0.5 * einsum('ijca,cb->ijab', t2oovv, g1a_cvs0.vv)
180177 - 1.0 * t2oovv
181178 - 2.0 * t2bar
182179 )
183180
184181 # The factor 2/sqrt(2) is necessary because of the way
185182 # that the ph-pphh is scaled.
186- g2a .ovvv = (2 / sqrt (2 ) ) * (
183+ g2a .ovvv = (2 / sqrt (2 )) * (
187184 einsum ('Ja,iJcb->iabc' , u .ph , u .pphh )
188185 )
189-
190- g2a .ccvv = - t2ccvv
191-
192- g2a .ocvv = - t2ocvv
186+
187+ g2a .ccvv = - 1.0 * t2ccvv
188+ g2a .ocvv = - 1.0 * t2ocvv
193189
194190 # This is the OC block of the orbital response
195191 # Lagrange multipliers (lambda):
196192 g1a .co = (
197- - 1.0 * einsum ('JbKc,ibKc->Ji' , g2a .cvcv , hf .ovcv )
193+ - 1.0 * einsum ('JbKc,ibKc->Ji' , g2a .cvcv , hf .ovcv )
198194 - 0.5 * einsum ('JKab,iKab->Ji' , g2a .ccvv , hf .ocvv )
199195 + 1.0 * einsum ('kJLa,ikLa->Ji' , g2a .occv , hf .oocv )
200196 + 0.5 * einsum ('kJab,ikab->Ji' , g2a .ocvv , hf .oovv )
@@ -205,9 +201,9 @@ def ampl_relaxed_dms_cvs_adc2(exci):
205201 + 0.5 * einsum ('iabc,Jabc->Ji' , g2a .ovvv , hf .cvvv )
206202 ) / fco
207203
208-
209204 return g1a , g2a
210205
206+
211207def ampl_relaxed_dms_cvs_adc2x (exci ):
212208 hf = exci .reference_state
213209 mp = exci .ground_state
@@ -229,10 +225,9 @@ def ampl_relaxed_dms_cvs_adc2x(exci):
229225 - 0.5 * einsum ('kIab,kJab->IJ' , t2ocvv , t2ocvv )
230226 )
231227
232- g1a .oo = (
228+ g1a .oo = (
233229 - 1.0 * einsum ("jKba,iKba->ij" , u .pphh , u .pphh )
234230 - 2.0 * einsum ("ikab,jkab->ij" , t2bar , t2oovv ).symmetrise ((0 , 1 ))
235- #- 1.0 * einsum('jkab,ikab->ij', t2oovv, t2bar) # use symmetrize?
236231 - 0.5 * einsum ('iKab,jKab->ij' , t2ocvv , t2ocvv )
237232 - 0.5 * einsum ('ikab,jkab->ij' , t2oovv , t2oovv )
238233 )
@@ -247,7 +242,6 @@ def ampl_relaxed_dms_cvs_adc2x(exci):
247242 + 1.0 * einsum ("Ia,Ib->ab" , u .ph , u .ph )
248243 + 2.0 * einsum ('jIcb,jIca->ab' , u .pphh , u .pphh )
249244 + 2.0 * einsum ('ijac,ijbc->ab' , t2bar , t2oovv ).symmetrise ((0 , 1 ))
250- #+ 1.0 * einsum('ijbc,ijac->ab', t2bar, t2oovv)
251245 + 0.5 * einsum ('IJac,IJbc->ab' , t2ccvv , t2ccvv )
252246 + 0.5 * einsum ('ijac,ijbc->ab' , t2oovv , t2oovv )
253247 + 1.0 * einsum ('iJac,iJbc->ab' , t2ocvv , t2ocvv )
@@ -256,49 +250,39 @@ def ampl_relaxed_dms_cvs_adc2x(exci):
256250 g2a .cvcv = (
257251 - 1.0 * einsum ("Ja,Ib->IaJb" , u .ph , u .ph )
258252 - 1.0 * einsum ('kIbc,kJac->IaJb' , u .pphh , u .pphh )
259- #- 0.5 * einsum('kIcb,kJca->IaJb', u.pphh, u.pphh)
260253 + 1.0 * einsum ('kIcb,kJac->IaJb' , u .pphh , u .pphh )
261- #+ 0.5 * einsum('kIbc,kJca->IaJb', u.pphh, u.pphh)
262254 )
263255
264256 # The factor 1/sqrt(2) is needed because of the scaling used in adcc
265257 # for the ph-pphh blocks.
266- g2a .occv = (1 / sqrt (2 )) * (
267- 2.0 * einsum ('Ib,kJba->kJIa' , u .ph , u .pphh )
268- #- einsum('Ib,kJab->kJIa', u.ph, u.pphh)
258+ g2a .occv = (1 / sqrt (2 )) * (
259+ 2.0 * einsum ('Ib,kJba->kJIa' , u .ph , u .pphh )
269260 )
270261
271262 g2a .oovv = (
272263 + 1.0 * einsum ('ijcb,ca->ijab' , t2oovv , g1a_cvs0 .vv ).antisymmetrise ((2 , 3 ))
273- #- 0.5 * einsum('ijca,cb->ijab', t2oovv, g1a_cvs0.vv)
274264 - 1.0 * t2oovv
275265 - 2.0 * t2bar
276266 )
277267
278- # The factor 2/sqrt(2) is necessary because of
268+ # The factor 2/sqrt(2) is necessary because of
279269 # the way that the ph-pphh is scaled
280270 g2a .ovvv = (2 / sqrt (2 )) * (
281271 einsum ('Ja,iJcb->iabc' , u .ph , u .pphh )
282272 )
283273
284274 g2a .ovov = 1.0 * (
285275 - einsum ("iKbc,jKac->iajb" , u .pphh , u .pphh )
286- #- einsum("iKcb,jKca->iajb", u.pphh, u.pphh)
287276 + einsum ("iKcb,jKac->iajb" , u .pphh , u .pphh )
288- #+ einsum("iKbc,jKca->iajb", u.pphh, u.pphh)
289277 )
290-
291- g2a .ccvv = - t2ccvv
292-
293- g2a .ocvv = - t2ocvv
294278
279+ g2a .ccvv = - 1.0 * t2ccvv
280+ g2a .ocvv = - 1.0 * t2ocvv
295281 g2a .ococ = 1.0 * einsum ("iJab,kLab->iJkL" , u .pphh , u .pphh )
296-
297282 g2a .vvvv = 2.0 * einsum ("iJcd,iJab->abcd" , u .pphh , u .pphh )
298283
299- # These are the OC multipliers:
300284 g1a .co = (
301- - 1.0 * einsum ('JbKc,ibKc->Ji' , g2a .cvcv , hf .ovcv )
285+ - 1.0 * einsum ('JbKc,ibKc->Ji' , g2a .cvcv , hf .ovcv )
302286 - 0.5 * einsum ('JKab,iKab->Ji' , g2a .ccvv , hf .ocvv )
303287 + 1.0 * einsum ('kJLa,ikLa->Ji' , g2a .occv , hf .oocv )
304288 + 0.5 * einsum ('kJab,ikab->Ji' , g2a .ocvv , hf .oovv )
@@ -307,7 +291,7 @@ def ampl_relaxed_dms_cvs_adc2x(exci):
307291 + 0.5 * einsum ('iKab,JKab->Ji' , g2a .ocvv , hf .ccvv )
308292 - 0.5 * einsum ('ikab,kJab->Ji' , g2a .oovv , hf .ocvv )
309293 + 0.5 * einsum ('iabc,Jabc->Ji' , g2a .ovvv , hf .cvvv )
310- + 1.0 * einsum ('kJmL,ikmL->Ji' , g2a .ococ , hf .oooc )
294+ + 1.0 * einsum ('kJmL,ikmL->Ji' , g2a .ococ , hf .oooc )
311295 - 1.0 * einsum ('iKlM,JKMl->Ji' , g2a .ococ , hf .ccco )
312296 + 1.0 * einsum ('iakb,kbJa->Ji' , g2a .ovov , hf .ovcv )
313297 ) / fco
@@ -369,7 +353,7 @@ def ampl_relaxed_dms_mp2(mp):
369353 "cvs-adc0" : ampl_relaxed_dms_cvs_adc0 ,
370354 "cvs-adc1" : ampl_relaxed_dms_cvs_adc1 ,
371355 "cvs-adc2" : ampl_relaxed_dms_cvs_adc2 ,
372- "cvs-adc2x" : ampl_relaxed_dms_cvs_adc2x ,
356+ "cvs-adc2x" : ampl_relaxed_dms_cvs_adc2x ,
373357}
374358
375359
0 commit comments