Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

eye

対話型分散単位行列を作成

    説明

    X = eye(n) は、nn 列の対話型分散単位行列を作成します。

    対話型分散配列を通信ジョブまたは spmd ブロックで作成する場合、この関数は配列をワーカーごとに作成します。対話型分散配列を通信ジョブや spmd ブロック外で作成する場合、配列は対話型分散配列を作成するワーカーまたはクライアントにのみ格納されます。

    既定では、対話型分散配列の基となる型は double です。

    X = eye(n,m) は、主対角が 1、それ以外が 0 の nm 列の対話型分散単位行列を作成します。

    X = eye(sz) は対話型分散単位行列を作成し、サイズ ベクトル szX のサイズを定義します。たとえば、eye(codistributed([2 3])) は 2 行 3 列の対話型分散配列を作成します。

    X = eye(___,datatype) は、基となる型が datatype の対話型分散単位行列を作成します。たとえば、eye(codistributed(1),"int8") は 8 ビットの対話型分散スカラー整数 1 を作成します。この構文は、前述の構文にある任意の入力引数と共に使用できます。

    X = eye(___,codist) は、対話型分散オブジェクト codist を使用して 0 からなる対話型分散配列を作成します。

    対話型分散オブジェクト codist を使用して、ワーカーのメモリ全体における配列値の分散を指定します。対話型分散の作成の詳細については、codistributor1d および codistributor2dbc を参照してください。

    X = eye(___,codist,"noCommunication") は、ワーカー間の通信を使用せずに、対話型分散単位行列を作成します。codist または codist,"noCommunication" を指定できますが、両方は指定できません。

    非常に大規模な配列を作成する場合、または通信ジョブや spmd ブロックが多数のワーカーを使用する場合は、ワーカー間の通信により配列の作成が遅くなることがあります。この構文を使用すると、ワーカー間の通信に必要な時間が除かれることで、コードのパフォーマンスが改善されます。

    ヒント

    この構文を使用する際は、一部のエラー チェック ステップが省略されます。この構文は、"noCommunication" を指定せずにコードをプロトタイピングした後でコードのパフォーマンスを改善するために使用してください。

    X = eye(___,"like",p) は、配列 p を使用して対話型分散単位行列を作成します。datatype または "like" を指定できますが、両方は指定できません。

    返される配列 X の基となる型、スパース性、および実数/複素数は p と同じです。

    すべて折りたたむ

    2 番目の次元 (列) で分散される、1000 行 1000 列の対話型分散単位行列を作成します。

    spmd(4)
        C = eye(1000,'codistributed');
    end

    4 つのワーカーがある場合、各ワーカーには C の 1000 行 250 列のローカル ピースが格納されます。

    これは、列により分割される 1000 行 1000 列の対話型分散 uint16 単位行列を作成します。

    spmd(4)
        codist = codistributor('1d',2,100*[1:numlabs]);
        C = eye(1000,1000,'uint16',codist);
    end

    各ワーカーには、C の 100 行 labindex 列のローカル ピースが格納されます。

    入力引数

    すべて折りたたむ

    単位行列の最初の次元のサイズ。codistributed 整数として指定します。

    • n が唯一の整数入力引数である場合、X は n 行 n 列の正方単位行列となる。

    • n0 の場合、X は空行列となる。

    • n が負の場合、関数はこれを 0 として扱う。

    単位行列の 2 番目の次元のサイズ。codistributed 整数として指定します。

    • m0 の場合、X は空行列となる。

    • m が負の場合、関数はこれを 0 として扱う。

    各次元のサイズ。codistributed 整数の行ベクトルとして指定します。このベクトルの各要素は、対応する次元のサイズを示します。

    • いずれかの次元のサイズが 0 の場合、X は空配列となる。

    • いずれかの次元のサイズが負の場合、関数はこれを 0 として扱う。

    • 2 番目より後の次元については、サイズ 1 の後続の次元を eye は無視する。たとえば、eye(codistributed([3 1 1 1])) は 3 行 1 列の対話型分散単位行列を生成します。

    例: sz = codistributed([2 3 4]) は 2 x 3 x 4 の対話型分散配列を作成します。

    返される配列の基となるデータ型。以下のオプションのいずれかとして指定します。

    • "double"

    • "single"

    • "logical"

    • "int8"

    • "uint8"

    • "int16"

    • "uint16"

    • "int32"

    • "uint32"

    • "int64"

    • "uint64"

    対話型分散。codistributor1d オブジェクトまたは codistributor2dbc オブジェクトとして指定します。対話型分散の作成についての詳細は、codistributor1d および codistributor2dbc のリファレンス ページを参照してください。既定の分散スキームを使用する際に、引数なしで対話型分散コンストラクターを指定することができます。

    作成する配列のプロトタイプ。codistributed 配列として指定します。

    バージョン履歴

    R2006b で導入