免费张量积计算器

[
]
⊗
[
]

输入两个矩阵的值查看张量积

什么是克罗内克积?

克罗内克积(也称为矩阵张量积或矩阵直积)是一种特殊的二元运算,可将任意维度的两个矩阵组合起来。与普通矩阵乘法要求内维匹配不同,克罗内克积可作用于任意一对矩阵,生成的新矩阵尺寸为原始维度的乘积。具体来说,若矩阵 AA 有 rAr_A 行和 cAc_A 列,矩阵 BB 有 rBr_B 行和 cBc_B 列,则它们的克罗内克积 A⊗BA \otimes B 将有 rA⋅rBr_A \cdot r_B 行和 cA⋅cBc_A \cdot c_B 列。当其中一个输入为向量(单行或单列)时,该运算常被称为向量张量积。

这款免费在线张量积计算器(常称为克罗内克积计算器)自动完成计算,让你专注于理解结果的结构与性质。无论你需要 2×22\times2 矩阵还是更大矩形矩阵的克罗内克积,该工具都可即时处理。

如何计算张量积

手动计算克罗内克积有两种常用方法:

  1. 分块矩阵法 – 将 AA 的每个元素乘以整个矩阵 BB,并将所得分块排列:
A⊗B=[a11Ba12B⋯a1cABa21Ba22B⋯a2cAB⋮⋮⋱⋮arA1BarA2B⋯arAcAB]A \otimes B = \begin{bmatrix} a_{11}B & a_{12}B & \cdots & a_{1c_A}B\\ a_{21}B & a_{22}B & \cdots & a_{2c_A}B\\ \vdots & \vdots & \ddots & \vdots\\ a_{r_A1}B & a_{r_A2}B & \cdots & a_{r_Ac_A}B \end{bmatrix}

这里 aijBa_{ij}B 表示 BB 的每个条目都乘以标量 aija_{ij}。

  1. 逐元素公式 – 对于结果中的给定索引对 (i,j)(i,j),设 rBr_B 和 cBc_B 为 BB 的行数/列数。则:
(A⊗B)ij=A⌈i/cB⌉,  ⌈j/cB⌉  ⋅  B (i−1) mod rB+1,  (j−1) mod cB+1.(A \otimes B)_{ij} = A_{\lceil i / c_B \rceil,\; \lceil j / c_B \rceil} \;\cdot\; B_{\, (i-1)\bmod r_B + 1,\; (j-1)\bmod c_B + 1}.

两种方法等效;对于小矩阵,分块法通常更简单,而公式法则便于大型或通用计算。

2×2矩阵的克罗内克积

例如:

A=(abcd),B=(efgh).A = \begin{pmatrix}a&b\\c&d\end{pmatrix},\qquad B = \begin{pmatrix}e&f\\g&h\end{pmatrix}.

使用分块法:

A⊗B=(aBbBcBdB)=(aeafbebfagahbgbhcecfdedfcgchdgdh).A\otimes B = \begin{pmatrix} aB & bB\\ cB & dB \end{pmatrix} = \begin{pmatrix} ae & af & be & bf\\ ag & ah & bg & bh\\ ce & cf & de & df\\ cg & ch & dg & dh \end{pmatrix}.

因此,两个 2×22\times2 矩阵的克罗内克积产生一个 4×44\times4 结果矩阵。此示例可立即用张量积计算器验证。

克罗内克积的性质

克罗内克积具有若干代数性质,在理论和应用中均很有用。

  • 结合律: (A⊗B)⊗C=A⊗(B⊗C)(A \otimes B) \otimes C = A \otimes (B \otimes C),适用于任何相容的矩阵。
  • 双线性: 该运算对每个参数分别线性:
(A+B)⊗C=A⊗C+B⊗C,A⊗(B+C)=A⊗B+A⊗C,(A+B)\otimes C = A\otimes C + B\otimes C,\quad A\otimes (B+C) = A\otimes B + A\otimes C,

且对标量 xx,有 (xA)⊗B=x(A⊗B)=A⊗(xB)(xA)\otimes B = x(A\otimes B) = A\otimes (xB)。

  • 转置: (A⊗B)T=AT⊗BT(A\otimes B)^T = A^T \otimes B^T。共轭转置同样成立:(A⊗B)∗=A∗⊗B∗(A\otimes B)^* = A^* \otimes B^*。

  • 奇异值: 如果 AA 的非零奇异值为 σ1,…,σpA\sigma_1,\dots,\sigma_{p_A},BB 的为 s1,…,spBs_1,\dots,s_{p_B},则 A⊗BA\otimes B 的非零奇异值为所有乘积 σisj\sigma_i s_j。因此,rank⁡(A⊗B)=rank⁡(A)⋅rank⁡(B)\operatorname{rank}(A\otimes B) = \operatorname{rank}(A) \cdot \operatorname{rank}(B)。

  • 可逆性: 若 AA 和 BB 是方阵且可逆,则 A⊗BA\otimes B 也可逆,且 (A⊗B)−1=A−1⊗B−1(A\otimes B)^{-1} = A^{-1} \otimes B^{-1}。

  • 特征值 (对于大小为 mm 的方阵 AA 和大小为 nn 的方阵 BB):设 α1,…,αm\alpha_1,\dots,\alpha_m 为 AA 的特征值(含重数),β1,…,βn\beta_1,\dots,\beta_n 为 BB 的特征值。则 A⊗BA\otimes B 的特征值为 αiβj\alpha_i\beta_j,其中 i=1,…,mi=1,\dots,m,j=1,…,nj=1,\dots,n。

从特征值性质直接得出两个有用公式:

det⁡(A⊗B)=(det⁡A)n (det⁡B)m,tr⁡(A⊗B)=(tr⁡A) (tr⁡B).\det(A\otimes B) = (\det A)^n \, (\det B)^m, \qquad \operatorname{tr}(A\otimes B) = (\operatorname{tr} A)\,(\operatorname{tr} B).

使用张量积计算器

要使用此工具计算克罗内克积,首先选择矩阵的维度(每个矩阵的行数和列数)。然后在显示的字段中输入数值条目。计算器将立即显示结果分块矩阵。请记住克罗内克积不可交换:A⊗BA\otimes B 通常不同于 B⊗AB\otimes A,因此输入矩阵的顺序很重要。

常见问题

1. 克罗内克积与普通矩阵乘法有何不同?

普通矩阵乘法要求第一个矩阵的列数等于第二个矩阵的行数。而克罗内克积(张量积)无此要求,可作用于任意一对矩阵;它通过将第一个矩阵的每个条目与整个第二个矩阵相乘来构建一个更大的矩阵。

2. 我可以向张量积计算器输入多大尺寸的矩阵?

计算器接受您选择的任何维度的矩阵。只需指定每个矩阵的行数和列数,工具即可执行克罗内克积,返回维度等于输入维度乘积的结果。

3. 克罗内克积与直和相同吗?

不相同。克罗内克积(直积)将一个矩阵的每个元素乘以整个第二个矩阵,生成一个更大的矩阵。而直和是将矩阵作为分块放在对角线上,是另一种运算。

4. 对两个方阵取克罗内克积时,特征值如何变化?

如果 A 的特征值为 α_i,B 的特征值为 β_j,则 A ⊗ B 的特征值为所有乘积 α_i β_j(含重数)。这也引出了克罗内克积的行列式和迹的简单公式。

使用方法

  1. 在2×2网格中输入矩阵A的四个值。
  2. 在2×2网格中输入矩阵B的四个值。
  3. 张量积(克罗内克积)会立即以4×4结果矩阵显示。