def __newlambdagammaC(self, theta, l):
""" Apply Eqns. 25-27 in Vidal 2003 to update lambda^C and gamma^C
(lambda and gamma of this qbit).
"""
gamma_ket = self.coefs[l+1].lam
gamma_bra = np.conjugate(gamma_ket)
Gamma_star = np.conjugate(self.coefs[l+1].gamma)
inputs = [Gamma_star, theta, gamma_bra, gamma_ket]
Gamma_star_idx = [1, -3, -2]
theta_idx = [-1, 1, -4, -5]
gamma_bra_idx = [-6]
gamma_ket_idx = [-7]
idx = [Gamma_star_idx, theta_idx, gamma_bra_idx, gamma_ket_idx]
contract_me = scon(inputs, idx)
svd_me = np.einsum('agibggg', contract_me)
evals, evecs = la.eigh(svd_me)
return evals, evecs
评论列表
文章目录