問題タブ [apache-commons-math]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Android Apache Commons Math のライセンス
初めての商用ソフトウェアをリリースしようとしています。私はプログラミングに関連することを勉強しなかったので、ここでライセンスの問題に直面しています。私は英語を母国語としないので、Apache Commons License を読むときに少し問題があります。
私のソフトウェアでは、Apache Commons Math ライブラリを使用しています。彼らのよくある質問を理解したら、これを追加すればソフトウェアを配布できます (テキストはアプリ内の「情報」画面に表示されます):
上記のライブラリを使用したい場合、それで十分ですか?
ソフトウェアにライセンスを適用する必要はありますか?
java - ハッシュに基づいて一様乱数を作成する
文字列と long で構成されるキーに基づく適切な疑似乱数が必要です。同じキーを使用してクエリを実行すると、同じ乱数を取得する必要があります。また、キーの long が 1 ずれている場合でも、わずかに異なるキーを使用してクエリを実行すると、非常に異なる番号を取得する必要があります。このコードを試しました乱数は一意ですが、同様の数の場合、それらは相関しているように見えます。
私がつなぎ合わせた解決策。これはかなりうまく機能しますが、これほど冗長にする必要があるのだろうかと思います。
java - Jama と Commons Math は、比較的大きな行列に対して望ましい結果を与えません
線形代数方程式を解くために Jama と Apache Commons Math を使用しています。行列が小さい (4x4) 場合、どちらも正常に機能します。ただし、比較的大きい場合 (25x25) はそうではありません。以下は私の実装です:
ジャマ:
これは、次の場合にうまく機能します。
ただし、次の場合は失敗します。
コモンズ数学:
これは、次の場合にうまく機能します。
ただし、次の場合は失敗します。
「失敗」とは、すべての整数値を持つ解決策が少なくとも 1 つあることを知っていますが、私の実装では分数の値が得られるということです。
java - 単純な Java プロジェクトに jar を追加した後の ClassDefNotFoundException
NetBeans のプロジェクトに commons.math jar を追加していますが、単純なクラスのインスタンスを作成しているときに、プロジェクトが ClassDefNotFoundException をスローします。何か提案はありますか?Math jar はデスクトップにありますが、.m2 リポジトリに移動しても結果には影響しませんでした。
ありがとう。
アップデート。問題が見つかりました - クラスパス文字列エラーが正しくフォーマットされていないようです。
java - Javaで逆累積ベータ分布関数を計算する方法
妥当な精度でベータ分布の逆累積分布関数の計算 (別名、分位数の推定) をサポートする Java ライブラリ/実装を探しています。
もちろん、 apache commons mathも試しましたが、バージョン 3 ではまだ精度に問題があるようです。この質問につながる問題を以下に詳しく説明します。
試行回数が多いベータ分布の信頼区間を計算したいとします。Apacheコモンズ数学では...
配信する
問題は、2.5 パーセンタイルと中央値が同じである一方で、どちらも平均よりも大きいことです。
比較すると、Rパッケージbinomは以下を実現します。
およびRパッケージ統計
R の結果に次ぐために、Wolfram Alphaが私に言ったことは次のとおりです。
- InverseBetaRegularized[0.025,10007+1,161750-10007+1] => 0.06070354631...
- InverseBetaRegularized[0.975,10007+1,161750-10007+1] => 0.06305170794...
要件に関する最終的な注意事項:
- これらの計算をたくさん実行する必要があります。したがって、どのソリューションも 1 秒よりも長くかかるべきではありません ((間違っているとはいえ) Apache Commons の数学の 41 ミリ秒と比較すると、これはまだ多くの時間です)。
- Java内でRを使用できることを認識しています。ここでは詳しく説明しませんが、これは他の方法 (純粋な Java) が失敗した場合の最後のオプションです。
更新 21.08.12
この問題は apache-commons-math の 3.1-SNAPSHOT で修正または少なくとも改善されたようです。上記のユースケースの場合
更新 23.02.13
一見すると、この質問とその回答は局所的すぎるかもしれませんが、最初に頭に浮かぶハッカーのアプローチでは、いくつかの数値問題を (効率的に) 解決できないことを非常によく示していると思います。ですので、このまま開いていてほしいです。
java - R.loess と org.apache.commons.math LoessInterpolator の違い
apache.commons.mathライブラリを使用して、R スクリプトから Java への変換を計算しようとしています。R loessの代わりにorg.apache.commons.math.analysis.interpolation.LoessInterpolatorを使用できますか? 同じ結果を得ることができません。
編集。
これは、ランダムな配列 (x,y) を作成し、LoessInterpolator または R を呼び出して黄土を計算する Java プログラムです。最後に、結果が出力されます。
コンパイルと実行:
出力:
y の出力値は、R と Java の間で明らかに同じではありません。Y.R 列は適切に見えます (元の Y 列に近いです)。Y.java ~ YR を取得するには、これをどのように変更すればよいですか?
java - ApacheCommonsMathとの指数関数的適合
式A*EXP(-BX)を使用して、さまざまなポイント(x、y)に指数フィットを実行し、自分のポイントに最適なAとBを見つけようとしています。
私はいくつかの数字を取得しましたが、それらは私のポイントにまったく適合していません。上記のドキュメントが見つからないようです。
コモンズの使用-math3-3.0
java - ポアソンおよび指数とともに歪んだ正規分布の逆累積分布のための Java 数学パッケージ
非対称 (歪んだ) 正規分布と、ポアソン分布および指数分布の数学関数を提供するパッケージを探しています。
私はもともとColtパッケージを見ましたが、逆累積関数を提供していません。
そこで、すべての分布の逆累積確率を含む、より包括的な機能セットを提供するApache Commons Math3に変更しました。
しかし、ここで再び壁にぶつかります。これは、正規分布を非対称形状にパラメーター化する必要があるためです (つまり、平均の左側部分が平均の右側部分とは異なります)。上記のすべてをサポートするパッケージを知っていますか?
java - 二変量関数の勾配を取得する
私はいくつかのビデオ処理を行っています。フレームごとに、二変量関数の勾配を取得する必要があります。関数は double の 2 次元配列として表されます。ドメインは行と列のインデックスで、範囲は対応するインデックス値の double 値です。またはもっと簡単に言えば、関数は次のようf
に定義されています。double[][] matrix
f(x,y)=matrix[x][y]
私はそれに Apache Commons Math ライブラリを使用しようとしています:
- x インデックスのソートされた配列として xs を使用
(0,1,...,matrix.getRowDimension() - 1)
- はい、列の次元で同じです
(0,1,...,matrix.getColumnDimension() - 1)
問題は、そのサイズの典型的なマトリックスの場合、実行に数秒150X80
かかる1.4
ため、私のニーズにはまったく関係がないことです。したがって、このライブラリの初心者ユーザーとして、またプログラムによる数値解析一般として、次のことを知りたいと思います。
- 私は何か間違ったことをしていますか?
- このタスクを達成できる別のより高速な方法はありますか?
- 解決策を提供する別のオープン ソース ライブラリ (できれば maven に適したもの) はありますか?
java - FastSineTransformer - 長さに合わせて配列にゼロを埋め込む
Javaで画像ブレンディング用のポアソン ソルバーを実装しようとしています。5つ星の方法で秘密化した後、実際の作業が始まります。これを行うには、色の値を使用して次の 3 つの手順を実行します。
- 行と列で正弦変換を使用する
- 固有値を掛ける
- 行と列に逆正弦変換を使用する
これはこれまでのところ機能します。Java で正弦変換を行うために、Apache Commons Math パッケージを使用しています。
ただし、FastSineTransformerには 2 つの制限があります。
- 配列の最初の値は 0 でなければなりません (それで問題ありません。実際の問題は 2 番目です)。
- 入力の長さは2 の累乗でなければなりません
したがって、現在、私の抜粋は 127、255 などの長さで収まっています (1 と 2 が満たされるように、最初にゼロを挿入しています)私の抜粋を自由に。
私の質問は: Apache FastSineTransformer の制限に適合するように、たとえば長さ 100 の配列を拡張する方法はありますか?
FastFourierTransfomer クラスでは、ゼロをパディングして 2 の累乗を取得できることが言及されています。しかし、それを行うと、間違った結果が得られます。おそらく私は間違っているかもしれませんが、ゼロでパディングしているときに心に留めておく必要があるものがあるかどうかは本当にわかりません