我试着用qutip来定义一个胸罩。bra是行向量,ket是列向量。胸罩可以被定义为一种共轭转置。但是,如果我在qutip中直接使用此定义指定bra,则始终会发出警告,并且无法形成bra向量
这是我的密码:
import qutip
from math import sqrt
import numpy as np
#probability amplitude of two dice rolled 12 times
probability_amplitudes = np.array(
[[1/6],
[sqrt(2)/6],
[sqrt(3)/6],
[2/6],
[sqrt(5)/6],
[sqrt(6)/6],
[sqrt(5)/6],
[2/6],
[sqrt(3)/6],
[sqrt(2)/6],
[1/6],
])
#ket is column vector
ket_psi = qutip.Qobj(probability_amplitudes)
#bra is conjugate transpose of ket so, it's a row vectorA
row_vector = probability_amplitudes.transpose
bra_psi = qutip.Qobj(row_vector).conj()
print(ket_psi)
print(bra_psi)
我的问题是,为什么会发生这种情况?在qutip中指定胸罩的最佳实践是什么
事实证明,我忘了将NumPy数组转置指定为一种方法。在转置后添加“()”解决了这个问题。我很抱歉发布这样一个恼人的问题,但我花了3个小时才意识到这一点
这是我加上“()”后的结果
但我仍然想学习在qutip中指定文胸的最佳实践,所以,这个问题仍然对任何试图回答的人开放。我愿意接受任何有助于改进的建议。多谢各位
相关问题 更多 >
编程相关推荐