入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。22:27回答数:7件10000*10000の大規模行列を解くプログラムを作成したいと考えています。行列は対称行列で疎行列です。一行あたりの非零要素は10~20程度しかなく、ほとんどが零要素になっています。メモリの関係上[10000][10000]の配列の形で確保することはまず無理でした。ガウスの消去法は使えないかと思います。(使えるのかもしれませんが、要素のうまい記憶方法のアルゴリズムが浮かびません)解法として、ウェーブ・フロント法を使おうと考えたのですが、計算前の行列内の零要素で上三角行列を求める過程において非零要素となる要素については、あらかじめ記憶しておかなければなりません。零要素から非零要素に変化する要素を発見するアルゴリズムがわかりません。その方法や、そのほかの方法で10000*10000の大規模行列を解く方法があれば教えてください!通報するこの質問への回答は締め切られました。アルゴリズム」に関するQ&A:グラフ構造のアルゴリズムの問題です。21:46非零要素の位置だけを記録して解くのが大規模疎行列を扱う場合の基本です。計算の過程で発生する非零要素(専門的にはfill-inと呼びます)の発生位置は予め計算可能なので、その分のエリアは予め空けておきます。ウエーブ・フロント法は確かfill-inの発生をできるだけ抑制するための変換手法ですよね?この変換手法を「オーダリング」と呼びますが、実は解く問題によってオーダリングの手法は善し悪しがあります。ガウスであればより対角に近い場所に非零要素とfill-inが移動するすようにします。:Lnこんな感じに記憶します。(分かりにくいかなぁ)「零要素から非零要素に変化する要素を発見するアルゴリズム」はLU分解を手計算できないと理解は難しいかもしれません。手計算すれば、0だった所に数値が入るタイミングが分かります。非零要素が対角に近く行列の右下の方に集まっている方がfill-inが少ないことも体感できると思います。\9,270これがあれば、様々な行列に対する高速解法がプログラムソース付きで解説されています。間に非零要素が出現します。23:58#5の私のウエーブ・フロント法は誤解してました。要素の記憶を方法を説明します。