gpt4 book ai didi

python - Python 中的重叠积分 - 将结果存储在数组中

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:37 25 4
gpt4 key购买 nike

我有一组基本函数定义为:

def HO_wavefunction(x, n, x0, omega, m=1):       
N = 1.0 / math.sqrt(2**n * math.factorial(n)) * ((m * omega)/(math.pi))**(0.25) # Normaliziation constant
y = (np.sqrt(m * omega)) * (x - x0)
return N * np.exp(-y * y / 2.0) * sp.hermite(n)(y)

#Define the basis
def enol_basis(x, n):
return HO_wavefunction(x, n, x0=Enolminx, omega=wenol)

我现在想要计算重叠积分 Sii =积分((SiSi)dx)、Sjj = 积分((SjSj)dx) 和 Sij = 积分((Si*Sj)dx )我的基本函数并将它们存储在某种类型的数组中。我尝试了以下方法:

G = 10
S = np.empty([G,G])

for n in range (G-1):
for m in range (G-1):
S[n][m]= np.trapz(enol_basis(x,n)*enol_basis(x,m),x)
print (S[n][m])

这仅返回单个值,而不是存储在数组中的所有结果。如果有人可以帮助我计算上面定义的重叠积分并将结果存储在数组中,我将非常感激!

最佳答案

解决方案:

G = 50
S = np.zeros([G,G])

for n in range (G):
for m in range (G):
S[n,m]= np.trapz(enol_basis(x,n)*enol_basis(x,m),x)
print (S)

关于python - Python 中的重叠积分 - 将结果存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40292452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com