ほとんど問題です。一般的な疎で非対称な(数値的および構造的の両方の)行列を考えると、反復ソルバーのスパースパターン(つまり、行列/ベクトルの行/列の置換)はどのくらい重要ですか?フィルインの数に直接影響を与えることにより、直接ソルバー(LU)またはプレコンディショナー(ILU)にとって重要になることがわかります。
ただし、反復ソルバーの場合、最も重要な部分は、実際の行列パターンを気にしないように見えるMatVec操作であるようです。ここで考慮していないパターンに依存する可能性のあるコンポーネントはありますか?
並行してどうですか?マトリックスとベクトルの分布の仕方でパターンが重要になり、通信量/オーバーヘッドを決定するかもしれないが、他の考えや入力を見たいと思います。
私はこれを一般的に、そしてPETScのKSPソルバーに関しても尋ねています。
1
行または列に非常に多くの非ゼロがある場合にのみ、並列で問題が発生するはずです。矢印行列は、このような場合の良い例です(対角行列と密な最後の行と列)。
—
Jack Poulson
ここで「スパースパターン」は正しい言葉ですか?用語「スパースパターンは」言及しているが、私の知る限り、あなたは、行列のエントリの順序について尋ねると、たとえば、対角線、三重対角、ブロック対角など
—
shuhalo
@Martin「tridiagonal」のようなプロパティはまだ順序に依存していることに注意してください。たとえば、ランダムな順序での1D問題を考えてみてください。
—
ジェドブラウン