codistributed.spalloc
スパース対話型分散行列にスペースを割り当てる
構文
SD = codistributed.spalloc(M,N,nzmax)
SD = spalloc(M,N,nzmax,codist)
SD = codistributed.spalloc(___,typename)
説明
SD = codistributed.spalloc(M,N,nzmax) は、nzmax 個の非ゼロ要素を保存するスペースをもつ、全要素がゼロの M 行 N 列スパース対話型分散行列を作成します。
codistributed.spalloc のオプションの引数は、必須の引数の後に以下の順序で指定しなければなりません。
codist— 作成する配列の分散スキームを指定する対話型分散オブジェクト。省略した場合、配列は既定の分散スキームを使用して分散されます。非ゼロ要素に割り当てられたスペースは、対話型分散のPartitionによるワーカー間への行列の分散に対応しています。'noCommunication'— 配列の作成時に通信を行わないよう指定し、一部のエラー チェックの手順をスキップします。この引数はSD = spalloc(M,N,nzmax,codistr)でも使用できます。
SD = spalloc(M,N,nzmax,codist) は SD = codistributed.spalloc(M,N,nzmax,codist) と同じ結果になります。また、この構文でオプションの引数を使用することもできます。
SD = codistributed.spalloc(___,typename) は、前述の構文のいずれかのデータ型 (クラス) も指定します。typename の入力値は "single"、"double"、または "logical" です。 (R2025a 以降)
例
1000 行 1000 列のスパース対話型分散行列に最大 2000 個の非ゼロ要素用のスペースを割り当てます。既定の対話型分散を使用します。行列のいくつかの要素を定義します。
spmd % codistributed array created inside spmd statement N = 1000; SD = codistributed.spalloc(N,N,2*N); for ii=1:N-1 SD(ii,ii:ii+1) = [ii ii]; end end
spalloc を使用して、最大 20 個の非ゼロ要素用のスペースをもつ、10 行 10 列で全要素ゼロの単精度のスパース対話型分散行列を初期化します。行列内のいくつかの要素を定義します。
spmd SD = codistributed.spalloc(10,10,20,"single"); SD(1:3,1:3) = magic(3); end