kron
クロネッカー テンソル積
説明
K = kron( は、行列 A,B)A と B のクロネッカー テンソル積を返します。A が m 行 n 列の行列で、B が p 行 q 列の行列の場合、kron(A,B) は、A の要素と行列 B 間でのすべての取り得る積から構成される m*p 行 n*q 列の行列になります。
例
ブロック対角行列を作成します。
4 行 4 列の単位行列と、対角に反復させる 2 行 2 列の行列を作成します。
A = eye(4); B = [1 -1;-1 1];
kron を使用して、クロネッカー テンソル積を求めます。
K = kron(A,B)
K = 8×8
1 -1 0 0 0 0 0 0
-1 1 0 0 0 0 0 0
0 0 1 -1 0 0 0 0
0 0 -1 1 0 0 0 0
0 0 0 0 1 -1 0 0
0 0 0 0 -1 1 0 0
0 0 0 0 0 0 1 -1
0 0 0 0 0 0 -1 1
結果は、8 行 8 列のブロック対角行列になります。
要素を反復して、行列のサイズを拡大します。
すべての要素が 1 である 2 行 2 列の行列と、2 行 3 列のその要素を反復させる行列を作成します。
A = [1 2 3; 4 5 6]; B = ones(2);
kron を使って、クロネッカー テンソル積を計算します。
K = kron(A,B)
K = 4×6
1 1 2 2 3 3
1 1 2 2 3 3
4 4 5 5 6 6
4 4 5 5 6 6
結果は、4 行 6 列のブロック行列になります。
この例ではスパース ラプラス演算子行列を可視化します。
2 次元、n 行 n 列グリッド上で、離散ラプラス演算子の行列表現は、n*n 行 n*n 列のスパース行列になります。各行または各列に非ゼロ要素が最大 5 個あります。行列は、1 次元の差分演算子のクロネッカー積として生成できます。この例では、n = 5 となります。
n = 5; I = speye(n,n); E = sparse(2:n,1:n-1,1,n,n); D = E+E'-2*I; A = kron(D,I)+kron(I,D);
spy を使って、スパース パターンを可視化します。
spy(A,'k')
入力引数
入力行列。スカラー、ベクトルまたは行列として指定します。A または B のいずれかがスパースの場合、kron は非ゼロの要素のみを乗算し、結果もスパースになります。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
複素数のサポート: あり
詳細
A が m 行 n 列の行列で、B が p 行 q 列の行列の場合、A と B のクロネッカー テンソル積は、B を A の各要素で乗算することで得られる大規模な行列になります。
たとえば、2 つのシンプルな 2 行 2 列の行列の場合、次が生成されます。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
kron 関数は、GPU 配列を完全にサポートします。GPU 上で関数を実行するには、入力データを gpuArray (Parallel Computing Toolbox) として指定します。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
参考
tensorprod | hankel | toeplitz | dot | cross
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)