2015-05-13 25 views
1

今天我開始使用sympy及其量子模塊來實現Bra-Ket表示法中的一些基本計算。Sympy:從量子模塊中擴展涉及Kets的總和

執行代碼:

from sympy.physics.quantum import * 
from sympy.physics.quantum.qubit import * 
from sympy import * 
from sympy.abc import k 

print Sum(Ket(k),(k,0,5)) 

產生預期的結果,即,Sum(|k>, (k, 0, 5))被打印。

現在,我想擴大的總和,因此寫:

print Sum(Ket(k),(k,0,5)).doit() 

不過,這並不能給出正確的結果,但打印出6*|k>這顯然是不期望的輸出。顯然,該程序不會識別Ket(k),因爲取決於索引k

我該如何解決或解決此問題?

回答

0

看起來像一個錯誤。你可以通過sympy之外的和來解決這個問題,使用標準的Python函數如sum(Ket(i) for i in range(6))