MIT 18.06 linear algebra 第二十七讲笔记

MIT 18.06 linear algebra 第二十七讲笔记


  • Complex inner products
  • Vector
  • Matrices
  • Discrete Fourier
  • Fourier Matrix Fn F n
  • Fast Transform = FFT F F T

一个普通的 n n 阶矩阵和一个向量做乘法时需要进行n2次乘法运算。而进行快速傅里叶变换后可以降低到 nlogn2 n log 2 n 次。

如果有一个复数向量,那么求向量长度时: ||Z||2=[x1¯¯¯¯¯x2¯¯¯¯¯xn¯¯¯¯¯]z1z2zn | | Z | | 2 = [ x 1 ¯ x 2 ¯ ⋯ x n ¯ ] [ z 1 z 2 ⋮ z n ] 。这里是与实数向量不一样的。也就是说求一个复数向量长度的时候,需要以其共轭向量的转置乘以它。即 ||Z||2=Z¯¯¯¯TZ | | Z | | 2 = Z ¯ T Z

计算复数向量的内积时,假设计算 y y x的内积时,公式为 y¯¯¯Tx=yHx y ¯ T x = y H x 。其中的 H H 的作用就是求其共轭并转置,此处H的英文为 Hermitian H e r m i t i a n

在实数矩阵时,我们关于对称阵的定义为 AT=A A T = A ,但是这对复数矩阵不适用。关于复数对称矩阵的定义为 A¯¯¯¯T=A=AH A ¯ T = A = A H 。这也意味着复数对称矩阵的对角线元素均为实数。例如 [23i3+i5] [ 2 3 + i 3 − i 5 ] ,这种矩阵又称为埃尔米特矩阵(又称“自共轭矩阵”)是共轭对称的方阵。满足 AH=A A H = A 这些矩阵的特征值为实数。


复数标准正交向量 q1,q2,,qn q 1 , q 2 , ⋯ , q n 垂直,那么满足 qi¯¯¯¯Tqj{0ifij1ifi=j q i ¯ T q j { 0 i f i ≠ j 1 i f i = j

标准正交矩阵 Q Q 满足Q¯TQ=I。即 QHQ=I Q H Q = I 。这种矩阵又称为酉矩阵,酉矩阵是正交矩阵往复数向量上的推广。


n n 阶傅里叶矩阵[11111ww2wn11w2w4w2(n1)1wn1w2(n1)w(n1)2]。这个矩阵满足 (Fn)ij=wij ( F n ) i j = w i ∗ j ,其中 i,j=01,n1 i , j = 0 , 1 , ⋯ , n − 1

如果有 wn=1 w n = 1 ,那么 w=ei2πn w = e i 2 π n w=cos(2πn)+isin(2πn) w = c o s ( 2 π n ) + i s i n ( 2 π n )
这里写图片描述

上面是 w6=1 w 6 = 1
n=4 n = 4 时, w4=1 w 4 = 1 , w=eiπ2=i w = e i π 2 = i , i2=1,i3=i,i4=1 i 2 = − 1 , i 3 = − i , i 4 = 1 。因此 F4=11111ii2i31i2i4i61i3i6i9=11111i1i11111i1i 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 ] 。通过这个 4×4 4 × 4 的矩阵可以得到一个4点的傅里叶变换。

上面的矩阵乘以 12 1 2 后就是一个酉矩阵,即 12F4 1 2 F 4 为酉矩阵。

当有 w64=1w32=1 w 64 = 1 , w 3 2 = 1 ,那么 w264=w32 w 64 2 = w 32 。我们可以将 F64 F 64 变换为关于 F32 F 32 的。 [F64]=[IIDD][F3200F32][p] [ F 64 ] = [ I D I − D ] [ F 32 0 0 F 32 ] [ p ] 。以前 F64 F 64 乘以一个向量需要做 64×64 64 × 64 次乘法操作,现在只需要 2(32)2+fix 2 ( 32 ) 2 + f i x ,其中fix是关于左右两侧关于修正矩阵的计算量。

其中右侧的修正矩阵是一个就置换矩阵,形如 p=111111 p = [ 1 1 1 1 1 1 ] 。当 p p 乘以一个向量,它能把所有奇数位置的分量统统排列到偶数分量之前。其中D=[1ww2w32]。现在的计算量为 2(32)2+32 2 ( 32 ) 2 + 32 ,其中乘以 I I p都不需要大量的计算开销。

F32 F 32 又可以进一步分解 [F64]=[IIDD][F3200F32][p]=[IIDD]IIDDIIDDF16F16F16F16[pp][p] [ F 64 ] = [ I D I − D ] [ F 32 0 0 F 32 ] [ p ] = [ I D I − D ] [ I D I − D I D I − D ] [ F 16 F 16 F 16 F 16 ] [ p p ] [ p ]
现在的计算量变为 2[x×162+16]+32 2 [ x × 16 2 + 16 ] + 32 ,如果像这样依次展开,左右两边扩展为修正矩阵,由于 log642=6 l o g 2 64 = 6 ,因此左右各有6个修正矩阵。一共 log642642 l o g 2 64 ∗ 64 2 。也就是计算公式为 logn2n2 l o g 2 n ∗ n 2

假设现有有一个1024*1024维度的矩阵,那么它乘以一个向量计算量为1024*1024,但如果对其进行分解后,那么计算量为5*1024。降到了原来的 1200 1 200 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值