問題タブ [matrix-multiplication]

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.

0 投票する
3 に答える
1617 参照

php - ASMをPHPに変換するにはどうすればよいですか?

もう少し理解したいプログラムがありますが、そのほとんどはASMにあります。MatrixMultiply

リファレンスページはこちらです。

私はC++を理解していますが、ASMの部分は少しあいまいです。誰かが説明できますか?

0 投票する
3 に答える
2658 参照

matlab - 行列を基本行列に分解する

これを行うMATLAB、Maple、またはMathematicaのパッケージはありますか?

0 投票する
1 に答える
1357 参照

animation - Collada とスケルトン アニメーション

私は現在、学校での実習のためにコーディングしているゲーム エンジン内にスケルトン アニメーションのセットアップを実装しようとしています。エンジンは、右利きのシステムを使用して、c++ および directx 10 でコーディングされています。

現在、メッシュのインポートとロードにcolladaを使用しています(これが利用可能な最良のソリューションではないことはわかっています)。私が使用しているセットアップでは、GPU スキニングのためにデータを GPU に渡す直前に行列に変換する回転にクォータニオンを使用しています。ソフトイメージを使用してテスト メッシュを作成し、アニメーション コードのさまざまな側面をテストしています。

私が抱えている問題は、回転値に関してです。D3DXQuaternionRotationYawPitchRoll を使用して、回転値をオイラー角からクォータニオンに変換しています。これに関する問題は、現在、アニメーションが間違った軸にあることです。y 軸を中心とした回転であるべきものは、x 軸を中心とした回転です。適切にアニメーション化するには、x 値と y 値を交換し、y 値を無効にする必要があります。これは、枝のある単純な押し出しボックスにあります。アニメーション化されたボーンごとに、ローカル変換マトリックス (回転マトリックスに並進マトリックスを掛けたもの) を現在計算しています。次に、親マトリックスに現在のローカル マトリックスを掛けて、親に対する最終的な変換マトリックスを取得します。

コラーダのローテーションを適切に処理する秘訣はありますか? 私がチェックしたものはすべて、各ボーンに親を掛ける前に値が正しいことを示しています。行列乗算の順序を入れ替えても、顕著な改善は見られませんでした。現在、サークルでの実行に多くの時間を費やしているため、その間にエンジンの他のセクションに取り組みます。

0 投票する
0 に答える
1529 参照

lua - 平行移動と回転行列

点Iの平行移動と回転の行列計算を実行するコードを持っている人はいますか。2Dをお願いします。

ネット中を探していたのですが、使える形で見つかりませんでした。私はluaでコーディングしていますが、他の言語でも問題ありません。

どうもありがとう、

マット。

0 投票する
1 に答える
3317 参照

c - BLASで3つの行列を乗算し、真ん中の行列を対角線にします

AMxK行列、Bはサイズのベクトル、KC行列KxNです。以下の行列を計算するには、どのBLAS演算子のセットを使用する必要がありますか?

これを実装する1つの方法は、以下のような3つのforループを使用することです。

より良い速度効率を得るために、これをBLASに実装することは実際に価値がありますか?

0 投票する
4 に答える
5705 参照

python - Numpy による行列乗算

アフィニティ行列 A と対角行列 D があるとします。Python で nympy を使用してラプラシアン行列を計算するにはどうすればよいですか?

L = D^(-1/2) AD^(1/2)

現在、L = D**(-1/2) * A * D**(1/2) を使用しています。これは正しい方法ですか?

ありがとうございました。

0 投票する
4 に答える
874 参照

java - Java マトリックスの処理時間

すべてのグルからの簡単な意見が必要です!

いくつかの行列計算を行うプログラムを開発しました。小さなマトリックスで問題なく動作します。ただし、BIG数千列の行行列の計算を開始すると。それはスピードを殺します。

各行で処理を行い、結果をファイルに書き込み、メモリを解放して2行目の処理を開始し、ファイルに書き込むなどを考えていました。

速度の向上に役立ちますか?この変更を実装するには、大きな変更を加える必要があります。だからこそ、あなたの意見が必要です。どう思いますか?

ありがとう

PS: コルトとジャマ マトリックスについては知っています。社内規定により、これらのパッケージを使用することはできません。


編集済み

私のプログラムでは、すべての行列を 2 次元配列に格納していますが、行列が小さい場合は問題ありません。ただし、数千の列と行がある場合。次に、計算のためにこのすべての行列をメモリに保存すると、パフォーマンスの問題が発生します。行列に浮動値が含まれています。処理のために、メモリ内のすべての行列ストアを読み取り、計算を開始します。計算後、結果をファイルに書き込みます。

0 投票する
3 に答える
1305 参照

c# - C#での浮動小数点と倍精度

ここで行列乗算コードに少し問題があります。大きな行列の乗算では精度が低下するようです(私のコードは小さな行列で正常に実行されます)。

私のループは次のとおりです:

ご覧のとおり、2つの浮動小数点数を乗算するときに精度が失われないように、(倍精度)精度を強制します。

ILコードを見ると、2つのconv.r8があり、ILコードにはこの浮動小数点から倍精度への変換が含まれていると思います。

ただし、それを実行して逆アセンブル(x86マシン)を見ると、次のように表示されます。

JITは、すでにfloatを乗算しているので、倍精度乗算ではなく単精度乗算を使用する必要があると考えており、追跡しているエラーが発生していると思います。

私は正しいですか?この倍精度乗算を強制する方法はありますか?

ありがとう

0 投票する
8 に答える
245033 参照

python - NumPy Matrix と Array クラスの乗算はどのように異なりますか?

numpy docs では、行列を操作するために行列の代わりに配列を使用することをお勧めします。ただし、オクターブ (最近まで使用していた) とは異なり、* は行列の乗算を実行しないため、関数 matrixmultipy() を使用する必要があります。これにより、コードが非常に読みにくくなっていると思います。

誰かが私の意見を共有し、解決策を見つけましたか?

0 投票する
2 に答える
910 参照

c++ - ベクトルの不適切なメモリ割り当て C++

次のコードで std_bad_alloc エラーが発生します。問題は、行列をベクトルに追加すると、デバッガーでその行に到達するとプログラムがクラッシュすることです。問題は、最初の 2 つの行列のみがファイルから読み込まれ、他の 2 つの行列は読み込まれないことです。これは、プログラムが上記のエラーでクラッシュするためです。