如何在 Python 中直观地表示多量子比特系统?

How to visually represent multi-qubit system in Python?

我试图直观地显示 3 量子位系统在对它执行特定 algorithim/gate 之前和之后的比较。

例如阿达玛门前后的3个量子比特系统

psi =   1|000> + 1|001> 

Hadamard 3-Qubit 矩阵

H =     [[ 0.3536  0.3536  0.3536  0.3536  0.3536  0.3536  0.3536  0.3536]
        [ 0.3536 -0.3536  0.3536 -0.3536  0.3536 -0.3536  0.3536 -0.3536]
        [ 0.3536  0.3536 -0.3536 -0.3536  0.3536  0.3536 -0.3536 -0.3536]
        [ 0.3536 -0.3536 -0.3536  0.3536  0.3536 -0.3536 -0.3536  0.3536]
        [ 0.3536  0.3536  0.3536  0.3536 -0.3536 -0.3536 -0.3536 -0.3536]
        [ 0.3536 -0.3536  0.3536 -0.3536 -0.3536  0.3536 -0.3536  0.3536]
        [ 0.3536  0.3536 -0.3536 -0.3536 -0.3536 -0.3536  0.3536  0.3536]
        [ 0.3536 -0.3536 -0.3536  0.3536 -0.3536  0.3536  0.3536 -0.3536]]


output = psi*H =    [[ 0.7071]
                     [ 0.    ]
                     [ 0.7071]
                     [ 0.    ]
                     [ 0.7071]
                     [ 0.    ]
                     [ 0.7071]
                     [ 0.    ]]

这可以用 ket 表示法写成:

0.70711|000> + 0.70711|010> + 0.70711|100> + 0.70711|110>

我最初考虑使用 Bloch 球体,但很快意识到 Bloch 球体仅适用于单个量子比特系统。

我遇到了 Python 的 Quantum 工具箱、QuTiP 或特别是这个关于可视化的页面 (http://qutip.org/docs/2.2.0/guide/guide-visualization.html),但我很困惑这如何适用于我想要实现的目标或者这些可视化揭示了系统的哪些信息?

在这个例子中,我的问题是什么是可视化或展示应用 Hadamard 门之前和之后量子系统发生的变化的最佳方法?

关于量子computing/qubits我还是个初学者,所以欢迎任何建议!

事实上很难以几何方式形象化 multi-qubit 系统。原因是对于 multi-qubit 系统,布洛赫球面图的等价物通常非常复杂。您问题中的 link 提供了一种使用我们从状态密度矩阵获得的概率分布来可视化状态的方法。这是查看 multi-qubit 系统的好方法,如果您有兴趣了解一旦确定了测量基础后概率如何变化。

或者您可以查看此 quantum circuit visualization tool。它显示了应用电路后各种碱基的振幅如何变化。如果系统像您的情况那样只有很少的量子位,它会很好地工作