0

非常に大きな(数百万の要素であり、必ずしも正方形ではない)行列のヌル空間を計算するために使用できる最速のアルゴリズム/パッケージを探しています。どの言語でも構いませんが、できれば Python/C/C++/Java の言語で構いません。あなたの助けは大歓迎です!

4

2 に答える 2

2

CPUキャッシュの破棄を回避する方法は、マトリックスがどのように保存/ロード/送信されるかによって大きく異なります.これは、あなたが対処しなかった点です.

いくつかの一般的な推奨事項があります。

  1. スレッドごとに連続する行をアドレス指定するワーカー スレッドに問題を分割する

  2. ポインターを (C で) インクリメントして行をトラバースし、スレッドごとにカウントを保持する

  3. すべてのワーカー スレッドの最後にスレッドごとの結果を統合します。

マトリックス セルが (バイト、int、または配列ではなく) ビットで構成されている場合は、words(32 ビット/64 ビット プラットフォームでは 4 バイトまたは 8 バイトのいずれか) を読み取ってカウントを高速化できます。

問題の説明には未回答の質問が多すぎて、これ以上のガイダンスを提供できません。

于 2012-08-28T14:23:32.500 に答える
-1

マトリックスはどのようなデータ構造で表されますか? 要素リストを使用してマトリックスを表す場合、つまり、1 つのマトリックス要素に対して「列、行、値」のタプルを使用する場合、ソリューションはタプルの数をカウントするだけです (マトリックスのサイズを差し引いたもの)。

于 2012-08-28T14:27:16.947 に答える