Sympy:将“传播”共轭成和

时间:2019-01-09 08:48:51

标签: sympy

有没有办法将共轭“传播”到总和中?

from sympy import *

k = symbols('k', cls=Idx)
K = symbols('K', type=Integer)
g = IndexedBase('g')
omega = symbols('\omega', real=True)

s = summation(exp(I*omega*k)*g[k], (k,0,K))
sconj=s.conjugate()

现在sconj

Summation with conjugate

如何将该表达式转换为下面的表达式?也就是说,将共轭应用于术语而不是总和。

Summation with conjugate of the terms

(我当然可以通过在创建求和时采用这些词的共轭来获得

summation((exp(I*omega*k)*g[k]).conjugate(), (k,0,K))

但请考虑一下一般情况,这可能并不那么简单。

1 个答案:

答案 0 :(得分:1)

以防万一有人遇到这个问题。

需要将求和范围设置为Real,因此将K的定义更改为

K = symbols('K', type=Integer, real=True)

成功了!