を解く私は私が働いている大規模疎行列を持っていますが、示すように簡単にするために、私は以下のことを書かれている:特異疎行列MATLAB
row = [1,3];
col = [1,3];
val = [22,33];
B = sparse(row,col,val,3,3)
22 0 0
0 0 0
0 0 33
この行列が特異であり、その逆を持っていません私は、次の解のために使うことができます:
[A]=[B][C]
=>[B]\[A] = [C]
です。
この問題を解決するには、ゼロだけを含む行と列をすべて削除する必要があります。上記の例では、スパース行列を作成する前に2行目と2行目を削除します。
しかし、これを試してみると、行と列ベクトル(3,3)で記述されたインデックスが行列の次元の外側を指し、エラーになります。 この問題を解決するために私ができることは何ですか?
大規模なスパース行列(1000000x1000000)を扱う場合、これは非常に非効率的な方法ではありませんか? – Lobstw
@Lobstwすべての中間値も 'sparse'であるため、いいえ – Suever
ありがとうございます。しかし、これは次のような場合に期待される結果をもたらさない: '[22 0 0; 44 0 0; 0 0 33]' 2行目は削除しないでください。 – Lobstw