如何提示 Sympy 逆高斯方程的积分
How to hint Sympy an integration for Inverse Gaussian equation
逆高斯 PDF 的符号积分适用于 Wolfram Alpha
https://www.wolframalpha.com/input/?i=x%5E(-3%2F2)*exp(-Bx-A%2Fx)
但我无法使用 Sympy 重现它(它永远没有响应):
from __future__ import division
from sympy import *
A, B, x = symbols('A B x')
ig_pdf = (sqrt(x)**(-3))*exp(-B*x-A/x)
pprint(ig_pdf, use_unicode=True)
ig_cdf = integrate(ig_pdf, x, conds='none')
pprint(ig_cdf, use_unicode=True)
有没有办法让它工作并产生封闭形式的集成?
我如何提示 Sympy 使用特定的集成规则,例如 "integration by parts"?
根据这里的要求,我的评论作为答案。
我假设 sympy (还) 不能解决这个积分问题。将 A, B, x = symbols('A B x', real=True)
分配为实际变量并不能解决问题。 sympy 在简单地返回积分之前计算了大约 40 分钟,而不是解决方案。通过使用 ig_cdf = sym.integrals.Integral(ig_pdf, x)
而不是积分,可以更快地实现相同的输出。使用 sympy 版本 1.1.1、python 3.6.2
进行测试
逆高斯 PDF 的符号积分适用于 Wolfram Alpha https://www.wolframalpha.com/input/?i=x%5E(-3%2F2)*exp(-Bx-A%2Fx)
但我无法使用 Sympy 重现它(它永远没有响应):
from __future__ import division
from sympy import *
A, B, x = symbols('A B x')
ig_pdf = (sqrt(x)**(-3))*exp(-B*x-A/x)
pprint(ig_pdf, use_unicode=True)
ig_cdf = integrate(ig_pdf, x, conds='none')
pprint(ig_cdf, use_unicode=True)
有没有办法让它工作并产生封闭形式的集成? 我如何提示 Sympy 使用特定的集成规则,例如 "integration by parts"?
根据这里的要求,我的评论作为答案。
我假设 sympy (还) 不能解决这个积分问题。将 A, B, x = symbols('A B x', real=True)
分配为实际变量并不能解决问题。 sympy 在简单地返回积分之前计算了大约 40 分钟,而不是解决方案。通过使用 ig_cdf = sym.integrals.Integral(ig_pdf, x)
而不是积分,可以更快地实现相同的输出。使用 sympy 版本 1.1.1、python 3.6.2