2013-04-27 14 views
14

ガンマ、ベータ、erf、ベッセルの特殊関数(および関連するもの)を私たちの独自の数式パーサに組み込むためのJavaライブラリを探しています。数値精度が最優先事項であり、科学的プログラムです。オープンソースで商用利用のためには無料でなければなりません(ApacheやBSDライセンスなど)。Javaの特別な数学関数ライブラリ

私はJAMAライブラリのような '古典的な'実装が行列演算のためにあるとすぐにわかると思っていましたが、これまでこれを見つけることはできません。特別な関数評価が必要なだけで、追加のライブラリ機能は必要ありません。

最初の私が見つけたはApacheの共通の数学ですが、私はベータ版の機能のためのひどい精度を参照してください。 http://commons.apache.org/proper/commons-math/userguide/special.htmlを。

次に見つかったコルト。それは良いようですが、私はそれが開発者やユーザーによって適切にテストされたかどうかはわかりません(ほとんど使用されないコードは、間違いなどでどこかからコピーされることがあります)

何か提案があります。

答えて

3

まず最初に、Webページの手作りの外観とColtライブラリの古いリリース日付(およびそれをベースにしたJETライブラリやJASライブラリ)に惑わされないようにしてください。それは無限の研究プロジェクトで使用されており、コードは非常に才能のある何百人もの人々によって検証されています。

もちろん、自分の製品の信頼性が危機に瀕している場合は、私の言葉だけではありません。

  • ソースコードを読むには、次の2つのアイデアがあります。 ColtのJavaDocには、数値メソッドが公開された論文への参照が含まれています。これらの論文を参照する他の研究を検索し、後で使用された方法の問題が発見されているかどうかを確認してください。
  • 信頼できる市販の数値ソフトウェア(Mathematicaなど)を使用し、目的の関数の値を体系的またはランダムに生成し、これらをColtによって生成された値と比較します。このようなテストを十分に長くすると、数字の質をかなりよく理解できます。

あなたは本当に(私はあなたの質問だったと思います)コルトを使用したくない場合は、私は、数値のレシピ帳(http://www.nrbook.com)自分からC/C++コードを移植示唆しています。通常、あまりに多くの養子縁組は必要ありませんが、あなたはそれをどのようにテストしたいかについて考える必要があります。

+0

このコメントをいただきありがとうございます。実際、私はほとんどColtライブラリを使用する準備ができており、実際の推奨が必要でした。 P.S. NRBookは素晴らしい作品です! – Alexander

関連する問題