概述
即使是实矩阵,也可能有复特征值,因此矩阵运算中无法避免的会碰到复数
这里我们先特别关注复数矩阵的情况,并明确如何处理复矩阵,而在后续学习中一般只研究实矩阵,可以将其推广到复数情况
复向量的内积和共轭转置
对于复向量 x = [ x 1 x 2 ⋮ x n ] ∈ C n mathbf{x}=left[begin{array}{c}x_{1} \x_{2} \vdots \x_{mathrm{n}}end{array}right] in mathbf{C}^{n} x=⎣ ⎡x1x2⋮xn⎦ ⎤∈Cn,其中每个分量都是复数
在实数情况下,我们学习过, x T x {mathbf{x}}^{T} mathbf{x} xTx表示 x mathbf{x} x与自己的内积/点积,结果是一个正实数(向量 x mathbf{x} x长度的平方)
- 复向量的模长的平方:在
x
mathbf{x}
x为复数情的况下不能再使用
x
T
x
{mathbf{x}}^{T} mathbf{x}
xTx,复向量模长的平方应推广为
x
‾
T
x
overline{mathbf{x}}^{T} mathbf{x}
xTx,对于复向量,这是一个常见、很重要的运算
具体带入可知, x ‾ T x overline{mathbf{x}}^{T} mathbf{x} xTx的结果必然为非负实数(仅当 x = 0 mathbf{x}=mathbf 0 x=0时 x ‾ T x = 0 overline{mathbf{x}}^{T} mathbf{x}=0 xTx=0),这符合“模长平方”的数学意义: x ‾ T x = [ x ˉ 1 x ˉ 2 x ˉ 3 x ˉ 4 ] [ x 1 x 2 x 3 x 4 ] = ∣ x 1 ∣ 2 + ∣ x 2 ∣ 2 + ∣ x 3 ∣ 2 + ∣ x 4 ∣ 2 overline{mathbf{x}}^{T} mathbf{x}=left[begin{array}{llll}bar{x}_{1} & bar{x}_{2} & bar{x}_{3} & bar{x}_{4}end{array}right]left[begin{array}{l}x_{1} \ x_{2} \ x_{3} \ x_{4}end{array}right]=left|x_{1}right|^{2}+left|x_{2}right|^{2}+left|x_{3}right|^{2}+left|x_{4}right|^{2} xTx=[xˉ1xˉ2xˉ3xˉ4]⎣ ⎡x1x2x3x4⎦ ⎤=∣x1∣2+∣x2∣2+∣x3∣2+∣x4∣2其中,对于复数 x i x_i xi, x ˉ i x i = ∣ x i ∣ 2 bar{x}_{i}x_i=left|x_{i}right|^{2} xˉixi=∣xi∣2(由于 ( a + i b ) ( a − i b ) = a 2 + b 2 (a+ib)(a-ib)=a^2+b^2 (a+ib)(a−ib)=a2+b2),可见,结果的每一项都是非负实数
例如,我们认为复向量 [ 1 i ] left[begin{array}{c}1 \iend{array}right] [1i]模长的平方为2,因为 [ 1 − i ] [ 1 i ] = 2 left[begin{array}{ll}1 & -iend{array}right]left[begin{array}{c}1 \iend{array}right]=2 [1−i][1i]=2
- 一般的,复向量的内积运算为
y
H
x
mathbf{y}^{H} mathbf{x}
yHx:
y
H
x
=
y
‾
T
x
=
y
ˉ
1
x
1
+
y
ˉ
2
x
2
+
⋯
+
y
ˉ
n
x
n
mathbf{y}^{H} mathbf{x}=overline{mathbf{y}}^{T} mathbf{x}=bar{y}_{1} x_{1}+bar{y}_{2} x_{2}+cdots+bar{y}_{n} x_{n}
yHx=yTx=yˉ1x1+yˉ2x2+⋯+yˉnxn
若 y H x = 0 mathbf{y}^{H} mathbf{x}=0 yHx=0,说明两个复向量互相垂直/正交
可见,实数情况下的转置 x T mathbf{x}^{T} xT,在复数情况下推广为共轭转置 x ‾ T = x H overline{mathbf{x}}^{T}=mathbf{x}^{H} xT=xH,也称为Hermite转置
复数矩阵 与 共轭转置(Hermite转置)
由上,矩阵的转置运算 A T mathbf A^T AT,在复空间中推广为Hermite转置 A H mathbf A^H AH
- Hermite矩阵: A H = A ˉ T mathbf A^H=mathbf{bar A}^T AH=AˉT
共轭转置(Hermite转置)的运算性质:
- ( A H ) H = A (mathbf A^H)^H=mathbf A (AH)H=A
- ( A + B ) H = A H + B H (mathbf A+mathbf B)^H=mathbf A^H+mathbf B^H (A+B)H=AH+BH
- ( A B ) H = B H A H (mathbf Amathbf B)^H=mathbf B^Hmathbf A^H (AB)H=BHAH
- ( A − 1 ) H = ( A H ) − 1 (mathbf A^{-1})^H=(mathbf A^H)^{-1} (A−1)H=(AH)−1
- ( k A ) H = k ˉ A H (kmathbf A)^H=bar{k}mathbf A^H (kA)H=kˉAH
一般而言,从n维实空间 R n mathbf{R}^{n} Rn,推广到n维复空间 C n mathbf{C}^{n} Cn,将各个转置运算换为Hermite转置即可,如:
Hermitian矩阵
- 对称矩阵,实数下为 A = A T mathbf A=mathbf A^T A=AT,复数下为 A = A H mathbf A=mathbf A^H A=AH,称为Hermitian矩阵
酉矩阵
- 正交矩阵,实数下为
Q
T
Q
=
I
mathbf Q^Tmathbf Q=mathbf I
QTQ=I,复数下为
Q
H
Q
=
I
mathbf Q^Hmathbf Q=mathbf I
QHQ=I,称为酉矩阵(unitary matrix)
酉矩阵的列向量都是复向量,且构成复空间中的标准正交向量组,满足 q ‾ j T q k = { 0 j ≠ k 1 j = k overline{mathbf{q}}_{j}^{T} mathbf{q}_{k}=left{begin{array}{ll} 0 & j neq k \1 & j=kend{array}right. qjTqk={01j=kj=k
傅里叶矩阵
使用傅里叶矩阵,可以实现离散傅里叶变换DFT
离散傅里叶变换DFT: X [ k ] = ∑ n = 0 N − 1 x [ n ] e − j 2 π N k n X[k]= sum_{n=0}^{N-1} x[n] mathrm{e}^{-mathrm{j} frac{2 pi}{N} k n} X[k]=∑n=0N−1x[n]e−jN2πkn
离散傅里叶逆变换IDFT: x [ n ] = 1 N ∑ k = 0 N − 1 x [ n ] e j 2 π N k n x[n]=frac{1}{N}sum_{k=0}^{N-1} x[n] mathrm{e}^{mathrm{j} frac{2 pi}{N} k n} x[n]=N1∑k=0N−1x[n]ejN2πkn
长度为 n n n的离散向量 x n boldsymbol x_n xn:
- 做离散傅里叶变换DFT: F n x n boldsymbol{F}_{n}boldsymbol x_n Fnxn;(结果是 n × 1 ntimes 1 n×1的列向量,第 k k k行来自于 F n boldsymbol{F}_{n} Fn的第 k k k行与 x n boldsymbol x_n xn相乘)
- 做离散傅里叶逆变换IDFT: F n − 1 x n boldsymbol{F}_{n}^{-1}boldsymbol x_n Fn−1xn
根据DFT和IDFT定义式,提取基本元素
ω
=
e
j
2
π
/
n
omega=e^{j 2 pi / n}
ω=ej2π/n,从而得到n阶傅里叶矩阵
F
n
boldsymbol{F}_{n}
Fn:
F
n
=
[
1
1
1
⋯
1
1
ω
ω
2
ω
(
n
−
1
)
1
ω
2
ω
4
ω
2
(
n
−
1
)
⋮
⋱
1
ω
n
−
1
ω
2
(
n
−
1
)
ω
(
n
−
1
)
2
]
boldsymbol{F}_{n}=left[begin{array}{rrrrr} 1 & 1 & 1 & cdots & 1 \ 1 & omega & omega^{2} & & omega^{(n-1)} \ 1 & omega^{2} & omega^{4} & & omega^{2(n-1)} \ vdots & & & ddots & \ 1 & omega^{n-1} & omega^{2(n-1)} & & omega^{(n-1)^{2}}end{array}right]
Fn=⎣
⎡111⋮11ωω2ωn−11ω2ω4ω2(n−1)⋯⋱1ω(n−1)ω2(n−1)ω(n−1)2⎦
⎤其中,基本元素
ω
=
e
j
2
π
/
n
omega=e^{j 2 pi / n}
ω=ej2π/n的特点在于:
- ω = e j 2 π / n omega=e^{j 2 pi / n} ω=ej2π/n是复元素,但模长为1,因此其幂次方仅对应于单位圆上的旋转;
- 并且 ω = e j 2 π / n omega=e^{j 2 pi / n} ω=ej2π/n的相角,就是将一整圈单位圆( 2 π 2pi 2π)划分为 n n n份得到的,从而 ω n = 1 omega^{n}=1 ωn=1
傅里叶矩阵的性质
注意,n阶傅里叶矩阵 F n boldsymbol{F}_{n} Fn满足:
- 矩阵元素通项公式: ( F n ) i j = ω ( i − 1 ) ( j − 1 ) = ( e j 2 π / n ) ( i − 1 ) ( j − 1 ) left(boldsymbol{F}_{n}right)_{ij}=omega^{(i-1)(j-1)}=(e^{j 2 pi / n})^{(i-1)(j-1)} (Fn)ij=ω(i−1)(j−1)=(ej2π/n)(i−1)(j−1),即第 i i i行第 j j j列元素的指数,由 ( i − 1 ) ( j − 1 ) (i-1)(j-1) (i−1)(j−1)相乘得到( i , j ∈ [ 1 , n ] i,jin[1,n] i,j∈[1,n])
- 有一定的对称性(满足 F n = F n T boldsymbol{F}_{n}=boldsymbol{F}_{n}^{T} Fn=FnT),但并不是Hermitian矩阵(复空间下不能算是对称矩阵,因为不满足 A = A H boldsymbol{A}=boldsymbol{A}^{H} A=AH)
- 傅里叶矩阵,各个列向量正交,但不是酉矩阵(列向量模长为
N
sqrt{N}
N)(复空间下不是“列向量标准正交”的正交矩阵)
好处:列向量正交,可以将傅里叶矩阵分解为一系列稀疏矩阵(含有大量零元素),从而可以轻易做乘法、求逆 - 由上,各列向量正交但模长为 N sqrt{N} N,整个矩阵除以 N sqrt{N} N可以得到酉矩阵 1 N F n frac{1}{sqrt{N}}boldsymbol{F}_{n} N1Fn(正交矩阵在复空间下的推广,列向量为复向量且标准正交)
- 推论:
F
n
−
1
=
1
N
F
n
H
F_n^{-1}=frac{1}{N} F_n^{H}
Fn−1=N1FnH,或者说
1
N
F
n
H
F
n
=
I
frac{1}{N} boldsymbol{F}_{n}{ }^{H} boldsymbol{F}_{n}=boldsymbol{I}
N1FnHFn=I
证明:根据上面, 1 N F n frac{1}{sqrt{N}}boldsymbol{F}_{n} N1Fn为酉矩阵,其逆矩阵为 ( 1 N F n ) − 1 = ( 1 N F n ) H = 1 N F n H left(frac{1}{sqrt{N}} F_nright)^{-1}=left(frac{1}{sqrt{N}} F_nright)^{H}=frac{1}{sqrt{N}} F_n^{H} (N1Fn)−1=(N1Fn)H=N1FnH
两步同乘以 1 N frac{1}{sqrt{N}} N1,即可得到 F n − 1 = 1 N F n H F_n^{-1}=frac{1}{N} F_n^{H} Fn−1=N1FnH,证毕
(ps. 这就是为什么DFT有系数 1 N frac{1}{N} N1)
例如,对于 F 4 = [ 1 1 1 1 1 e j ( π 2 ) e j ( π 2 ) 2 e j ( π 2 ) 3 1 e j ( π 2 ) 2 e j ( π 2 ) 2 ∗ 2 e j ( π 2 ) 2 ∗ 3 1 e j ( π 2 ) 3 e j ( π 2 ) 3 ∗ 2 e j ( π 2 ) 3 ∗ 3 ] = [ 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 ] boldsymbol{F}_{4}=left[begin{array}{cccc} 1 & 1 & 1 & 1 \ 1 & e^{jleft(frac{pi}{2}right)} & e^{jleft(frac{pi}{2}right) 2} & e^{jleft(frac{pi}{2}right) 3} \ 1 & e^{jleft(frac{pi}{2}right) 2} & e^{jleft(frac{pi}{2}right) 2 * 2} & e^{jleft(frac{pi}{2}right) 2 * 3} \ 1 & e^{jleft(frac{pi}{2}right) 3} & e^{jleft(frac{pi}{2}right) 3 * 2} & e^{jleft(frac{pi}{2}right) 3 * 3} end{array}right]=left[begin{array}{cccc} 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{array}right] =left[begin{array}{rrrr}1 & 1 & 1 & 1 \1 & i & -1 & -i \1 & -1 & 1 & -1 \1 & -i & -1 & iend{array}right] F4=⎣ ⎡11111ej(2π)ej(2π)2ej(2π)31ej(2π)2ej(2π)2∗2ej(2π)3∗21ej(2π)3ej(2π)2∗3ej(2π)3∗3⎦ ⎤=⎣ ⎡11111ii2i31i2i4i61i3i6i9⎦ ⎤=⎣ ⎡11111i−1−i1−11−11−i−1i⎦ ⎤各个列向量正交(内积 x i ˉ T x j = 0 bar{boldsymbol x_i}^Tboldsymbol x_j=0 xiˉTxj=0),但列向量的模长平方 x i ˉ T x i = 4 bar{boldsymbol x_i}^Tboldsymbol x_i=4 xiˉTxi=4
因此,可以修正得到一个酉矩阵: 1 2 F 4 = 1 2 [ 1 1 1 1 1 i − 1 − i 1 − 1 1 − 1 1 − i − 1 i ] frac{1}{2}boldsymbol{F}_{4}=frac{1}{2}left[begin{array}{rrrr}1 & 1 & 1 & 1 \1 & i & -1 & -i \1 & -1 & 1 & -1 \1 & -i & -1 & iend{array}right] 21F4=21⎣ ⎡11111i−1−i1−11−11−i−1i⎦ ⎤
酉矩阵 1 2 F 4 frac{1}{2}boldsymbol{F}_{4} 21F4(复数下的正交矩阵)的逆矩阵: 1 2 F 4 H frac{1}{2}boldsymbol{F}_{4}^H 21F4H(共轭转置即可)
满足 1 4 F 4 H F 4 = I frac{1}{4} boldsymbol{F}_{4}{ }^{H} boldsymbol{F}_{4}=boldsymbol{I} 41F4HF4=I
另外也可以验证 F 4 boldsymbol{F}_{4} F4的逆矩阵: F 4 − 1 = 1 4 F 4 H = 1 4 [ 1 1 1 1 1 e − j ( π 2 ) e − j ( π 2 ) 2 e − j ( π 2 ) 3 1 e − j ( π 2 ) 2 e − j ( π 2 ) 2 ∗ 2 e − j ( π 2 ) 2 ∗ 3 1 e − j ( π 2 ) 3 e − j ( π 2 ) 3 ∗ 2 e − j ( π 2 ) 3 ∗ 3 ] F_{4}^{-1}=frac{1}{4} {F}_{4}^H=frac{1}{4}left[begin{array}{cccc} 1 & 1 & 1 & 1 \ 1 & e^{-jleft(frac{pi}{2}right)} & e^{-jleft(frac{pi}{2}right) 2} & e^{-jleft(frac{pi}{2}right) 3} \ 1 & e^{-jleft(frac{pi}{2}right) 2} & e^{-jleft(frac{pi}{2}right) 2 * 2} & e^{-jleft(frac{pi}{2}right) 2 * 3} \ 1 & e^{-jleft(frac{pi}{2}right) 3} & e^{-jleft(frac{pi}{2}right) 3 * 2} & e^{-jleft(frac{pi}{2}right) 3 * 3} end{array}right] F4−1=41F4H=41⎣ ⎡11111e−j(2π)e−j(2π)2e−j(2π)31e−j(2π)2e−j(2π)2∗2e−j(2π)3∗21e−j(2π)3e−j(2π)2∗3e−j(2π)3∗3⎦ ⎤
快速傅里叶变换FFT
快速傅里叶变换FFT可以大大减少DFT的计算量,下面从矩阵角度看待这个问题
FFT中,将N=64的DFT拆为两个N=32的DFT
从矩阵角度:
- 傅里叶矩阵 F 64 boldsymbol{F}_{64} F64和 F 32 boldsymbol{F}_{32} F32的基本元素有如下关系: w 64 2 = w 32 w_{64}^2=w_{32} w642=w32,可见 F 64 boldsymbol{F}_{64} F64和 F 32 boldsymbol{F}_{32} F32有一定关系
- 具体而言, [ F 64 ] = [ I D I − D ] [ F 32 0 0 F 32 ] [ P ] left[boldsymbol{F}_{64}right]=left[begin{array}{rr} boldsymbol{I} & boldsymbol{D} \ boldsymbol{I} & -boldsymbol{D} end{array}right]left[begin{array}{rr} boldsymbol{F}_{32} & 0 \ 0 & boldsymbol{F}_{32} end{array}right][boldsymbol{P}] [F64]=[IID−D][F3200F32][P]
- 其中,置换矩阵
P
=
[
1
0
0
0
⋯
⋯
0
0
0
0
1
0
0
0
⋮
0
0
0
0
⋯
⋯
1
0
0
1
0
0
⋯
⋯
0
0
0
0
0
1
⋯
⋯
0
0
⋮
0
0
0
0
⋯
⋯
0
1
]
boldsymbol{P}=left[begin{array}{cccccccc} 1 & 0 & 0 & 0 & cdots & cdots & 0 & 0 \ 0 & 0 & 1 & 0 & & & 0 & 0 \ & & & vdots & & & & \ 0 & 0 & 0 & 0 & cdots & cdots & 1 & 0 \ 0 & 1 & 0 & 0 & cdots & cdots & 0 & 0 \ 0 & 0 & 0 & 1 & cdots & cdots & 0 & 0 \ & & & vdots & & & & \ 0 & 0 & 0 & 0 & cdots & cdots & 0 & 1 end{array}right]
P=⎣
⎡10000000010001000000⋮001⋮0⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯001000000001⎦
⎤,功能是将奇数次项(1,3,5)提到前面,将偶数次项(2,4,6)放到后面
对角阵 D = [ 1 ω ω 2 ⋱ ω 31 ] boldsymbol{D}=left[begin{array}{ccccc} 1 & & & & \ & omega & & & & \ & & omega^{2} & & \ & & & ddots & \ & & & & omega^{31} end{array}right] D=⎣ ⎡1ωω2⋱ω31⎦ ⎤ - 计算量对比:
原来对长度为 N N N的向量 x boldsymbol x x直接做DFT,则 F 64 x boldsymbol{F}_{64}boldsymbol x F64x的计算量是 N × N Ntimes N N×N
改写为FFT后,计算量是两个 F 32 x boldsymbol{F}_{32}boldsymbol x F32x再加上一些修正项,修正项主要来自于与对角矩阵D的乘法,大约为32次;并且 F 32 boldsymbol{F}_{32} F32可进一步拆为两个 F 16 boldsymbol{F}_{16} F16、再拆为四个 F 8 boldsymbol{F}_{8} F8…最终,所有计算来自于修正项,FFT计算量为 ( N / 2 ) l o g 2 N (N/2)log_2N (N/2)log2N
最后
以上就是幸福小霸王为你收集整理的线性代数学习笔记8-1:复数矩阵与共轭转置、Hermite矩阵、酉矩阵、傅里叶矩阵和快速傅里叶变换FFT的全部内容,希望文章能够帮你解决线性代数学习笔记8-1:复数矩阵与共轭转置、Hermite矩阵、酉矩阵、傅里叶矩阵和快速傅里叶变换FFT所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复