問題タブ [jama]
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 - Jama を使用して行列を配列として表す
私は Jama を使用して固有ベクトルと固有値を計算していますが、うまくいきます。
問題は、行列から配列に列を抽出すると、間違った値になることがあるということです。
誰かがそれに遭遇しましたか?どのように対処すればよいですか?
私が使用したコードを添付しています:
結果は次のとおりです。
なぜそれが起こるのかについてアドバイスや洞察をいただければ幸いです。ありがとう!
java - ジャマ マトリックスをシャッフルするには?
Java でのマトリックス操作に Jama を使用しています。ただし、それに関する適切なドキュメントは見つかりませんでした。
Jama でマトリックスをシャッフルするにはどうすればよいですか?
また、次のようなものがあります:
Matlabのように最後の列だけを取得するには?
java - jama を使用して行列を宣言する方法
私は Java プログラミングの初心者です。一次方程式系を解く必要がある科学シミュレーションを行っていました。
私は Eclipse で作業しています。jama jar ファイルをダウンロードし、JRE システム ライブラリに追加しました。問題は、コンストラクター引数として 2D double 配列を渡して新しい Matrix オブジェクトを作成すると、IDE が「コンストラクター Matrix(double[ ][]) は定義されていません」。
私はたくさんグーグルで検索しましたが、何も得られませんでした:(
誰かがそれに遭遇しましたか?どう対処すればいいですか?
java - Java-JAMAを使用して、ランダムな値を持つ3by3行列を作成します
これは私がこれまでに得たものです...
問題は、これを印刷すると、すべての値が同じになることです。必要なのは、インデックスごとに異なる値です。これは、配列を作成し、それにランダムな値を割り当て、それをマトリックスにコピーするだけで実行できることを私は知っています。しかし、私はこれを行列mRから直接行う必要があります。
java - How to replace single row in Matrix using Jama ?
I trying to replace a single row using Jama .
I tried it by using setMatrix like this -
but it throw java.lang.ArrayIndexOutOfBoundsException , how to make that correctly ?
android - Android: Matrix で動作するライブラリ
Android でマトリックスを使用する必要がありますが、どのライブラリが優れているかわかりません。JAMA を使用した例をいくつか見てきましたが、こちらの他の質問を読みました。
また、JAMA はかなり古風で遅いことがわかりました。1 人のユーザーが JBLAS の使用を推奨しています。これは、マルチコア マシンで問題なく動作するためです。
問題は、私がこのアプリケーションを携帯電話用にやっているということです。JBLAS と JAMA のパフォーマンスの違いが、コンピューターの場合と同じくらい大きくなるかどうかはわかりません。だから私は知りたいです: ¿ Android アプリケーションで使用するために、どの行列ライブラリをお勧めしますか?
vector - PCA を使用して 3 次元点群の境界ボックスを見つける
PCA を使用して 3 次元点群の境界ボックスを見つけようとしています。SVDを実行するために、JAMA「Java Matrix Package」を使用しています。
ポイント クラウドから 1000 をサンプリングして SVD を実行しています。
結果から 3 つの PCA ベクトルを抽出し、それらのネガを追加しています。
double[] vector1 = {svd.getU().get(0, 0), svd.getU().get(1, 0), svd.getU().get(2, 0)}; double[] vector1N = Vec.Mult(vector1, -1); double[] vector2 = {svd.getU().get(0, 1), svd.getU().get(1, 1), svd.getU().get(2, 1)}; double[] vector2N = Vec.Mult(vector2, -1); double[] vector3 = {svd.getU().get(0, 2), svd.getU().get(1, 2), svd.getU().get(2, 2)}; double[] vector3N = Vec.Mult(vector3, -1);
データの次元に従って各ベクトルを拡大しています (1000 個のポイントのそれぞれを通過し、最大の投影を確認します)。
vector1 = Vec.projectData(vector1, nThPoints);
/li>
これで、6 つの新しいベクトルが得られたので、8 つのコーナーを計算する必要があります (サンプルの中心を覚えている間) が、その方法がわかりません。
どうやってやるの?
vector - 2 セットのベクトル間の回転を計算する
N 個のエントリを持つ 3D ベクトルのセットが 2 つあります。最初のセットを 2 番目のセットに最適に配置する回転行列を計算しようとしています。
JavaライブラリJAMAを使用して、特異値分解または固有値分解でこれを達成できると思います。
1) SVD または EVD は使用する正しいアルゴリズムですか?
2) JAMA の SVD/EVD にはマトリックスが必要です。2 セットのベクトルに基づいてマトリックスを設定するにはどうすればよいですか?