정규 분포 CDF를 계산하는 다른 프로그래머의 함수 구현을 검토하는 동안 전체 구현을 Python의 내장 함수로 대체하거나 일반적인 과학 라이브러리 인 SciPy를 사용 하도록 제안 했습니다.
다른 프로그래머는 문서에 정확한 보증을 제공 하지도 math.erfc()
않습니다 scipy.stats.norm.cdf()
. 따라서, 나는 (A에서 찍은 근사 알고리즘 교체에 대한 더 신중해야 존경 소스 , 그리고 한 오류 경계를 문서화을 ).
솔직히 말해서, 내장 또는 라이브러리 기능의 정확성과 정확성을 의심하려는 생각은 결코 내 마음을 넘지 못했습니다. 결국, 내가 좋아하는 기능을 호출 봤는데 sin()
및 sqrt()
이유는해야한다 - 많은 생각없이 년을 math.erf()
또는 scipy.stats.norm.cdf()
어떤 다른를 할 수?
하지만 지금은 걱정입니다. 내 질문은 :
- 일반적으로 문서에 특별한 언급이 없으면 IEEE 배정 밀도 부동 소수점이 제공하는 정밀도 내에서 이러한 종류의 함수가 마지막 소수점 자리까지 완전히 정확하다는 것을 암시합니까?
- 특히 파이썬
math.erf()
이나 사이 파이의 경우에 해당scipy.stats.norm.cdf()
됩니까? 어떻게 알 수 있습니까? 이 매뉴얼 페이지는
sin()
말합니다…이 함수는 인수가 pi의 배수에 가까워 지거나 0.0에서 멀어지면 정확도가 떨어질 수 있습니다.
사인 함수가주기적이고 대칭적일 때 왜 이러한 경고가 존재해야합니까? 최적의 정확도를 얻기 위해 입력을 정규화하는 것은 호출자에게 부담이되는 것 같습니다.
반면에 모질라의 문서
Math.sin()
는 정확성이나 정확성에 대해 아무 말도하지 않습니다. 그것은 완전히 정확하거나Math.sin()
다른 곳과 같이 JavaScript의 특정 상황에서만 정확 하다는 "상식" 입니까?