Matrix Types(矩阵类型)¶
特殊的 matrix 结构能带来计算上的捷径和数学上的保证。本节涵盖单位 matrix、对角 matrix、对称 matrix、三角 matrix、正交 matrix、正定 matrix、稀疏 matrix 和随机 matrix——这些类型出现在协方差估计、图算法、正则化和 Markov 链等场景中。
-
并非所有 matrix 都是一样的。不同的结构赋予 matrix 特殊的属性,使其计算更快、推理更容易,或者两者兼有。以下是你最常遇到的类型。
-
方阵(square matrix)具有相同的行数和列数(\(n \times n\))。大多数有趣的属性(行列式、eigenvalue、逆)只适用于方阵。
-
单位 matrix \(I\) 是对角线为 1、其余位置为 0 的方阵。它是"什么都不做"的变换:对任意兼容的 matrix \(A\),\(AI = IA = A\)。
-
零 matrix \(O\) 的所有元素都为零。它将每个 vector 映射为零 vector,丢失所有信息。
-
对角 matrix除主对角线外全为零。将 vector 乘以对角 matrix 只是对每个分量独立缩放,效率极高。
- 对称 matrix等于其自身的转置:\(A = A^T\),即 \(A_{ij} = A_{ji}\)。对称 matrix 的特殊性质是其 eigenvector 总是相互垂直。协方差 matrix 总是对称的。
- 三角 matrix在对角线一侧全为零。下三角 matrix上方为零,上三角 matrix下方为零。它们对于通过前代或回代高效求解方程组至关重要。
-
三角 matrix 的行列式是其对角线元素的乘积。
-
正交 matrix具有转置等于逆的性质:\(Q^TQ = QQ^T = I\)。
-
这意味着只需转置就能"撤销"该变换,计算代价很低。其各列是正交归一的(单位长度且相互垂直)。
-
稀疏 matrix的大多数元素为零,而稠密 matrix的大多数元素非零。
-
在实际中,许多真实世界的 matrix 极为稀疏。
-
一个拥有一百万用户的社交网络可以用一个 \(10^6 \times 10^6\) 的 matrix 来表示,但每个人只与少数人相连,因此几乎所有条目都为零。
-
置换 matrix(permutation matrix)通过重排单位 matrix 的行得到。将一个 vector 乘以它会打乱 vector 的元素顺序。每一行和每一列恰好有一个 1,其余为 0。
-
例如,以下 matrix 将第 3 个元素移到第 1 位,第 1 个元素移到第 2 位,第 2 个元素移到第 3 位:
- Toeplitz matrix沿每条对角线(从左上到右下)的值相同。注意每条对角线都是常数:
-
这种结构出现在信号处理和卷积中,因为将固定滤波器在信号上滑动等价于乘以一个 Toeplitz matrix。
-
循环 matrix(circulant matrix)是一种特殊的 Toeplitz matrix,其中每一行是上一行的循环移位。当一行到达末尾时,它会从头继续:
-
循环 matrix 与离散 Fourier 变换(DFT)密切相关,是循环卷积工作原理的核心。
-
Hermitian matrix是对称 matrix 的复数等价物:\(A = A^\ast\)(其中 \(A^\ast\) 是共轭转置)。
-
对于实值 matrix,Hermitian 和对称是同一回事。你会在量子计算和信号处理中遇到这类 matrix。
-
酉 matrix(unitary matrix)是正交 matrix 的复数等价物:\(U^\ast U = UU^\ast = I\)。正如正交 matrix 在实空间中保持长度,酉 matrix 在复空间中保持长度。
-
幂等 matrix(idempotent matrix)满足 \(A^2 = A\)。对变换应用两次与应用一次相同,因此它是一种投影。一旦完成投影,再次投影不会发生任何变化。
-
幂零 matrix(nilpotent matrix)对某个幂次 \(k\) 满足 \(A^k = O\)(零 matrix)。对变换应用足够多次后,一切都会坍缩为零。例如:
- 布尔 matrix(或二值 matrix)只包含 0 和 1,表示是/否关系。例如,在一个有 3 个节点的图中,邻接 matrix记录哪些节点相连:
-
这里,节点 1 与节点 2 和 3 相连,但节点 2 和 3 之间没有连接。
-
Vandermonde matrix由一组值的连续幂次构成。给定值 \(x_1, x_2, x_3\):
-
这种结构出现在多项式插值中:找到经过给定一组点的唯一多项式。
-
Hessenberg matrix是"几乎"三角形的 matrix,在第一条次对角线下方为零:
- 它是高效计算 eigenvalue 的有用中间形式。先将 matrix 化简为 Hessenberg 形式,可以使迭代算法收敛更快。
编程练习(使用 CoLab 或 notebook)¶
-
创建一个正交 matrix(旋转 matrix),将其乘以其转置,验证得到单位 matrix。尝试不同的角度。
-
创建一个对称 matrix,验证其等于自身的转置。然后计算其 eigenvalue,检查 eigenvector 是否垂直。