gf_spmat

概要

SM = gf_spmat('empty', int m [, int n])
SM = gf_spmat('copy', mat K [,  I [,  J=I]])
SM = gf_spmat('identity', int n)
SM = gf_spmat('mult', spmat A, spmat B)
SM = gf_spmat('add', spmat A, spmat B)
SM = gf_spmat('diag', mat D [, ivec E [, int n [,int m]]])
SM = gf_spmat('load','hb'|'harwell-boeing'|'mm'|'matrix-market', string filename)

説明 :

spmat オブジェクトの汎用的なコンストラクタ

GetFEM形式で新しい疎行列を作成します.これらの疎行列は,Matlabで使用される形式であるCSC(圧縮された疎の列)として保存することも,WSC(getfemの内部形式)として保存することもできます.CSC行列は書き込み可能ではありませんが(これは非常に非効率的です),ベクトルとの乗算とメモリ使用量のために最適化されています.WSCは書き込み可能であり,ランダムな読み取り/書き込み操作に関して非常に高速です.しかし,メモリオーバヘッドはCSC行列よりも高く,行列ベクトル乗算では若干遅いです.

デフォルトでは,新しく作成されたマトリックスはすべてWSCマトリックスとして構築されます.これは後で <literal></literal>gf_spmat_set(spmat S, 'to_csc',...)<literal></literal>か,あるいはgetfem(例えば <literal></literal>gf_linsolve()<literal></literal> は行列をCSCに変換します)によって自動的に変更できます.

マトリックスには実数値または複素数値を格納できます.

コマンドリスト

SM = gf_spmat('empty', int m [, int n])

新しい空の(すなわち,ゼロで満たされた)次元 <literal>m x n</literal> 疎行列を作成します. <literal>n</literal> を省略すると,行列の次元は <literal>m x m</literal> になります.

SM = gf_spmat('copy', mat K [,  I [,  J=I]])

(spmatかもしれない)マトリックス<literal>K</literal>を複製します.インデックス <literal>I</literal> 及び/又は <literal>J</literal> が与えられる場合,行列は <literal>K</literal> の部分行列となります.例えば

m = gf_spmat('copy', sprand(50,50,.1), 1:40, [6 7 8 3 10])

は 40x5 の行列を返します.

SM = gf_spmat('identity', int n)

<literal>n x n</literal> 次の単位行列を作成します.

SM = gf_spmat('mult', spmat A, spmat B)

疎行列<literal>A</literal>と<literal>B</literal>の積の疎行列を作成します.<literal>A</literal> と<literal>B</literal>が両方とも実数であるか,両方とも複素数である必要があります. <literal></literal>gf_spmat_set(spmat S, 'to_complex')<literal></literal> を使う必要があるかもしれません.

SM = gf_spmat('add', spmat A, spmat B)

疎行列<literal>A</literal>と<literal>B</literal>の和の疎行列を作成します.複素数行列を持つ実数行列の追加が可能です.

SM = gf_spmat('diag', mat D [, ivec E [, int n [,int m]]])

対角行列を作成します.<literal>E</literal> が与えられる場合, <literal>D</literal> は行列であり, <literal>E</literal> の各列は <literal>D</literal> の対応する列の部分対角の番号を含みます.

SM = gf_spmat('load','hb'|'harwell-boeing'|'mm'|'matrix-market', string filename)

Harwell-BoeingやMatrix-Marketのファイルから疎行列を読みます.