"ufunc 'hyp2f1' not supported for the input types" 错误

"ufunc 'hyp2f1' not supported for the input types" error

当我尝试运行以下代码时:

    import math
    from scipy import special as spec    
    import numpy as np
    from sympy import *

    y = Symbol('y')
    x = spec.hyp2f1(1.5, 2.5, 1, y**2)
    ans = x.diff(y)
    print ans

我收到错误:

Traceback (most recent call last):
  File "calc.py", line 74, in <module>
    x = spec.hyp2f1(1.5, 2.5, 1, y**2)
TypeError: ufunc 'hyp2f1' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

问题出在哪里,还有其他方法可以符号化区分函数 hyp2f1 吗?

  1. 我们不能以您想要的方式混合使用 Sympy 和 Scipy。错误消息说它不接受符号输入
  2. This 展示了如何在 Sympy 中获得超几何函数。它还提供了如何使用此功能的示例。我不确定 Sympy 是否可以为您象征性地区分这一点。