3
在使用SciPy的的scipy.special.ellipeinc
和ellipkinc
,似乎有數值不穩定的一些島嶼。例如,的Bug scipy.special.ellipkinc - 不完整的橢圓積分
>>> from scipy.special import ellipkinc
>>> ellipkinc(0.9272952180016123, 0.68359375000000011)
nan
>>> ellipkinc(0.9272952180016123, 0.6835937500000002)
2.0518660200390668
>>> ellipkinc(0.9272952180016123, 0.68359375)
1.0259330100195332
>>> ellipkinc(0.9272952180016123, 0.68359374)
1.0259330081166262
出現這種情況,其中k^2.sin^2(PHI)是接近0.3,但並沒有什麼不尋常的橢圓積分自己這裏,所以想必這是一個數字的事情。我對這個算法的內部工作知之甚少,不知道怎麼回事,所以我最好的選擇是什麼?我想到: round(0.68359375000000011,8)
說,但這肯定會減慢我的代碼?
我建議你改變問題的標題做了一下更具體。 – NPE
我創建了一個錯誤報告:https://github.com/scipy/scipy/issues/3550 –