2013-04-27 5 views
14

감마, 베타, erf, 우리 고유의 수식 파서에 포함하기위한 베셀 특수 ​​함수 (및 일부 관련 함수)를 계산하는 Java 라이브러리를 찾고 있습니다. 수치 정확도가 가장 우선시되는 과학 프로그램입니다. 또한 오픈 소스 여야하며 상업적 용도로는 무료 여야합니다 (예 : Apache 및 BSD 라이센스).Java 특수 수학 함수 라이브러리

JAMA 라이브러리와 같은 'reference'구현은 매트릭스 작동을위한 것으로 '빨리'찾을 수 있다고 생각했지만 지금까지는 찾을 수 없습니다. 특수 함수 평가 만 필요하므로 추가 라이브러리 기능이 필요하지 않습니다. 에 첫 번째로 내가 찾은

아파치 공통 수학하지만 난 베타 함수에 대한 끔찍한 정확성 참조 : http://commons.apache.org/proper/commons-math/userguide/special.html합니다.

그러면 찾았습니다 콜트입니다. 좋은 것 같지만 개발자와 사용자가 적절하게 테스트했는지 확신 할 수 없습니다. (일부 코드는 실수로 어딘가에서 복사 할 수 있습니다.)

제안 사항을 보내주십시오.

답변

3

우선 : 웹 페이지의 수제 모양과 콜트 라이브러리의 이전 릴리스 날짜 (및 그 위에 구축 된 JET 및 JAS 라이브러리)에기만하지 마십시오. 그것은 끝없는 연구 프로젝트에 사용되어 왔으며 코드는 매우 재능있는 수백 명의 사람들에 의해 검증되었습니다.

물론 자신의 제품에 대한 신뢰성이 문제가된다면 내 말을 듣지 말아야합니다. 다음은 자신이 정확함을 느낄 수있는 두 가지 아이디어입니다.

  • 소스 코드를 읽으십시오. Colt의 JavaDoc에는 수치 메서드가 게시 된 문서에 대한 참조가 들어 있습니다. 이 논문을 참조하는 다른 연구를 검색하고 나중에 사용한 방법의 문제점이 발견되었는지 확인하십시오.
  • 신뢰할 수있는 상용 소프트웨어 (예 : Mathematica)를 사용하여 관심있는 기능에 대한 값을 체계적으로 또는 무작위로 생성하고 이들을 Colt에서 생성 한 값과 비교하십시오. 그러한 테스트를 충분히 오래 실행하면 숫자의 품질을 상당히 잘 이해하게 될 것입니다.

콜트를 사용하고 싶지 않다면 (숫자를 추측 할 것 같네요) 숫자 조리법 책 (http://www.nrbook.com)에서 C/C++ 코드를 직접 포팅하는 것이 좋습니다. 일반적으로 너무 많은 입양은 필요하지 않지만 어떻게 테스트 할 것인지 생각해야합니다.

+0

의견을 보내 주셔서 감사합니다. 사실 나는 거의 콜트 라이브러리를 사용할 준비가되어 있으며 그것에 대한 실질적인 권고가 필요했다. 추신 NRBook은 훌륭한 작품입니다! – Alexander