0

Python では、少なくとも 1 つのシンボリック引数を保持しながら、超幾何関数 hyp2f1 を使用したいと考えています。ただし、 TypeError があります

d から mpf を作成できません

ここで、d は超幾何関数の (最後の) 引数です。

誰かが同様の質問をしました

solveset() 内で erf() 関数を使用すると、sympy と mpmath で「TypeError: mpf を作成できません」というメッセージが表示される

エラー関数erfで同じ問題が発生した後。提案された解決策は、sympy ライブラリの代わりに mpmath ライブラリを使用することでしたが、引数をシンボリックに保ちながら mpmath を使用することはできません。

また、sympy のドキュメントで提案されているように、mpmath と sympy を一緒にインポートしようとしました。

from sympy.mpmath import *

https://docs.sympy.org/0.7.6/modules/mpmath/functions/hypergeometric.html#common-hypergeometric-series

ただし、出力は次のようになるため、これは受け入れられません。

ModuleNotFoundError: `sympy.mpmath' という名前のモジュールがありません

私のコードは

from sympy import *

d = Symbol('d')

hyp2f1(1,1,1,d)

1/(1-d) に単純化することを望んでいたか、少なくともシンボリック操作のために Python が hyp2f1(1,1,1,d) を「保存」できることを望んでいました。

エラーが発生する

TypeError: d から mpf を作成できません

要するに、sympy をインポートすると、Python はシンボリック引数で hyp2f1 を使用できません。

4

1 に答える 1