我正在使用遇到问题的python SymPy软件包进行作业。

假设集成一个功能

    psi1=A*exp(k1*x)


从负无穷大到固定点a;除非声明k1为正,否则积分功能不会给出确切的结果。
简单的解决方案是在使用正数之前将正数= True放入参数中,即

    Symbol(k0,positive=True).


但是,我遇到了另一套名为assumptions module的函数

Assumptions moduleAssuming functions是安静的幂语法。但是问题是,如果我在上述方法中声明k1为正,即

 global_assumptions.add(Q.positive(k1))


要么

 with assuming(Q.positive(k1)):


整合

 integrate(psi1,(x,-oo,a))


不会计算出确切的结果。我尝试使用.evalf(),但仍然无法正常工作。

最佳答案

"new" assumptions module尚未(尚未)与SymPy的其余部分集成,因此对其进行假设不会影响您的计算。

在符号创建时将假设放置在符号上,例如Symbol(k0, positive=True),是目前SymPy使用该假设的唯一方法。

关于python - 假设功能未完全集成在SymPy中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49398913/

10-12 18:41