MIT 线性代数 Linear Algebra 26:复矩阵,傅里叶矩阵, 快速傅里叶变换 FFT

这一讲我们来讲一下复矩阵。线性代数中,复矩阵是避免不了的话题,因为一个简单实矩阵都有可能有复数特征值。

复矩阵

我们着重看一下复矩阵和实矩阵在运算上的区别。

  1. 距离

首先,一个复数向量的的距离求法发生了变化
x ⊤ x    →    x H x \bm{x}^\top\bm{x}~~\rightarrow~~ \bm{x}^H\bm{x} xx    xHx

其中, x H \bm{x}^H xH 指的是共轭转置。

相应的,内积也发生了变化

  1. 内积
    x ⊤ y    →    x H y \bm{x}^\top\bm{y}~~\rightarrow ~~ \bm{x}^H\bm{y} xy    xHy

  2. 对称矩阵 symmetric matrix → \rightarrow 厄米矩阵 Hermitian matrix

之前讲到对阵矩阵时说过,对称矩阵很好的性质在复数矩阵的情况下应该变为
A ⊤ = A    →    A H = A \bm{A}^\top=\bm{A}~~\rightarrow ~~ \bm{A}^H=\bm{A} A=A    AH=A

  1. 正交矩阵 orthogonal matrix → \rightarrow 酉矩阵 Unitary matrix

Q ⊤ Q = I    →    Q H = Q \bm{Q}^\top\bm{Q}=I~~\rightarrow ~~ \bm{Q}^H=\bm{Q} QQ=I    QH=Q

傅里叶矩阵

下面我们讲一下目前为止最重要的复数矩阵: 傅里叶矩阵 Fourier Matrix. 它实际上是傅里叶变换的矩阵形式。

定义

我们来看看什么是傅里叶矩阵
F n = [ 1 1 1 ⋯ 1 1 W 1 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 ] \bm{F}_n=\begin{bmatrix} 1 & 1 & 1& \cdots & 1\\ 1 & W^1 & W^2& \cdots & W^{n-1}\\ 1 & W^2 & W^4& \cdots & W^{2(n-1)}\\ \vdots & \vdots & \vdots & \vdots & \vdots\\ 1 & W^{n-1}& W^{2(n-1)}& \cdots& W^{(n-1)^2}\\ \end{bmatrix} Fn=11111W1W2Wn11W2W4W2(n1)1Wn1W2(n1)W(n1)2

可以看出,其中每一项 ( F n ) i j = W i j (F_n)_{ij}=W^{ij} (Fn)ij=Wij, i , i = 0 , 1 , 2 , . . . , n − 1 i,i=0,1,2,...,n-1 i,i=0,1,2,...,n1, 其中 W W W 是复平面单元圆分割成 n n n 份得到的向量,即
W = e j 2 π n W=e^{j\frac{2\pi}{n}} W=ejn2π

一个最简单的例子是 F 4 \bm{F}_4 F4, 因为相位刚刚好取到坐标轴上,此时
F 4 = [ 1 1 1 1 1 i − 1 − i 1 − 1 1 − 1 1 − i − 1 i ] \bm{F}_4=\begin{bmatrix} 1 & 1 & 1& 1\\ 1 & i & -1 & -i\\ 1 & -1 & 1 & -1\\ 1 & -i& -1& i\\ \end{bmatrix} F4=11111i1i11111i1i

这个矩阵有什么特点尼?它是一个酉矩阵,且其中的每一项都是单位圆上的一个相位。
F n H F n = I \bm{F}_n^H\bm{F}_n=I FnHFn=I

它的逆也很容易写出来
F n − 1 = F n H {\bm{F}}_n^{-1}= \bm{F}_n^H Fn1=FnH

因此,傅里叶变换和逆傅里叶变换可以写成矩阵形式为
y = F n x \bm{y=F_n}\bm{x} y=Fnx

x = F n H y \bm{x=F^{H}_n}\bm{y} x=FnHy

快速傅里叶变换

长久以来,傅里叶变换的运算复杂度 O ( n 2 ) \mathcal{O}(n^2) O(n2) 对没有高速计算机的时代非常不友好。快速傅里叶变换 FFT 应运而生。FFT的基本原理是divide and conquer,就是把一个 高维的傅里叶变换用低维表示出来,看下图就很明了了。

在这里插入图片描述
从矩阵角度我们也能得到相似的结论,
在这里插入图片描述
即,把一个高维 F 64 F_{64} F64 分解为 三部分乘积,其中最右侧是一个permutation matrix,是对输入的 x \bm{x} x 做 odd-even shuffle,中间的是俩低维 F 32 F_{32} F32 matrix组成的分块对角阵,左侧是butterfly network。这个分解与上图一一对应。

我们可以继续divide and conquer把FFT进一步分解直至最低维度,最终写成矩阵连乘结果,复杂度降为 O ( 1 2 n log ⁡ 2 n ) \mathcal{O} (\frac{1}{2}n\log_2 n) O(21nlog2n), 只要看下图就非常明了了。

在这里插入图片描述

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值