2015-05-13 19 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))