这一节我们讨论复数的情况,有时候,实矩阵也会有复数的特征值,所以要学会处理复数.当一阵子是复数,特征向量也变成复向量.
我来告诉你复矩阵最重要的一个例子,就是傅里叶矩阵!非礼也矩阵就是复矩阵,绝对是最重要的复矩阵.在傅里叶变换中需要用到.我还要介绍一个特殊的情况,就是快速傅里叶变换,FFT,在计算机中经常使用到,特别是涉及到大量数据的时候,因为可以很快速的进行傅里叶变换,也就是说,在做乘法的时候,怎么样用这个n-n的方阵(没有元素是0,是一个满矩阵)快速做乘法?通常,n阶方阵的乘法需要算n^2 次,如果这个矩阵的的列正交,我得说,这种矩阵是最棒的,而快速傅里叶变换,把n^2 次的计算缩减到nlogn!天壤之别!这只是一个矩阵的简单分解,但是改变是巨大的.
现在开始讲复矩阵和复向量
给定向量z,复数向量:
$$
Z = \left[\begin{matrix}z_1\z_1\\vdots\ z_n \end{matrix} \right]
$$
需要注意的是,已经不在属于
那么内积呢? 同样的道理,2个向量的内积不再是
我们的改变对对称矩阵的看法了!前面对称矩阵的定义是,$A^T=A$,但是A是复矩阵的时候不好使,复数时对称矩阵的定义如下,也需要取共轭 $$ A ̅^T=A $$ 那么以为着,对角线上的元素只能是实数,因为转置的时候对角线元素是不变的,取共轭的时候,也不能变.如下是一个2-2例子
这样的矩阵叫做埃尔米特[Hermitian]矩阵:$A^H=A$
这些矩阵的特征值也是实数,特征向量也垂直.相互垂直以为着内积是....
现在讲垂直.垂直单位向量
其实我们只是从实数空间
现在进入本节课的重点,最著名的复矩阵,也是酉矩阵,有正交的的列,以傅里叶命名.,因为来自于傅里叶转换.这个矩阵和我们息息相关.
首先看看n阶情况下它是怎么样的. 我们令n = 4,这样比较好计算.在接下来的半节课里,我最好也教一点电气工程的知识,然后再回到数学上.有什么区别呢?数学是从0开始,电气工程是从0开始,我们还是迁就一下他们把.
傅里叶矩阵的第0列是是1,然后第1列是w的以1为递增的指数,第2列是w以2为递增的指数...直到n-1列,注意这个矩阵是对称矩阵(实数的那种对称,但是傅里叶矩阵元素是复数)公式就是
$$
(F_n)_{ij}=w^{i ∗j} \qquad (i,j是从0 到 n-1)
$$
只要知道了w,那么傅里叶矩阵就可以知道了,这个矩阵没有0,是一个满矩阵.w是一个很特殊的值,n次方
当n = 6,那么在复平面单位圆上的就是整个院角度的1/6,60度,而w^2,也在单位圆上,是120度,因为不管取多少次方,模长都是1.,w^6,回到了实轴1的位置,,也就是w^6=1,如下
可以这么说,w的幂,是1的6个6次方根[six sitth roots of 1].
现在看看n = 1的情况,也就是
为什么这个矩阵如此重要呢?通过这个4-4傅里叶矩阵,可以得到一个四点的傅里叶变换fout point Fourier transform,这个傅里叶变换该如何进行呢?四点傅里叶变换实际作用于四维向量[vector with four components],向量分量左乘矩阵F_4 或者〖F_4〗^(−1), ,一个是傅里叶变换.另一个则是傅里叶逆变换,两者如此接近,甚至容易混淆.这个矩阵的逆也是一个好矩阵,这个矩阵本身的各列是正交的,所以可以很容易的计算出这个矩阵的逆.还有些性质,连大名鼎鼎的傅里叶也不知道,也许高斯注意到了,但是没有十分重视.实际上这个矩阵如此特殊,我们可以把它分解为一系列的稀疏矩阵,这些矩阵具有大量的0元素,无论乘以它还是计算它的逆都非常的快捷,怎么做呢?
因为矩阵的各列正交(可以验证一下,但是注意一下需要注意取共轭,用c2和c4验证一下).没问题,.各列是正交的,但是不是标准正交的,所有的列的模长是2,我们可以轻易修改变成标准正交,只要把矩阵除以2就可以了,这样就是标准正交的了.
这又如何呢?可以立刻求它的逆!
这就是F_4 的优良性质,任何F_4 具有的性质,它的逆也有同样的性质,比如逆矩阵的各列也是正交的!但是有时什么性质导致FFT问世的呢?这就是接下来讨论的内容.
快速傅里叶变换FFT F_6 和F_3 之间存在某种奇妙的关系,F_8,F_4 也有,F_64,F_32 也有,也就是2倍关系的都有.比如,F_64 是一个64阶的方阵,w是1的64次方根,但是注意F_32 是一个32阶的矩阵,大小不一样,w是1的32次方根.注意,在单位圆上的角度,是2倍的关系,也就是说 $$ \left( w _ { 64 } \right) ^ { 2 } = w _ { 32 } $$
那么.F_64 和F_32 的联系是什么呢?F_64 与由2个F_32 构成的方阵有关,
注意看看上面2个矩阵,他们之间不相等的,要使他们相等,还需要补充一些修正矩阵,但是关键就在于右侧的零矩阵,如果F_64 乘以1个列向量,一般情况下,需要〖64〗^2 次乘法.但是左边的矩阵一半是0!下面看看补充矩阵,左右各一个,美妙的是,这些修正矩阵也存在大量的0.转换过后,原先的〖64〗^2 次,变成2*〖32〗^2 次,因为有2个F_32,还在再加上修正的开始,我们先确定一下修正矩阵
其中右侧是一个非常简单的奇偶置换矩阵,看第1斜行,总共32个1,1与1之间隔了一列,把它记做P,如果P乘以1个向量,就把向量偶数位置上的分量统统排到奇数分量前面,那么P就对F_64 的列的分量划分为奇偶2部分,分别进行32节傅里叶变换.再把他们重新组合,左边的修正矩阵就是I和对角矩阵D构成
因此修正的开销主要开销是左乘D的开销,因为P和I的开销都是很小的.对角阵D的开销一共有32次乘法.所以〖64〗^2 次方变成〖2∗32〗^2+32
D的元素是什么呢?也是w的幂
然后我们可以继续分解F_32 !左边的D不变.也就是....很难记录,看书把,,,,
这时候新的乘法次数是 $$ 2〖(2∗16〗^2+16)+32 $$
最终分解为2阶甚至是1阶傅里叶矩阵,左右两侧堆满了修正矩阵,右侧都是置换矩阵,左侧的矩阵有D和I构成,总共有多少个修正矩阵呢?log64个.一共有6步,先是32,然后是16,8,4,2,1.那么取代〖64〗^2 次乘法的是
假设