擅长:python、mysql、java
<p>当涉及到将这个答案应用于qutip时,Jojo的答案是不完整的。在</p>
<h2>Qutip特定问题</h2>
<p>关于qutip最令人困惑的部分是它需要一个(4,4)的形状,但是量子维数是<code>[[2,2],[2,2]]</code>。
这会导致错误消息,如形状正确,量子尺寸错误:</p>
<pre><code>>>> import qutip as q
>>> s1 = q.ket2dm(q.ghz_state(2))
>>> s2 = q.maximally_mixed_dm(4).data.toarray().reshape((4,4))
>>> s1+s2
TypeError: Incompatible quantum object dimensions
</code></pre>
<p>或者,如果量子维度被接受,内部形状是错误的:</p>
^{pr2}$
<h2>Qutip特定转换</h2>
<p>解决方案是将正确的形状(4,4)重新转换为正确的量子维度<code>[[2,2],[2,2]]</code>:</p>
<pre><code>s2 = q.Qobj(q.maximally_mixed_dm(4).data.toarray().reshape((4,4)),
dims=[[2,2],[2,2]])
</code></pre>
<p>不幸的是,我目前在qutip中没有看到这样的实现,但是这个通过numpy的“变通方法”有效。在</p>