kron
Kronecker 张量积
说明
K = kron(
返回矩阵 A,B
)A
和 B
的 Kronecker 张量积。如果 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
计算 Kronecker 张量积。
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 分块对角矩阵。
通过重复元素来扩展矩阵大小。
创建一个 2×2 的全 1 矩阵,以及一个需要重复其元素的 2×3 矩阵。
A = [1 2 3; 4 5 6]; B = ones(2);
使用 kron
计算 Kronecker 张量积。
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 分块矩阵。
此示例以可视方式呈现稀疏拉普拉斯算子矩阵。
离散拉普拉斯算子在二维 n
×n
网格中的矩阵表示形式是 n*n
×n*n
稀疏矩阵。每行或每列中最多有 5 个非零元素。可以采用一维差分算子的 Kronecker 积的形式生成矩阵。在此示例中,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
的 Kronecker 张量积是通过将 B
乘以 A
的各元素形成的一个大型矩阵。
例如,两个简单的 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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 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)