线性代数-MIT 18.06-6(a)

文章目录

    • 26.对称矩阵及正定性
      • 对称矩阵
        • 对称矩阵的特性:
        • 矩阵分解(谱定理)
        • 定理证明和复数推广
        • 对称矩阵和投影矩阵
      • 正定性
        • 性质1
        • 性质2
    • 27.复数矩阵和快速傅里叶变换
      • 复数向量
      • 复数矩阵
        • 对称性
        • 正交性
      • 傅里叶矩阵
      • 快速傅里叶变换

本文在学习《麻省理工公开课 线性代数 MIT 18.06 Linear Algebra》总结反思形成

视频链接:MITB站视频

笔记部分:总结参考子实

26.对称矩阵及正定性

对称矩阵

对称矩阵的特性:
  1. 特征值为实数;(对比第二十一讲介绍的旋转矩阵,其特征值为纯虚数。)
  2. 特征向量相互正交。(当特征值重复时,特征向量也可以从子空间中选出相互正交正交的向量。)

典型的状况是,特征值不重复,特征向量相互正交。

  • 那么在通常(可对角化)情况下,一个矩阵可以化为: A = S Λ S − 1 A=S\varLambda S^{-1} A=SΛS1
  • 在矩阵对称的情况下,通过性质2可知,由特征向量组成的矩阵 S S S中的列向量是相互正交的,此时如果我们把特征向量的长度统一化为 1 1 1,就可以得到一组标准正交的特征向量。则对于对称矩阵有

A = Q Λ Q − 1 A=Q\varLambda Q^{-1} A=QΛQ1

而对于标准正交矩阵,有 Q = Q T Q=Q^T Q=QT,所以对称矩阵可以写为
A = Q Λ Q T A=Q\varLambda Q^T A=QΛQT

矩阵分解(谱定理)

这个分解本身就代表着对称, ( Q Λ Q T ) T = ( Q T ) T Λ T Q T = Q Λ Q T \left(Q\varLambda Q^T\right)^T=\left(Q^T\right)^T\varLambda^TQ^T=Q\varLambda Q^T (QΛQT)T=(QT)TΛTQT=QΛQT

在数学上叫做谱定理(spectral theorem),谱就是指矩阵特征值的集合。

该名称来自光谱,指一些纯事物的集合,就像将特征值分解成为特征值与特征向量。

在力学上称之为主轴定理(principle axis theorem)

从几何上看,它意味着如果给定某种材料,在合适的轴上来看,它就变成对角化的,方向就不会重复。

定理证明和复数推广
  • 现在我们来证明性质1。对于矩阵 A x = λ x ‾ \underline{Ax=\lambda x} Ax=λx,对于其共轭部分总有 A ˉ x ˉ = λ ˉ x ˉ \bar A\bar x=\bar\lambda \bar x Aˉxˉ=λˉxˉ,根据前提条件我们只讨论实矩阵,则有 A x ˉ = λ ˉ x ˉ A\bar x=\bar\lambda \bar x Axˉ=λˉxˉ,将等式两边取转置有 x ˉ T A = x ˉ T λ ˉ ‾ \overline{\bar{x}^TA=\bar{x}^T\bar\lambda} xˉTA=xˉTλˉ。将“下划线”式两边左乘 x ˉ T \bar{x}^T xˉT x ˉ T A x = x ˉ T λ x \bar{x}^TAx=\bar{x}^T\lambda x xˉTAx=xˉTλx,“上划线”式两边右乘 x x x x ˉ T A x = x ˉ T λ ˉ x \bar{x}^TAx=\bar{x}^T\bar\lambda x xˉTAx=xˉTλˉx,观察发现这两个式子左边是一样的,所以 x ˉ T λ x = x ˉ T λ ˉ x \bar{x}^T\lambda x=\bar{x}^T\bar\lambda x xˉTλx=xˉTλˉx,则有 λ = λ ˉ \lambda=\bar{\lambda} λ=λˉ(这里有个条件, x ˉ T x ≠ 0 \bar{x}^Tx\neq 0 xˉTx=0),证毕。

观察这个前提条件, x ˉ T x = [ x ˉ 1 x ˉ 2 ⋯ x ˉ n ] [ x 1 x 2 ⋮ x n ] = x ˉ 1 x 1 + x ˉ 2 x 2 + ⋯ + x ˉ n x n \bar{x}^Tx=\begin{bmatrix}\bar x_1&\bar x_2&\cdots&\bar x_n\end{bmatrix}\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}=\bar x_1x_1+\bar x_2x_2+\cdots+\bar x_nx_n xˉTx=[xˉ1xˉ2xˉn]x1x2xn=xˉ1x1+xˉ2x2++xˉnxn,设 x 1 = a + i b , x ˉ 1 = a − i b x_1=a+ib, \bar x_1=a-ib x1=a+ib,xˉ1=aib x ˉ 1 x 1 = a 2 + b 2 \bar x_1x_1=a^2+b^2 xˉ1x1=a2+b2,所以有 x ˉ T x > 0 \bar{x}^Tx>0 xˉTx>0。而 x ˉ T x \bar{x}^Tx xˉTx就是 x x x长度的平方。

拓展这个性质,当 A A A为复矩阵,根据上面的推导,则矩阵必须满足 A = A ˉ T A=\bar{A}^T A=AˉT时,才有性质1、性质2成立

(教授称具有这种特征值为实数、特征向量相互正交的矩阵为“好矩阵”)。

对称矩阵和投影矩阵

每一个对称矩阵都可以分解为一系列相互正交的投影矩阵。
A = Q Λ Q T = [ q 1   q 2   ⋯   q n ] [ λ 1 ⋯ λ 2 ⋯ ⋮ ⋮ ⋱ ⋮ ⋯ λ n ] [ q 1 T q 1 T ⋮ q 1 T ] = λ 1 q 1 q 1 T + λ 2 q 2 q 2 T + ⋯ + λ n q n q n T A=Q\varLambda Q^T=\Bigg[q_1\ q_2\ \cdots\ q_n\Bigg]\begin{bmatrix}\lambda_1& &\cdots& \\&\lambda_2&\cdots&\\\vdots&\vdots&\ddots&\vdots\\& &\cdots&\lambda_n\end{bmatrix}\begin{bmatrix}\quad q_1^T\quad\\\quad q_1^T\quad\\\quad \vdots \quad\\\quad q_1^T\quad\end{bmatrix}=\lambda_1q_1q_1^T+\lambda_2q_2q_2^T+\cdots+\lambda_nq_nq_n^T A=QΛQT=[q1 q2  qn]λ1λ2λnq1Tq1Tq1T=λ1q1q1T+λ2q2q2T++λnqnqnT

注意这个展开式中的 q q T qq^T qqT q q q是单位列向量所以 q T q = 1 q^Tq=1 qTq=1,结合我们在第十五讲所学的投影矩阵的知识有 q q T q T q = q q T \frac{qq^T}{q^Tq}=qq^T qTqqqT=qqT是一个投影矩阵,很容易验证其性质,比如平方它会得到 q q T q q T = q q T qq^Tqq^T=qq^T qqTqqT=qqT于是多次投影不变等。

  • 在知道对称矩阵的特征值皆为实数后,我们再来讨论这些实数的符号,因为特征值的正负号会影响微分方程的收敛情况(需要实部为负的特征值保证收敛)。

  • 用消元法取得矩阵的主元,观察主元的符号,主元符号的正负数量与特征向量的正负数量相同(有用性质!)。

正定性

如果对称矩阵是“好矩阵”,则正定矩阵(positive definite)是其一个更好的子类。

性质1

正定矩阵指特征值均为正数的矩阵(根据上面的性质有矩阵的主元均为正)。

举例, [ 5 2 2 3 ] \begin{bmatrix}5&2\\2&3\end{bmatrix} [5223],由行列式消元知其主元为 5 , 11 5 5,\frac{11}{5} 5,511,按一般的方法求特征值有 ∣ 5 − λ 2 2 3 − l a m b d a ∣ = λ 2 − 8 λ + 11 = 0 , λ = 4 ± 5 \begin{vmatrix}5-\lambda&2\\2&3-lambda\end{vmatrix}=\lambda^2-8\lambda+11=0, \lambda=4\pm\sqrt 5 5λ223lambda=λ28λ+11=0,λ=4±5

性质2

所有子行列式为正。对上面的例子有 ∣ 5 ∣ = 5 , ∣ 5 2 2 3 ∣ = 11 \begin{vmatrix}5\end{vmatrix}=5, \begin{vmatrix}5&2\\2&3\end{vmatrix}=11 5=5,5223=11

正定矩阵将早期学习的的消元主元、中期学习的的行列式、后期学习的特征值结合在了一起。

27.复数矩阵和快速傅里叶变换

复数向量

  1. 先介绍复数向量,我们不妨换一个字母符号来表示: z = [ z 1 z 2 ⋮ z n ] z=\begin{bmatrix}z_1\\z_2\\\vdots\\z_n\end{bmatrix} z=z1z2zn,向量的每一个分量都是复数。此时 z z z不再属于 R n \mathbb{R}^n Rn实向量空间,它现在处于 C n \mathbb{C}^n Cn复向量空间。

  2. 对比模的计算

  • 实向量,我们计算模只需要计算 ∣ v ∣ = v T v \left|v\right|=\sqrt{v^Tv} v=vTv 即可,而如果对复向量使用 z T z z^Tz zTz则有 z T z = [ z 1 z 2 ⋯ z n ] [ z 1 z 2 ⋮ z n ] = z 1 2 + z 2 2 + ⋯ + z n 2 z^Tz=\begin{bmatrix}z_1&z_2&\cdots&z_n\end{bmatrix}\begin{bmatrix}z_1\\z_2\\\vdots\\z_n\end{bmatrix}=z_1^2+z_2^2+\cdots+z_n^2 zTz=[z1z2zn]z1z2zn=z12+z22++zn2,这里 z i z_i zi是复数,平方后虚部为负,求模时本应相加的运算变成了减法。(如向量 [ 1 i ] \begin{bmatrix}1&i\end{bmatrix} [1i],右乘其转置后结果为 0 0 0,但此向量的长度显然不是零。)

  • 复向量,使用 ∣ z ∣ = z ˉ T z \left|z\right|=\sqrt{\bar{z}^Tz} z=zˉTz ,即 [ z ˉ 1 z ˉ 2 ⋯ z ˉ n ] [ z 1 z 2 ⋮ z n ] \begin{bmatrix}\bar z_1&\bar z_2&\cdots&\bar z_n\end{bmatrix}\begin{bmatrix}z_1\\z_2\\\vdots\\z_n\end{bmatrix} [zˉ1zˉ2zˉn]z1z2zn,即使用向量共轭的转置乘以原向量即可。(如向量 [ 1 i ] \begin{bmatrix}1&i\end{bmatrix} [1i],右乘其共轭转置后结果为 [ 1 − i ] [ 1 i ] = 2 \begin{bmatrix}1&-i\end{bmatrix}\begin{bmatrix}1\\i\end{bmatrix}=2 [1i][1i]=2。)

  • 我们把共轭转置乘以原向量记为 z H z z^Hz zHz H H H读作埃尔米特(人名为Hermite,形容词为Hermitian)

  1. 计算向量的内积
  • 有了复向量模的计算公式,同理可得,对于复向量,内积不再是实向量的 y T x y^Tx yTx形式,复向量内积应为 y H x y^Hx yHx

复数矩阵

对称性

对于实矩阵, A T = A A^T=A AT=A即可表达矩阵的对称性。而对于复矩阵,我们同样需要求一次共轭 A ˉ T = A \bar{A}^T=A AˉT=A

举个例子 [ 2 3 + i 3 − i 5 ] \begin{bmatrix}2&3+i\\3-i&5\end{bmatrix} [23i3+i5]是一个复数情况下的对称矩阵。这叫做埃尔米特矩阵,有性质 A H = A A^H=A AH=A

正交性

在第十七讲中,我们这样定义标准正交向量: q i T q j = { 0 i ≠ j 1 i = j q_i^Tq_j=\begin{cases}0\quad i\neq j\\1\quad i=j\end{cases} qiTqj={0i=j1i=j

  • 现在,对于复向量我们需要求共轭: q ˉ i T q j = q i H q j = { 0 i ≠ j 1 i = j \bar{q}_i^Tq_j=q_i^Hq_j=\begin{cases}0\quad i\neq j\\1\quad i=j\end{cases} qˉiTqj=qiHqj={0i=j1i=j

第十七讲中的标准正交矩阵: Q = [ q 1   q 2   ⋯   q n ] Q=\Bigg[q_1\ q_2\ \cdots\ q_n\Bigg] Q=[q1 q2  qn] Q T Q = I Q^TQ=I QTQ=I

  • 现在对于复矩阵则有 Q H Q = I Q^HQ=I QHQ=I

就像人们给共轭转置起了个“埃尔米特”这个名字一样,正交性(orthogonal)在复数情况下也有了新名字,酉(unitary)

酉矩阵(unitary matrix)与正交矩阵类似,满足 Q H Q = I Q^HQ=I QHQ=I的性质。而前面提到的傅里叶矩阵就是一个酉矩阵。

傅里叶矩阵

  • n n n阶傅里叶矩阵

F n = [ 1 1 1 ⋯ 1 1 w w 2 ⋯ w n − 1 1 w 2 w 4 ⋯ w 2 ( n − 1 ) ⋮ ⋮ ⋮ ⋱ ⋮ 1 w n − 1 w 2 ( n − 1 ) ⋯ w ( n − 1 ) 2 ] F_n=\begin{bmatrix}1&1&1&\cdots&1\\1&w&w^2&\cdots&w^{n-1}\\1&w^2&w^4&\cdots&w^{2(n-1)}\\\vdots&\vdots&\vdots&\ddots&\vdots\\1&w^{n-1}&w^{2(n-1)}&\cdots&w^{(n-1)^2}\end{bmatrix} Fn=11111ww2wn11w2w4w2(n1)1wn1w2(n1)w(n1)2

对于每一个元素有 ( F n ) i j = w i j i , j = 0 , 1 , 2 , ⋯   , n − 1 (F_n)_{ij}=w^{ij}\quad i,j=0,1,2,\cdots,n-1 (Fn)ij=wiji,j=0,1,2,,n1

矩阵中的 w w w是一个非常特殊的值,满足 w n = 1 w^n=1 wn=1,其公式为 w = e i 2 π / n w=e^{i2\pi/n} w=ei2π/n。易知 w w w在复平面的单位圆上, w = cos ⁡ 2 π n + i sin ⁡ 2 π n w=\cos\frac{2\pi}{n}+i\sin\frac{2\pi}{n} w=cosn2π+isinn2π

在傅里叶矩阵中,当我们计算 w w w的幂时, w w w在单位圆上的角度翻倍。比如在 6 6 6阶情形下, w = e 2 π / 6 w=e^{2\pi/6} w=e2π/6,即位于单位圆上 6 0 ∘ 60^\circ 60角处,其平方位于单位圆上 12 0 ∘ 120^\circ 120角处,而 w 6 w^6 w6位于 1 1 1处。从开方的角度看,它们是 1 1 1 6 6 6个六次方根,而一次的 w w w称为原根。

  • 我们现在来看 4 4 4阶傅里叶矩阵,先计算 w w w w = i ,   w 2 = − 1 ,   w 3 = − i ,   w 4 = 1 w=i,\ w^2=-1,\ w^3=-i,\ w^4=1 w=i, w2=1, w3=i, w4=1 F 4 = [ 1 1 1 1 1 i i 2 i 3 1 i 2 i 4 i 6 1 i 3 i 6 i 9 ] = [ 1 1 1 1 1 i − 1 − i 1 − 1 1 − 1 1 − i − 1 i ] F_4=\begin{bmatrix}1&1&1&1\\1&i&i^2&i^3\\1&i^2&i^4&i^6\\1&i^3&i^6&i^9\end{bmatrix}=\begin{bmatrix}1&1&1&1\\1&i&-1&-i\\1&-1&1&-1\\1&-i&-1&i\end{bmatrix} F4=11111ii2i31i2i4i61i3i6i9=11111i1i11111i1i

    矩阵的四个列向量正交,我们验证一下第二列和第四列, c 2 ˉ T c 4 = 1 − 0 + 1 − 0 = 0 \bar{c_2}^Tc_4=1-0+1-0=0 c2ˉTc4=10+10=0,正交。

    给矩阵乘上系数 1 2 \frac{1}{2} 21(除以列向量的长度)得到标准正交矩阵 F 4 = 1 2 [ 1 1 1 1 1 i − 1 − i 1 − 1 1 − 1 1 − i − 1 i ] F_4=\frac{1}{2}\begin{bmatrix}1&1&1&1\\1&i&-1&-i\\1&-1&1&-1\\1&-i&-1&i\end{bmatrix} F4=2111111i1i11111i1i

    此时有 F 4 H F 4 = I F_4^HF_4=I F4HF4=I,于是该矩阵的逆矩阵也就是其共轭转置 F 4 H F_4^H F4H

快速傅里叶变换

对于傅里叶矩阵, F 6 ,   F 3 F_6,\ F_3 F6, F3 F 8 ,   F 4 F_8,\ F_4 F8, F4 F 64 ,   F 32 F_{64},\ F_{32} F64, F32之间有着特殊的关系。

举例,有傅里叶矩阵 F 6 4 F_64 F64,一般情况下,用一个列向量右乘 F 64 F_{64} F64需要约 6 4 2 64^2 642次计算,显然这个计算量是比较大的。我们想要减少计算量,于是想要分解 F 64 F_{64} F64,联系到 F 32 F_{32} F32,有
[ F 64 ] = [ I D I − D ] [ F 32 0 0 F 32 ] [ 1 ⋯ 0 ⋯ 0 ⋯ 1 ⋯ 1 ⋯ 0 ⋯ 0 ⋯ 1 ⋯ ⋱ ⋱ ⋱ ⋱ ⋯ 1 ⋯ 0 ⋯ 0 ⋯ 1 ] \Bigg[F_{64}\Bigg]=\begin{bmatrix}I&D\\I&-D\end{bmatrix}\begin{bmatrix}F_{32}&0\\0&F_{32}\end{bmatrix}\begin{bmatrix}1&&\cdots&&&0&&\cdots&&\\0&&\cdots&&&1&&\cdots&&\\&1&\cdots&&&&0&\cdots&&\\&0&\cdots&&&&1&\cdots&&\\&&&\ddots&&&&&\ddots&&\\&&&\ddots&&&&&\ddots&&\\&&&\cdots&1&&&&\cdots&0\\&&&\cdots&0&&&&\cdots&1\end{bmatrix} [F64]=[IIDD][F3200F32]101010010101

我们分开来看等式右侧的这三个矩阵:

  • 第一个矩阵由单位矩阵 I I I和对角矩阵 D = [ 1 w w 2 ⋱ w 31 ] D=\begin{bmatrix}1&&&&\\&w&&&\\&&w^2&&\\&&&\ddots&\\&&&&w^{31}\end{bmatrix} D=1ww2w31组成,我们称这个矩阵为修正矩阵,显然其计算量来自 D D D矩阵,对角矩阵的计算量约为 32 32 32即这个修正矩阵的计算量约为 32 32 32,单位矩阵的计算量忽略不计。

  • 第二个矩阵是两个 F 32 F_{32} F32与零矩阵组成的,计算量约为 2 × 3 2 2 2\times 32^2 2×322

  • 第三个矩阵通常记为 P P P矩阵,这是一个置换矩阵,其作用是讲前一个矩阵中的奇数列提到偶数列之前。

    将前一个矩阵从 [ x 0   x 1   ⋯ ] \Bigg[x_0\ x_1\ \cdots\Bigg] [x0 x1 ]变为 [ x 0   x 2   ⋯   x 1   x 3   ⋯ ] \Bigg[x_0\ x_2\ \cdots\ x_1\ x_3\ \cdots\Bigg] [x0 x2  x1 x3 ]

    这个置换矩阵的计算量也可以忽略不计。

    参考FFT、How the FFT is computed做进一步讨论。

  • 所以我们把 6 4 2 64^2 642复杂度的计算化简为 2 × 3 2 2 + 32 2\times 32^2+32 2×322+32复杂度的计算,我们可以进一步化简 F 32 F_{32} F32得到与 F 16 F_{16} F16有关的式子
    [ I 32 D 32 I 32 − D 32 ] [ I 16 D 16 I 16 − D 16 I 16 D 16 I 16 − D 16 ] [ F 16 F 16 F 16 F 16 ] [ P 16 P 16 ] [   P 32   ] \begin{bmatrix}I_{32}&D_{32}\\I_{32}&-D_{32}\end{bmatrix}\begin{bmatrix}I_{16}&D_{16}&&\\I_{16}&-D_{16}&&\\&&I_{16}&D_{16}\\&&I_{16}&-D_{16}\end{bmatrix}\begin{bmatrix}F_{16}&&&\\&F_{16}&&\\&&F_{16}&\\&&&F_{16}\end{bmatrix}\begin{bmatrix}P_{16}&\\&P_{16}\end{bmatrix}\Bigg[\ P_{32}\ \Bigg] [I32I32D32D32]I16I16D16D16I16I16D16D16F16F16F16F16[P16P16][ P32 ]

    3 2 2 32^2 322的计算量进一步分解为 2 × 1 6 2 + 16 2\times 16^2+16 2×162+16的计算量,如此递归下去我们最终得到含有一阶傅里叶矩阵的式子。

  • 来看化简后计算量, 2 ( 2 ( 2 ( 2 ( 2 ( 2 ( 1 ) 2 + 1 ) + 2 ) + 4 ) + 8 ) + 16 ) + 32 2\left(2\left(2\left(2\left(2\left(2\left(1\right)^2+1\right)+2\right)+4\right)+8\right)+16\right)+32 2(2(2(2(2(2(1)2+1)+2)+4)+8)+16)+32,约为 6 × 32 = log ⁡ 2 64 × 64 2 6\times 32=\log_264\times \frac{64}{2} 6×32=log264×264

    算法复杂度为 n 2 log ⁡ 2 n \frac{n}{2}\log_2n 2nlog2n。于是原来需要 n 2 n^2 n2的运算现在只需要 n 2 log ⁡ 2 n \frac{n}{2}\log_2n 2nlog2n就可以实现。

你可能感兴趣的:(数学基础,线性代数,矩阵,机器学习)