如何在 Python 中获取数组的虚部(或实部)?

发布于 2025-01-13 03:30:19 字数 569 浏览 0 评论 0原文

我的 N 量子位波函数有问题。我尝试准备一个状态 psi = a|0> + b*exp(2i\pi\theta)|1>,我想检查 b*exp(2i\pi\theta) 的值是否分布良好。

这是我得到波函数的方法:

N = 100
psi = np.full([100, 2], None)
for i in range(N) :
x = np.random.random()
y = y = np.exp(2j*np.pi*np.random.random())*np.sqrt(1-x**2)
psi[i] = [x,y]

然后我用这条线得到一个只有 y 的数组,并尝试将它们绘制在复平面上:

psi2 = psi[:,1]
plt.plot(psi2.real,psi2.imag)

我无法理解为什么它不绘制虚部,我只是得到:

复平面中 psi2 的结果

I have trouble with my N qubit wavefunction. I try to prepare a state psi = a|0> + b*exp(2i\pi\theta)|1>, and I wanted to check if the values for b*exp(2i\pi\theta) were well distributed.

Here is how I got my wavefunction :

N = 100
psi = np.full([100, 2], None)
for i in range(N) :
x = np.random.random()
y = y = np.exp(2j*np.pi*np.random.random())*np.sqrt(1-x**2)
psi[i] = [x,y]

I then used this line to get an array with only the y's and tried to plot them on the complex plane :

psi2 = psi[:,1]
plt.plot(psi2.real,psi2.imag)

I can't grasp why it doesn't plot the imaginary part and I just get :

Result of psi2 in the complex plane

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

念三年u 2025-01-20 03:30:19

您需要使输出数组 psi “复杂感知”。一个简单的方法是用复杂的值而不是 None 对象填充它:

psi = np.full([100, 2], None)
print(psi.dtype)
# object  ... not good

psi = np.full([100, 2], 0j)
print(psi.dtype)
# complex128   ... numpy inferred the complex data type for psi

现在 .real.imag 属性应该按预期工作。

plt.plot(psi2[:,1].real,psi2[:,1].imag, '.')

输入图片此处描述

You need to make the output array psi "complex aware". An easy way is to fill it with complex values instead of None objects:

psi = np.full([100, 2], None)
print(psi.dtype)
# object  ... not good

psi = np.full([100, 2], 0j)
print(psi.dtype)
# complex128   ... numpy inferred the complex data type for psi

Now the .real and .imag attributes should work as expected.

plt.plot(psi2[:,1].real,psi2[:,1].imag, '.')

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文