@@ -113,16 +113,15 @@ def cal_coef(self,Q,S):
113113
114114
115115
116- def cal_V (self ,Q ,S ):
116+ def cal_V (self ,coef ,Q ):
117+ # coef[ib,it*il*ia*im*iu]
118+ # Q[ib,it*il*ia*im*iu]
117119 """
118120 <\psi|\psi> = <\psi|\phi> * <\phi|\phi>^{-1} * <\phi|psi>
119121 V[ib1,ib2]
120122 = sum_{it1,ia1,il1,im1,iu1} sum_{it2,ia2,il2,im2,iu2}
121123 Q[ib1,it1*il1*ia1*im1*iu1] * S{[it1*il1*iat*im1*iu1,iat2*il2*ia2*im2*iu2]}^{-1} * Q[ib2,it2*il2*ia2*im2*iu2]
122124 """
123- coef = self .cal_coef (Q ,S ) # coef[ib,it*il*ia*im*iu]
124-
125- # V[ib1,ib2]
126125 V = torch_complex .mm ( coef , Q .t ().conj () ).real
127126 return V
128127
@@ -139,15 +138,15 @@ def cal_V_origin(self,V,V_info):
139138 return V_origin
140139
141140
142- def cal_V_linear (self ,Q ,S ,Q_linear ,S_linear ,V ,V_info ):
143- # Q[ib,it*il*ia*im*iu]
144- # S[it1*il1*iat*im1*iu1,iat2*il2*ia2*im2*iu2]
141+ def cal_V_linear (self ,coef ,Q_linear ,S_linear ,V ,V_info ):
142+ # coef[ib,it*il*ia*im*iu]
143+ # Q_linear[ib,it*il*ia*im*iu]
144+ # S_linear[it1*il1*iat*im1*iu1,iat2*il2*ia2*im2*iu2]
145+ # V[ib1,ib2]
145146 """
146147 V_linear[ib]
147148 V_linear[ib1,ib2]
148- """
149- coef = self .cal_coef (Q ,S ) # coef[ib,it*il*ia*im*iu]
150-
149+ """
151150 V_linear_1 = coef .mm (S_linear ).mm (coef .t ().conj ()).real
152151 V_linear_2 = Q_linear .mm (coef .t ().conj ()).real
153152 V_linear_3 = coef .mm (Q_linear .t ().conj ()).real
0 commit comments