许多数学对象可以通过将它们分解成多个组成部分或者找到它们的一些属性而更好地理解,这些属性是通用的,而不是由我们选择表示它们的方式产生的。
例如,整数可以分解为质因数。我们可以用十进制或二进制等不同方式表示整数 12,但是 12 = 2 × 2 × 3 永远是对的。从这个表示中我们可以获得一些有用的信息,比如 12 不能被 5 整除,或者 12 的倍数可以被 3 整除。
正如我们可以通过分解质因数来发现整数的一些内在性质,我们也可以通过分解矩阵来发现矩阵表示成数组元素时不明显的函数性质。
特征分解(eigendecomposition)是使用最广的矩阵分解之一,即我们将矩阵分解成一组特征向量和特征值。
方阵 A 的 特征向量(eigenvector)是指与 A 相乘后相当于对该向量进行缩放的非零向量v :
假设矩阵 A 有 n 个线性无关的特征向量 v ( 1 ) , ⋯ , v ( n ) {v^{(1)}, \cdots , v^{(n)}} v(1),⋯,v(n),对应着特征值 λ 1 , ⋯ , λ n {λ_1,\cdots, λ_n} λ1,⋯,λn。
我们将特征向量连接成一个矩阵,使得每一列是一个特征向量:
将特征值连接成一个向量 λ = [ λ 1 , . . . , λ n ] ⊤ λ = [λ_1, . . . , λn]^⊤ λ=[λ1,...,λn]⊤。
因此 A 的 特征分解(eigendecomposition)可以记作
我们已经看到了构建具有特定特征值和特征向量的矩阵,能够使我们在目标方向上延伸空间。
然而,我们也常常希望将矩阵 分解(decompose)成特征值和特征向量。
这样可以帮助我们分析矩阵的特定性质,就像质因数分解有助于我们理解整数。
虽然任意一个实对称矩阵 A 都有特征分解,但是特征分解可能并不唯一。
如果两个或多个特征向量( α 1 ( i ) , α 2 ( i ) , ⋯ \alpha^{(i)}_1,\alpha^{(i)}_2,\cdots α1(i),α2(i),⋯)拥有相同的特征值( λ i \lambda_i λi,设其重数为 n i n_i ni),那么在由这些特征向量产生的生成子空间V中的任意一组正交向量都(仍然)是该特征值对应的特征向量。
因此,我们可以等价地从这些特征向量中构成 Q 作为替代。
按照惯例,我们通常按降序排列 Λ 的元素。在该约定下,特征分解唯一当且仅当所有的特征值都是唯一的。
矩阵的特征分解给了我们很多关于矩阵的有用信息。
矩阵是奇异的当且仅当含有零特征值。
实对称矩阵的特征分解也可以用于优化二次方程 f ( x ) = x ⊤ A x f(x) = x^⊤Ax f(x)=x⊤Ax
限制 ∥ x ∥ 2 = 1 ∥x∥_2 = 1 ∥x∥2=1,当 x 等于 A 的某个特征向量时,f 将返回对应的特征值。
f ( α i ) = α i T A α i = α i T λ i α i = λ i α i T α i = λ i ∣ ∣ α i ∣ ∣ 2 2 = λ i × 1 = λ i , ( ∣ ∣ α i ∣ ∣ = 1 ) f(\alpha_i)=\alpha_i^TA\alpha_i=\alpha_i^T\lambda_i\alpha_i =\lambda_i\alpha_i^T\alpha_i=\lambda_i||\alpha_i||_2^2 \\ =\lambda_i\times{1}=\lambda_i,(||\alpha_i||=1) f(αi)=αiTAαi=αiTλiαi=λiαiTαi=λi∣∣αi∣∣22=λi×1=λi,(∣∣αi∣∣=1)
可见,在限制条件下,函数 f f f 的最大值就是最大特征值,最小值是最小特征值。
所有特征值都是正数的矩阵被称为 正定(positive definite);所有特征值都是非负数的矩阵被称为 半正定(positive semidefinite)。同样地,所有特征值都是负数的矩阵被称为 负定(negative definite);所有特征值都是非正数的矩阵被称为 半负定(negative semidefinite)。
半正定矩阵受到关注是因为它们保证 ∀ x , x ⊤ A x ≥ 0 ∀x, x⊤Ax ≥ 0 ∀x,x⊤Ax≥0。此外,正定矩阵还保证 x ⊤ A x = 0 ⇒ x = 0 x^⊤Ax = 0 ⇒ x = 0 x⊤Ax=0⇒x=0。
假设M是一个m×n阶矩阵,其中的元素全部属于域K,也就是实数域或复数域。
如此则存在一个分解使得
其中U是m×m阶酉矩阵;(复数范围内的对称阵推广)
Σ是m×n阶非负实数对角矩阵;
而 V ∗ V^* V∗即V的共轭转置,是n×n阶酉矩阵(注意和伴随矩阵区分)。
这样的分解就称作M的奇异值分解。
实数对角阵 Σ = D ( λ 1 , ⋯ , λ n ) \Sigma=D(\lambda_1,\cdots,\lambda_n) Σ=D(λ1,⋯,λn)对角线上的元素 λ i = Σ i , i \lambda_i=\Sigma_{i,i} λi=Σi,i即为M的奇异值
常见的做法是将奇异值由大而小排列。如此Σ便能由M唯一确定了。
将矩阵分解为 奇异向量(singular vector)和 奇异值(singular value)。
通过奇异值分解,我们会得到一些与特征分解相同类型的信息。
然而,奇异值分解有更广泛的应用。因为每个实数矩阵都有一个奇异值分解,但不一定都有特征分解。
我们使用特征分解去分析矩阵 A 时,得到特征向量构成的矩阵 V和特征值构成的向量 λ,我们可以重新将 A 写作
奇异值分解是类似的,只不过这回我们将矩阵 A 分解成三个矩阵的乘积
事实上,我们可以用与 A 相关的特征分解去解释 A 的奇异值分解。
A 的 左奇异向量是 A A ⊤ AA^⊤ AA⊤ 的特征向量。
A 的 右奇异向量是 A ⊤ A A^⊤A A⊤A 的特征向量。
A 的非零奇异值是 A ⊤ A A^⊤A A⊤A 特征值的平方根,同时也是 A A ⊤ AA^⊤ AA⊤ 特征值的平方根。
SVD 最有用的一个性质可能是拓展矩阵求逆到非方矩阵上。
Unitary matrix - Wikipedia
酉矩阵 (wikipedia.org)
在线性代数中,酉矩阵(又译作幺正矩阵,英语:unitary matrix)指其共轭转置恰为其逆矩阵的复数方阵,数学描述如下:
U ∗ U = U U ∗ = I n U − 1 = U ∗ {\displaystyle U^{*}U=UU^{*}=I_{n}} \\ {\displaystyle U^{-1}=U^{*}} U∗U=UU∗=InU−1=U∗
U U ∗ = E UU^*=E UU∗=E,即 U ( U ‾ ) T = E U(\overline{U})^T=E U(U)T=E;而不是 U U T = E UU^T=E UUT=E
其中 U ∗ U^* U∗ 是 U 的共轭转置
I n I_n In 是 n×n 单位矩阵。
酉矩阵是正交矩阵(元素均为实数)在复数的推广
例
U是一个正交的复矩阵:
U = [ − i 2 1 2 i 2 1 2 ] U ‾ = [ i 2 1 2 − i 2 1 2 ] U ∗ = ( U ‾ ) T = [ i 2 − i 2 1 2 1 2 ] U={\begin{bmatrix}-{\frac {i}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\{\frac {i}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\\end{bmatrix}} \\ \overline{U}={ \begin{bmatrix} {\frac {i}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\ -{\frac {i}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\ \end{bmatrix}} \\ U^*=(\overline{U})^T={ \begin{bmatrix} {\frac {i}{\sqrt {2}}}&-{\frac {i}{\sqrt {2}}}\\ {\frac {1}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\ \end{bmatrix}} U=[−2i2i2121]U=[2i−2i2121]U∗=(U)T=[2i21−2i21]
U ∗ U = [ i 2 − i 2 1 2 1 2 ] [ − i 2 1 2 i 2 1 2 ] = [ 1 0 0 1 ] U U ∗ = [ − i 2 1 2 i 2 1 2 ] [ i 2 − i 2 1 2 1 2 ] = [ 1 0 0 1 ] {\displaystyle U^{*}U={\begin{bmatrix}{\frac {i}{\sqrt {2}}}&-{\frac {i}{\sqrt {2}}}\\{\frac {1}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\\end{bmatrix}}{\begin{bmatrix}-{\frac {i}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\{\frac {i}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\\end{bmatrix}}={\begin{bmatrix}1&0\\0&1\\\end{bmatrix}}} \\ {\displaystyle UU^{*}={\begin{bmatrix}-{\frac {i}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\{\frac {i}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\\end{bmatrix}}{\begin{bmatrix}{\frac {i}{\sqrt {2}}}&-{\frac {i}{\sqrt {2}}}\\{\frac {1}{\sqrt {2}}}&{\frac {1}{\sqrt {2}}}\\\end{bmatrix}}={\begin{bmatrix}1&0\\0&1\\\end{bmatrix}}} U∗U=[2i21−2i21][−2i2i2121]=[1001]UU∗=[−2i2i2121][2i21−2i21]=[1001]
U − 1 = U ∗ U^{-1}=U^* U−1=U∗
∣ λ i ∣ = 1 |\lambda_i|=1 ∣λi∣=1
∣ U ∣ = 1 |U|=1 ∣U∣=1
T r ( A ) = ∑ i A i i Tr(A)=\sum_{i}A_{ii} Tr(A)=∑iAii
迹运算可以让许多运算清楚的表示:
例如描述矩阵的Frobenius 范数:
∣ ∣ A ∣ ∣ F = ∑ i , j ( a i j ) 2 = T r ( A A T ) ||A||_F=\sqrt{\sum_{i,j}(a_{ij})^2}=\sqrt{Tr(AA^T)} ∣∣A∣∣F=i,j∑(aij)2=Tr(AAT)
迹运算在转置运算下是不变的: T r ( A ) = T r ( A T ) Tr(A)=Tr(A^T) Tr(A)=Tr(AT)
设 A 1 , ⋯ , A n A_1,\cdots,A_n A1,⋯,An可以连续相乘,且 A i 1 , ⋯ , A i n A_{i_1},\cdots,A_{i_n} Ai1,⋯,Ain也是可以连续乘的,那么 T r ( ∏ i A i ) = T r ( ∏ j A i j ) Tr(\prod_{i}A_i)=Tr(\prod_{j}A_{i_j}) Tr(∏iAi)=Tr(∏jAij)
类似的矩阵乘法
T r ( ∏ i = 1 n F ( i ) ) = T r ( F ( 1 ) ∏ i = 2 n F ( i ) ) = T r ( F ( n ) ∏ i = 1 n − 1 F ( i ) ) F ( i ) 中的 i 表示第 i 个矩阵 Tr(\prod_{i=1}^{n}F^{(i)}) =Tr(F^{(1)}\prod_{i=2}^{n}F^{(i)}) =Tr(F^{(n)}\prod_{i=1}^{n-1}F^{(i)}) \\ F^{(i)}中的i表示第i个矩阵 Tr(i=1∏nF(i))=Tr(F(1)i=2∏nF(i))=Tr(F(n)i=1∏n−1F(i))F(i)中的i表示第i个矩阵
即使循环置换后矩阵乘积的形状变了,但是妓院算的结果依然不变
另一个有用的事实是标量在迹运算后仍然是它自己: a = T r ( a ) a = Tr(a) a=Tr(a)。