>>> from scipy.special import erf
>>> print (erf(0.j))
__main__:1: RuntimeWarning: invalid value encountered in erf
0j
この警告は(私が行ったとしてもscipy.special.errprint(0)
)一度だけ印刷されますが、なぜ印刷されるのかまったくわかりません。実は、0.j
と同じ番号で0.
問題ありません。
2つの質問があると思います:1)この警告を抑制する方法はありますか?2)この警告はバグですか、それとも何かが足りませんか?
アップデート
私は(私が思うに)scipyソースツリーのエラー関数を追跡しました。にあります:( scipy/special/specfun/specfun.f
)subroutine CERROR
。この関数は警告を発しません(単純なFortranプログラムから呼び出された場合は正常に機能します)。