为什么要引入特征值与特征向量 我们在研究线性变换时. 特别关心这样一个问题:对给定线性空间 R n R^n R n 上的线性变换,能否找到 R n R^n R n 的一组基,使得该线性变换在这组基下的表示矩阵 ,他具有特别简单的形状 . 比如, 若我们能找到 R n R^n R n 的一组基 { e 1 , e 2 , ⋯ , e n } \left\{e_1, e_2, \cdots, e_n\right\} { e 1 , e 2 , ⋯ , e n } , 使线性变换 φ \varphi φ 在这组基下的表示矩阵为对角阵:
( a 1 a 2 ⋱ a n ) . \left(\begin{array}{llll}
a_1 & & & \\
& a_2 & & \\
& & \ddots & \\
& & & a_n
\end{array}\right) . a 1 a 2 ⋱ a n . 这时, 若 α = k 1 e 1 + k 2 e 2 + ⋯ + k n e n \boldsymbol{\alpha}=k_1 \boldsymbol{e}_1+k_2 \boldsymbol{e}_2+\cdots+k_n \boldsymbol{e}_n α = k 1 e 1 + k 2 e 2 + ⋯ + k n e n , 则
φ ( α ) = a 1 k 1 e 1 + a 2 k 2 e 2 + ⋯ + a n k n e n \boldsymbol{\varphi}(\boldsymbol{\alpha})=a_1 k_1 \boldsymbol{e}_1+a_2 k_2 \boldsymbol{e}_2+\cdots+a_n k_n \boldsymbol{e}_n φ ( α ) = a 1 k 1 e 1 + a 2 k 2 e 2 + ⋯ + a n k n e n 线性变换 φ \varphi φ 的表达式非常简单. 线性变换 φ \varphi φ 的许多性质也变得一目了然. 如若 a 1 , a 2 , ⋯ , a r a_1, a_2, \cdots, a_r a 1 , a 2 , ⋯ , a r 不为零, 而 a r + 1 = ⋯ = a n = 0 a_{r+1}=\cdots=a_n=0 a r + 1 = ⋯ = a n = 0 , 则 φ \boldsymbol{\varphi} φ 的秩为 r r r , 且 Im φ \operatorname{Im} \boldsymbol{\varphi} Im φ 就是由 { e 1 , e 2 , ⋯ , e r } \left\{e_1, e_2, \cdots, e_r\right\} { e 1 , e 2 , ⋯ , e r } 生成的子空间, 而 Ker φ \operatorname{Ker} \varphi Ker φ 则是由 { e r + 1 , ⋯ , e n } \left\{e_{r+1}, \cdots, e_n\right\} { e r + 1 , ⋯ , e n } 生成的子空间,等等.
我们已经知道, 一个线性变换在不同基下的表示矩阵是相似的. 因此用矩阵的语言重述上面提到的问题就是: 能否找到一类特别简单的矩阵, 使任一矩阵与这类矩阵中的某一个相似?比如,我们可以问:是否所有的矩阵都相似于对角阵? 若不然, 哪一类矩阵可以相似于对角阵?
在分块矩阵里,我们曾经学过,每一个矩阵都可以按列进行分块,我们自然想到:我们提取矩阵的某一列作为行向量α \alpha α ,上述的问题可以表述为:我们希望找到一个矩阵A A A 和一个向量λ \lambda λ ,使得A α = λ α A \alpha= \lambda \alpha A α = λ α ,这样就相当于通过一个矩阵转换,把一个行向量转换为了一个数,这是最原始的想法。
从因式分解的角度或许更容易理解特征值与特征向量? 比如,老师让我们求 25 ∗ 12 25 * 12 25 ∗ 12 ,直接计算会比较麻烦,老师通常会要求我们对12 12 12 进行分解,即 12 = 4 ∗ 3 12=4 * 3 12 = 4 ∗ 3 , 这样 25 ∗ 12 = 25 ∗ 4 ∗ 3 = 100 ∗ 3 = 300 25 * 12 = 25 * 4 * 3= 100 *3 =300 25 ∗ 12 = 25 ∗ 4 ∗ 3 = 100 ∗ 3 = 300 可以看到,分解后, 充分利用了 25 ∗ 4 = 100 25 * 4 =100 25 ∗ 4 = 100 简化了计算。
同样,给我们一个对称矩阵A A A 能否分解为A = P Λ P − 1 A=P \Lambda P^{-1} A = P Λ P − 1 ,这样你会发现,计算矩阵会变的简单。求特征值与特征向量,就是求新坐标基的过程。
从线性空间角度理解坐标 以经典的 A x = b A x=b A x = b 为例,假设 A A A 是一个 n × n \mathrm{n} \times n n × n 的矩阵, x x x 和 b b b 都是 n × 1 {n} \times 1 n × 1 的向量
A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] , x = [ x 1 x 2 ⋮ x n ] , b = [ b 1 b 2 ⋮ b n ] A=\left[\begin{array}{cccc}
a_{11} & a_{12} & \cdots & a_{1 n} \\
a_{21} & a_{22} & \cdots & a_{2 n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{n 1} & a_{n 2} & \cdots & a_{n n}
\end{array}\right], x=\left[\begin{array}{c}
x_1 \\
x_2 \\
\vdots \\
x_n
\end{array}\right], b=\left[\begin{array}{c}
b_1 \\
b_2 \\
\vdots \\
b_n
\end{array}\right] A = a 11 a 21 ⋮ a n 1 a 12 a 22 ⋮ a n 2 ⋯ ⋯ ⋱ ⋯ a 1 n a 2 n ⋮ a nn , x = x 1 x 2 ⋮ x n , b = b 1 b 2 ⋮ b n 不难看出,矩阵就是由一列列向量组成的,所以在说矩阵之前我们再来简单说一下向量。
向量有长度有方向,但这个长度方向要有意义,或者说可度量,这就必须要有参考系,也就是坐标系。坐标系不是唯一的,但我们有一个标准坐标,叫笛卡尔坐标,简称 I I I 坐标。那由一系列向量组成的矩阵到底代表什么意思呢? 可以从 2 个角度理解矩阵:
(1)矩阵是一个变换 ,仔细盯着A x = b A x=b A x = b 多看几次,这个等式表明,经过变换A A A ,向量 x x x 变成了向量 b b b (在这里,b b b 坐标终是隐含着使用I I I 坐标)。你可以把A A A 想象成一个传送门,任何向量经过这个传送门,嗖的一下就被瞬间传送到了另一个点成为另一个向量,而你到底能被传送到哪跟你本身的位置有关,也跟这个传送门的性能有关,换句话说同一个传送门,不同的向量被传送到不同的位置,同一个向量,换一个传送门,也会被传送到不同的位置。
(2)矩阵本身就是一个坐标系 。这个不难理解,我们常见的 I I I 坐标系,比如二维坐标,他的两个坐标轴就是 ( 1 , 0 ) , ( 0 , 1 ) (1,0) ,(0,1) ( 1 , 0 ) , ( 0 , 1 ) 两个向量,把这两个向量按列排列就是一个矩阵,所以矩阵就代表了坐标系,每一个列向量就是他的一个坐标轴。
那一个矩阵乘以一个向量,比如 A x A x A x 代表什么意思呢?我们说一个向量单看是没有意义的,你要放在一个坐标系下才能度量,而左乘一个矩阵A A A 就代表它的坐标系是A A A ,这个向量在A A A 坐标系下的坐标为 x x x ,也就是这个向量投影到 A A A 的各个坐标轴的长度为 x x x 。
A x = [ a 11 a 12 ⋯ ε 1 n a 21 a 22 ⋯ ε 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] [ x 1 x 2 ⋮ x n ] = x 1 [ a 11 a 21 ⋮ a n 1 ] + x 2 [ a 12 a 2 c ⋮ a n 2 ] + ⋯ + x n [ a 1 n a 2 n ⋮ a n n ] \begin{aligned}
& A x=\left[\begin{array}{cccc}
a_{11} & a_{12} & \cdots & \varepsilon_{1 n} \\
a_{21} & a_{22} & \cdots & \varepsilon_{2 n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{n 1} & a_{n 2} & \cdots & a_{n n}
\end{array}\right]\left[\begin{array}{c}
x_1 \\
x_2 \\
\vdots \\
x_n
\end{array}\right]=x_1\left[\begin{array}{c}
a_{11} \\
a_{21} \\
\vdots \\
a_{n 1}
\end{array}\right]+x_2\left[\begin{array}{c}
a_{12} \\
a_{2 c} \\
\vdots \\
a_{n 2}
\end{array}\right]+\cdots
& +x_n\left[\begin{array}{c}
a_{1 n} \\
a_{2 n} \\
\vdots \\
a_{n n}
\end{array}\right]
\end{aligned} A x = a 11 a 21 ⋮ a n 1 a 12 a 22 ⋮ a n 2 ⋯ ⋯ ⋱ ⋯ ε 1 n ε 2 n ⋮ a nn x 1 x 2 ⋮ x n = x 1 a 11 a 21 ⋮ a n 1 + x 2 a 12 a 2 c ⋮ a n 2 + ⋯ + x n a 1 n a 2 n ⋮ a nn 我们再来看 A x = b A x=b A x = b ,发现什么了吗?上面说一个向量单看是没有意义的,你要放在一个坐标系下才能度量, b b b 前面没有任何矩阵,但它也需要坐标系,没有指定坐标系的时候坐标系是 I I I ,所以 b b b 前面其实被略去了一个 I I I ,也就是 A x = I b A x=I b A x = I b 。 A x A x A x 描述的是一个向量,它在A A A 坐标系下的坐标是 x , I b x , I b x , I b 描述的也是一个向量,它在 I I I 坐标系下的坐标是 b b b ,二者相等,说明 x x x 和 b b b 其实是一个向量,他们只不过是在不同坐标系下的不同表示而已。
你可以理解为这个点从来没动过,它只是换了一个坐标系来看这个点而已。就好像拍照,你从正面拍侧面拍,仰拍俯拍,你拍的都是一个对象,但拍照角度不一样,你会得到不同的照片。
来看个数学上的例子
A = [ 1 − 1 1 1 ] , x = [ 2 1 ] , I = [ 1 0 0 1 ] , b = [ 1 3 ] A=\left[\begin{array}{cc}
1 & -1 \\
1 & 1
\end{array}\right], x=\left[\begin{array}{l}
2 \\
1
\end{array}\right], I=\left[\begin{array}{ll}
1 & 0 \\
0 & 1
\end{array}\right], b=\left[\begin{array}{l}
1 \\
3
\end{array}\right] A = [ 1 1 − 1 1 ] , x = [ 2 1 ] , I = [ 1 0 0 1 ] , b = [ 1 3 ] 如果你计算,你会发现上面这个矩阵乘法 A x = I b = b Ax=Ib=b A x = I b = b , 换句话说,( 2 , 1 ) (2,1) ( 2 , 1 ) 和 ( 1 , 3 ) (1,3) ( 1 , 3 ) 就是同一个向量,只不过前者是在A A A 下的表示,后者是在 I I I 下的表示。
{width=300px}
再看一个简单的类比,
( 5 ) ∗ 1 = 5 ∗ 1 (5)*1=5*1 ( 5 ) ∗ 1 = 5 ∗ 1
前面这个( 5 ) (5) ( 5 ) 表示一个矩阵,后面这个5 5 5 表示一个坐标值。这个等式告诉我们:有一个1,我用5个长度作为一个基准单位,等于以“1”为基准单位得5倍。同样 ( 5 ) ∗ 2 = 10 ∗ 1 (5)*2=10*1 ( 5 ) ∗ 2 = 10 ∗ 1 等号右边表示,以1为基准单位,坐标为10的向量,等于“以5个单位为一个基准单位”,但是只需要2个这样的单位即可。
上式还可以简单类比,一件东西需要10元钱,我以1元人民币为单位,给他10次就可以了。但是我也可以以5元人民币为单位,只要给他2次就可以了。
通过物理对上面进行解释 在高中学过运动,比如:甲在路边,乙在飞船上,一辆汽车以v 汽 v_汽 v 汽 行驶,汽车里A A A 质点在运动,问甲乙看到的v A v_A v A 的速度是多少?当看到这个问题时,我们第一反应就是:你要以什么为参照物,同样一个汽车运动,选择的参照系不同,会有不同的运动速度(这里的参照物可以理解为线性代数里的基坐标 )。比如甲在地面上,以地面为参照物,v A = v 汽 + v A − 汽 v_A=v_\text{汽} +v_{A-\text{汽}} v A = v 汽 + v A − 汽 ,也就是汽车的速度加上A点相对汽车的速度就是甲看到的速度。但是乙因为在飞船里,飞船也在运行,因此他看到的速度v A = v 飞船 + v 汽-船 + v A − 汽 v_A=v_{\text{飞船}} + v_\text{汽-船} +v_{A-\text{汽}} v A = v 飞船 + v 汽 - 船 + v A − 汽 这样,对于一个物体运动,这样他们看到的速度是不同的。 通常我们以地面为绝对的参照物的好处是:计算简单。
{width=380px}
再仔细的盯着上面这张图(如下)
现在把上图想象为物体的运动:蓝色单位坐标系 ( 1 , 0 0 , 1 ) \left(\begin{array}{cc}1,0 \\0,1\end{array} \right) ( 1 , 0 0 , 1 ) 相当于禁止的地面, 橙色坐标系相当于宇宙飞船 ,他的单位坐标系是( − 1 , 1 1 , 1 ) \left(\begin{array}{cc}-1,1 \\1,1\end{array} \right) ( − 1 , 1 1 , 1 )
在蓝色坐标系里,甲看到的汽车运动速度( 1 , 3 ) (1,3) ( 1 , 3 ) 和乙在宇宙飞船里的看到的( 2 , 1 ) (2,1) ( 2 , 1 ) 是一样的。
现在的问题是:我们能否把橙色坐标系里的运动,都用类蓝色坐标系表示,为何?因为简单 。比如上图里,假设蓝色坐标系里看到的汽车速度为( 5 , 7 ) (5,7) ( 5 , 7 ) ,我们就可以立刻知道,汽车速度相当于沿着x x x 轴为5,而沿着y y y 轴为7. 这对后续的计算非常简单。因此这个问题就转换为,给你一个矩阵A A A ,能否分解为简单的几个矩阵相乘?这时我们回到最原始的想法:矩阵作用向量的结果是什么:旋转和缩放。因此,我们直觉认为A可以分解为3个矩阵相乘,A = B C D A=BCD A = BC D ,其中B B B 作用行,D作用列,C是对角阵,分别对每个维度进行缩放(也就是C是正交矩阵)。
特征值与特征向量的设计 在找寻特征向量的过程其实就是找寻新的坐标基的过程 ,如何寻找呢?矩阵作用与向量,通常使得向量旋转和缩放,但是在这些方向里,有一些向量只缩放,不旋转,那么我们就使用那种不旋转的向量作为新的坐标基 。但是有一个大前提,对于一个n n n 阶矩阵,最多可以找到n n n 个方向不变的向量。
更具体的说,假设有一个三阶矩阵A = ( − 2 1 1 0 2 0 − 4 1 3 ) A=\left(\begin{array}{lll}-2 & 1 & 1 \\0 & 2 & 0 \\-4 & 1 & 3 \end{array}\right) A = − 2 0 − 4 1 2 1 1 0 3 ,我们可以找到他的3个特征值为-1,2,2 并找到他的3个特征向量,这3个特征向量形成一个空间 Λ = ( 1 0 1 0 1 0 1 1 4 ) \Lambda=\left(\begin{array}{lll}1 & 0 & 1 \\0 & 1 & 0 \\1 & 1 & 4 \end{array}\right) Λ = 1 0 1 0 1 1 1 0 4 , 这样,在A A A 形成的三维空间里有一个小男孩照片(你可以把这个小男孩照片想象为向量),在Λ \Lambda Λ 空间里查看更简洁、漂亮。
因为小男孩的移动最多可以沿着x , y , z x,y,z x , y , z 三个维度,所以,我们最多可以找到三个不旋转的向量,因此会有3个特征值,这样就可以组成一个新坐标基。(特征值可以认为是沿着该方向缩放的比例。)
矩阵作用于向量的具体实现 上面说过,一个矩阵A A A 相当一个坐标系。任给一个普通的向量x 1 \boldsymbol{x_1} x 1 ,用矩阵A A A 作用在这个向量上面,通常这个向量会进行旋转和缩放,比如下图 x 1 → A x 1 \boldsymbol{x_1} \to A \boldsymbol{x_1} x 1 → A x 1
{width=500px}
但是,也有部分向量,只进行了缩放,而不进行旋转,如下图 x 2 → A x 2 \boldsymbol{x_2} \to A \boldsymbol{x_2} x 2 → A x 2
{width=500px}
既然 x 2 \boldsymbol{x_2} x 2 只伸缩,那么他就可以表示为
x 2 → λ x 2 \boldsymbol{x_2} \to \lambda \boldsymbol{x_2} x 2 → λ x 2
因此,我们只要令 A x 2 = λ x 2 A \boldsymbol{x_2}= \lambda \boldsymbol{x_2} A x 2 = λ x 2 就相当于找到了新坐标基里的一个维度。如果A是一个三阶矩阵,使用这个方法做3次,就会得出3个向量和三个特征值。这3个向量组成一个基,就是我们要找到的特征坐标基。而3个特征值相当于沿着三个维度缩放的比例。 我们称 λ \lambda λ 称作 特征值,而 x 2 \boldsymbol{x_2} x 2 称作特征值对应的特征向量
注意:如果A A A 是一个普通矩阵,按照上面找到的3个维度不一定正交。但是如果A A A 是对称矩阵,可以证明他的3个维度一定正交。所以,后面在研究矩阵时,通常研究对称矩阵。 如果A不是对称矩阵,那么只要A A T AA^T A A T 就会变成对称矩阵。
特征值与特征向量的定义 数学上定义当 A x = λ x A x=\lambda x A x = λ x 时 x x x 是 A A A 的特征向量, λ \lambda λ 是 A A A 的特征值 事实上,这里的x x x 可以成为“测量的基准单位”。就像数组我们用1表示基准单位一样。
我们用坐标系的角度来理解,那么 A x = λ x A x=\lambda x A x = λ x 代表的意思是有一个向量,在A A A 坐标下是 x x x ,我换 I I I 坐标去看它,发现它看着还是 x x x 这个方向,只不过伸缩了 λ \lambda λ 倍。
举一个例子,
A = [ 3 1 2 2 ] , λ = 4 , α 1 = [ 1 1 ] , α 2 = [ 1 2 ] A=\left[\begin{array}{cc}
3 & 1 \\
2 & 2
\end{array}\right],
\lambda=4,
\alpha_1=\left[\begin{array}{ll}
1 \\
1
\end{array}\right],
\alpha_2=\left[\begin{array}{l}
1 \\
2
\end{array}\right] A = [ 3 2 1 2 ] , λ = 4 , α 1 = [ 1 1 ] , α 2 = [ 1 2 ] 计算得到
A α 1 = [ 3 1 2 2 ] [ 1 1 ] = [ 4 4 ] = 4 α 1 A \alpha_1=\left[\begin{array}{cc}
3 & 1 \\
2 & 2
\end{array}\right] \left[\begin{array}{ll}
1 \\
1
\end{array}\right]=\left[\begin{array}{ll}
4 \\
4
\end{array}\right]=4 \alpha_1 A α 1 = [ 3 2 1 2 ] [ 1 1 ] = [ 4 4 ] = 4 α 1 A α 2 = [ 3 1 2 2 ] [ 1 2 ] = [ 5 6 ] ≠ 4 α 2 A \alpha_2=\left[\begin{array}{cc}
3 & 1 \\
2 & 2
\end{array}\right] \left[\begin{array}{ll}
1 \\
2
\end{array}\right]=\left[\begin{array}{ll}
5 \\
6
\end{array}\right] \ne 4 \alpha_2 A α 2 = [ 3 2 1 2 ] [ 1 2 ] = [ 5 6 ] = 4 α 2 从这个计算里可以看到,α 1 \alpha_1 α 1 只是缩放了4 4 4 倍(但是方向没变) , 而α 2 \alpha_2 α 2 则进行了旋转和缩放。所以 α 1 \alpha_1 α 1 可以作为矩阵的新坐标基。
如果A A A 是二阶矩阵,那么最多可以找到2个方向不变的向量,如果A A A 是三阶矩阵,那么最多可以找到3个方向不变的向量,以此类推。
对角形矩阵 只有主对角线还有元素,其余都是0的矩阵,是对角型矩阵,下面是一个二阶对角矩阵:
A = [ 2 0 0 10 ] A=\left[\begin{array}{cc}
2 & 0 \\
0 & 10
\end{array}\right] A = [ 2 0 0 10 ] 它互相独立的标准化特征向量有 2 个,
x 1 = [ 1 0 ] , x 2 = [ 0 1 ] x_1=\left[\begin{array}{l}
1 \\
0
\end{array}\right], x_2=\left[\begin{array}{l}
0 \\
1
\end{array}\right] x 1 = [ 1 0 ] , x 2 = [ 0 1 ] 他们的特征值分别是 2 2 2 和 10 10 10 。
可以看到,如果一个矩阵是对角形矩阵,他们可以直接使用单位矩阵E E E 作为新空间的基。而缩放倍数,就是其主对角线的值。这句话可以换一种更通俗的说法,例如一个三阶对角形矩阵A A A ,我们把A A A 的第一列当做x x x 轴,第二列当做y y y 轴,第三列当做z z z 轴就可以了。
如下图,在上面说过,一个矩阵就相当于一个坐标系单位(注意不是坐标系里向量的值),既然 笛卡尔坐标系 ( 1 , 0 0 , 1 ) \left(\begin{array}{cc}1,0 \\0,1\end{array} \right) ( 1 , 0 0 , 1 ) 是最方便的,我们能否把这个矩阵A“分解”为笛卡尔坐标系?这张图和上面相比,最主要是去除了“旋转”,直接把橙色坐标系转换为笛卡尔坐标系。要转换为笛卡尔坐标系
要么把橙色矩阵压缩为单位矩阵,要么是把单位矩阵扩大为橙色矩阵。但是,我们知道单位矩阵相当于数学里的“1”,因此以单位矩阵为基础“伸缩”为橙色矩阵更方便。
{width=200px}
那一个向量它在 I I I 坐标系下的坐标是 ( 1 , 1 ) (1,1) ( 1 , 1 ) ,在 A A A 坐标系下的坐标是 ( 2 , 10 ) (2,10) ( 2 , 10 ) ,怎么从 ( 1 , 1 ) (1, 1) ( 1 , 1 ) 变成 ( 2 , 10 ) (2,10) ( 2 , 10 ) 的呢?
我们把( 1 , 1 ) (1,1) ( 1 , 1 ) 想象为速度,把他分解为水平方向的1 , 0 1,0 1 , 0 和垂直方向上的0 , 1 0,1 0 , 1 同时,把( 2 , 10 ) (2,10) ( 2 , 10 ) 坐标也分解为水平方向的( 2 , 0 ) (2,0) ( 2 , 0 ) 和垂直方向上的( 0 , 10 ) (0,10) ( 0 , 10 )
这样,只要把水平方向扩大2倍,垂直方向扩大10倍,就可以把 ( 1 , 1 ) (1,1) ( 1 , 1 ) 向量转换为( 2 , 10 ) (2,10) ( 2 , 10 ) 向量。
因此,这里2 2 2 和10 10 10 分别叫做矩阵A的特征值 ,而对应的( 1 , 0 ) (1,0) ( 1 , 0 ) 和( 0 , 1 ) (0,1) ( 0 , 1 ) 就叫做对应特征值的特征向量 。
特别的,我们把2,10叫做 矩阵的迹 ,他描述的是线性变换本身固有的、独立于所选择基底的属性。无论你用什么坐标系来描述同一个线性变换,它的迹是不变性 。
到这里可以发现,如果一个矩阵能化为对角形矩阵,那么只要以主对角线为坐标单位,就可以很容易化为标准坐标系。而主对角线里的值正好是矩阵的特征值。
对角矩阵的好处 再看一个例子,如果一个变换可以写成对角矩阵,那么它的特征值就是它对角线上的元素,而特征向量就是相应的基。例如矩阵:
A = [ 2 0 0 0 2 0 0 0 4 ] A =\left[\begin{array}{lll}2 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 4\end{array}\right] A = 2 0 0 0 2 0 0 0 4
的特征值就是 2 和 4 。2对应的特征向量是所有形同 ( a , b , 0 ) T (a, b, 0)^T ( a , b , 0 ) T 的非零向量,而 4 对应的特征向量是所有形同 ( 0 , 0 , c ) T (0,0, c)^T ( 0 , 0 , c ) T 的非零向量。2对应的特征空间是一个2维空间,而4对应的特征空间是一个1维空间。矩阵 A A A 的谱是 { 2 , 4 } \{2,4\} { 2 , 4 } 。
普通矩阵的相似 我们定义
P − 1 A P = B . . . ( 1 ) \boxed{
P^{-1} A P= B ...(1)
} P − 1 A P = B ... ( 1 ) 则称呼A A A 和B B B 矩阵相似 ,如果把(1)稍微变形一下,左乘P P P ,右乘P − 1 P^{-1} P − 1 ,就有
A = P B P − 1 . . . ( 2 ) \boxed{
A=PBP^{-1}...(2)
} A = PB P − 1 ... ( 2 ) 这表明一个矩阵A A A 可以分解为3个矩阵相乘的形式。矩阵相似可以理解为从不同的坐标系里看物体。详细解释请参考 矩阵相似的几何意义
普通矩阵的的对角化 上面(2)式表明一个矩阵可以分解为三个矩阵,现在我们“得寸进尺”提高要求,我们希望这里的B B B 为对角形矩阵,即
A = P Λ P − 1 . . . ( 3 ) \boxed{
A=P\Lambda P^{-1}...(3)
} A = P Λ P − 1 ... ( 3 ) 就像因式分解一样,假设矩阵A A A 能分解为Λ \Lambda Λ 形式, 那么有时候能极大简化运算。例如 计算A 3 A^3 A 3 .
因为
A = P Λ P − 1 A = P \Lambda P ^{-1} A = P Λ P − 1 ,所以
A 3 = P Λ P − 1 ⋅ P Λ P − 1 ⋅ P Λ P − 1 A^3 = P \Lambda P ^{-1} \cdot P \Lambda P ^{-1} \cdot P \Lambda P ^{-1} A 3 = P Λ P − 1 ⋅ P Λ P − 1 ⋅ P Λ P − 1 再利用结合律,即得
A 3 = P Λ 3 P − 1 A^3 = P \Lambda^3 P ^{-1} A 3 = P Λ 3 P − 1 这样计算A 3 A^3 A 3 核心就转换为计算对角矩阵主对角线的3次方计算。具体
可以参考 此处 例子。
现在假如(3)式已经实现, 左乘P − 1 P^{-1} P − 1 ,右乘P P P 就会得到
P − 1 A P = Λ . . . ( 4 ) \boxed{
P^{-1} A P= \Lambda ...(4)
} P − 1 A P = Λ... ( 4 ) 我们称矩阵A A A 和对角形相似 。
其实,对于(4)式,对普通矩阵还真没多大使用价值。但是,如果这个普通矩阵又是对称矩阵,就立刻发挥他强大的价值,利用对称矩阵的特征值相当于给我们找到了一个正交矩阵,这里最重要的一个结论是:对称矩阵的特征向量是互相垂直的 。
特征分解(Eigendecomposition) 对于(3)式,即
A = P Λ P − 1 \boxed{A = P \Lambda P ^{-1}} A = P Λ P − 1 可以看到矩阵A变成三个矩阵相乘的形式,我们称呼这种乘法为:特征分解。特征分解揭示了矩阵 A 的内在缩放特性。它表明矩阵 A 对向量的作用可以分解为:先将向量转换到特征向量定义的坐标系下,特征向量就是这个新坐标系的基底,然后在各个特征向量方向上进行缩放,最后再转换回原始坐标系。
从几何上理解特征值与特征向量 在上面介绍了特征值与特征向量,这里进一步从广义的视角介绍其集合意义。
方阵乘以一个向量的结果仍是一个同维向量, 矩阵乘法对应了一个变换, 把一个向量变成同维数的另一个向量。在这个变换的过程中, 向量会发生旋转、伸缩或镜像的变化。矩阵不同,向量变化的结果也会不同。如果矩阵对某一个向量或某些向量只发生伸缩变换, 不对这些向量产生旋转效果, 那么这些向量就是这个矩阵的特征向量 , 伸缩的比例就是特征值; 如果伸缩的比例值是负值, 原向量的方向改变为反方向, 原向量仍然是这个矩阵的特征向量。
比如二维逆时针旋转 π / 2 \pi / 2 π /2 弧度的矩阵, 这时我们可以问一个问题:在平面上的所有向量中, 有没有向量在这个矩阵变换下只沿着某根直线缩放或振动而不旋转到其他方向呢? 可以想一下, 除了零向量, 没有其他向量可以在平面上旋转 π / 2 \pi / 2 π /2 而不改变方向的,所以这个变换对应的矩阵(或者说这个变换自身)没有特征向量 (注意: 特征向量不能是零向量)。因此, 一个变换的特征向量是这样一种向量, 它经过这种特定的变换后保持在某个直线上不转动, 只是进行长度上的伸缩而已。
再返回来盯着特征向量的定义 “ A a = λ a \boldsymbol{A a}=\boldsymbol{\lambda} \boldsymbol{a} Aa = λ a ”, 目不转睛保持 3 分钟……仔细看: 不要忘了 A \boldsymbol{A} A 就是一个变换。再回来对着定义式目不转睛 ⋯ ⋯ ⋅ \cdots \cdots \cdot ⋯⋯ ⋅ , 这时你豁然顿悟了: λ a \lambda \boldsymbol{a} λ a 是方阵 A \boldsymbol{A} A 对向量 a \boldsymbol{a} a 进行变换后的结果,但显然 λ a \lambda \boldsymbol{a} λ a 和 a \boldsymbol{a} a 是在一条直线上 (方向相同或相反)。特征值 λ \lambda λ 只不过反映了特征向量 a \boldsymbol{a} a 在变换时的伸缩倍数而已。
例如, 设某矩阵 A \boldsymbol{A} A 和两个向量 a = ( − 1 1 ) 、 b = ( 2 1 ) \boldsymbol{a}=\left(\begin{array}{c}-1 \\ 1\end{array}\right) 、 \boldsymbol{b}=\left(\begin{array}{l}2 \\ 1\end{array}\right) a = ( − 1 1 ) 、 b = ( 2 1 ) , 那么, 矩阵对两个向量的变换结果为 a ′ = A a = ( − 5 − 1 ) \boldsymbol{a}^{\prime}=\boldsymbol{A} \boldsymbol{a}=\left(\begin{array}{l}-5 \\ -1\end{array}\right) a ′ = A a = ( − 5 − 1 ) 和 b ′ = A b = ( 4 2 ) \boldsymbol{b}^{\prime}=\boldsymbol{A} \boldsymbol{b}=\left(\begin{array}{l}4 \\ 2\end{array}\right) b ′ = A b = ( 4 2 ) , 几何图形如图 5-32 所示。
显然, 只有向量 b \boldsymbol{b} b 被矩阵 A \boldsymbol{A} A 同方向拉长了 2 倍, 即 A b = 2 b \boldsymbol{A} \boldsymbol{b}=2 \boldsymbol{b} A b = 2 b , 因此向量 b \boldsymbol{b} b 是矩阵 A \boldsymbol{A} A 的特征向量, 特征值为 2 。
对于矩阵 A \boldsymbol{A} A , 大多数向量 a \boldsymbol{a} a 不满足 A a = λ a \boldsymbol{A} \boldsymbol{a}=\boldsymbol{\lambda} \boldsymbol{a} A a = λ a 这样的一个方程。因为当向量 a \boldsymbol{a} a 被矩阵相乘时几乎都将改变 a \boldsymbol{a} a 的方向, 因此 A a \boldsymbol{A} \boldsymbol{a} A a 和 a \boldsymbol{a} a 常常不是倍数的关系。这意味着只有某些特殊的数 λ \lambda λ 是特征值, 而且只有某些特殊的少数向量是特征向量(有的矩阵干脆一个没有)。当然有个例外,如 A \boldsymbol{A} A 是单位矩阵或单位矩阵的倍数, 那就没有向量被改变方向, 从而所有的向量都是特征向量。
因此, 从矩阵的几何意义来看, 矩阵 A \boldsymbol{A} A 的特征向量 a \boldsymbol{a} a 就是经过矩阵 A \boldsymbol{A} A 变换后与自己平行(方向相同或者相反)的非零向量, 矩阵 A \boldsymbol{A} A 的特征值 λ \lambda λ 就是特征向量 a \boldsymbol{a} a 经变换后的伸缩系数。
从代数的角度看特征值与特征向量 定义一个算子 T ∈ R 3 T \in R^3 T ∈ R 3 为:对 ( x , y , z ) ∈ R 3 (x, y, z) \in R ^3 ( x , y , z ) ∈ R 3 ,
T ( x , y , z ) = ( 7 x + 3 z , 3 x + 6 y + 9 z , − 6 y ) . T(x, y, z)=(7 x+3 z, 3 x+6 y+9 z,-6 y) . T ( x , y , z ) = ( 7 x + 3 z , 3 x + 6 y + 9 z , − 6 y ) . 那么 T ( 3 , 1 , − 1 ) = ( 18 , 6 , − 6 ) = 6 ( 3 , 1 , − 1 ) T(3,1,-1)=(18,6,-6)=6(3,1,-1) T ( 3 , 1 , − 1 ) = ( 18 , 6 , − 6 ) = 6 ( 3 , 1 , − 1 ) .所以 6 是 T T T 的特征值.
总结 前面说,矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换的过程中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值。
实际上,上述的一段话既讲了矩阵变换特征值及特征向量的几何意义(图形变换),也讲了其物理含义。物理含义就是运动的图景:特征向量在一个矩阵的作用下作伸缩运动,伸缩的幅度由特征值确定。特征值大于 1 ,所有属于此特征值的特征向量身形暴长;特征值大于 0 小于 1 ,特征向量身形猛缩;特征值小于 0 ,特征向量缩过了界,反方向到 0 点那边去了。
关于特征值和特征向量,这里请注意两个亮点:一个是线性不变量的含义,一个是振动的谱含义。
1.特征向量是线性不变量
有一个著名的布劳维尔(Brouwer)不动点定理,在经济分析中常用于求解市场均衡点的问题。不动点就是一种不变量。不动点的定义如下:
设 σ : M → M \sigma: M \rightarrow M σ : M → M 是集合 M M M 到自身的一个变换。如果存在 x ∗ ∈ M x^* \in M x ∗ ∈ M ,使得
σ ( x ∗ ) = x ∗ \sigma\left(x^*\right)=x^* σ ( x ∗ ) = x ∗ 则称 x ∗ x ^* x ∗ 是变换 σ \sigma σ 的一个不动点。
我们现在讲的线性变换或矩阵变换同样具有不动点的概念。线性空间里的元素 x x x *是向量,不动点就成了不动向量或不变向量。进一步,我们把不变向量的概念扩大一下,不但包含不动向量 x x x *还包含共线的向量 λ x ∗ \lambda \boldsymbol { x } ^ { * } λ x ∗ 作为研究对象,也就是把不动点的定义式改造为
σ ( x ∗ ) = λ x ∗ \sigma\left(x^*\right)=\lambda x^* σ ( x ∗ ) = λ x ∗ ( λ \lambda λ 为常数)
这样就成了线性变换 σ \sigma σ 的特征向量的定义式了。
特征向量概念的亮点之一是不变量,这里叫线性不变量。因为我们常讲,线性变换啊线性变换,不就是把一根线(向量)变成另一根线(向量),线的变化的地方大多是方向和长度一块变。而一种名叫"特征向量"的向量特殊,在矩阵作用下不变方向只变长度。不变方向的特性就被称为线性不变量。
不过,我们参考上节的引例 理解-凸透镜成像原理理解不变量的意义
2.特征值是振动的谱
在理解关于振动的特征值和特征向量的过程中,需要加入复特征值或复向量抑或复矩阵的概念,因为在实际应用中实特征值们是干不了多少事的。机械振动和电振动有频谱,振动的某个频率具有某个幅度,那么矩阵也有矩阵的谱,矩阵的谱就是矩阵特征值的概念,是矩阵所固有的特性,所有的特征值形成了矩阵的一个频谱,每个特征值是矩阵的一个 "谐振频点"。
美国数学家斯特朗(G.Strang)在其经典教材《线性代数及其应用》中这样介绍了特征值作为频率的物理意义,他说:
大概最简单的例子(我从不相信其真实性,虽然据说 1831 年有一桥梁毁于此因)是一对士兵通过桥梁的例子。传统上,他们要停止齐步前进而要散步通过。这个理由是因为他们可能以等于桥的特征值之一的频率齐步行进,从而将发生共振。就像孩子的秋千那样,你一旦注意到一个秋千的频率,和此频率相配,你就使频率荡得更高。一个工程师总是试图使他的桥梁或他的火箭的自然频率远离风的频率或液体燃料的频率;而在另一种极端情况,一个证券经纪人则尽毕生精力与努力到达市场的自然频率线。特征值是几乎任何一个动力系统的最重要的特征。
其实,这个矩阵之所以能形成"频率的谱",就是因为矩阵在特征向量所指的方向上具有对向量产生恒定的变换作用:周期性地增强(或减弱)特征向量的作用。进一步地,如果矩阵持续地叠代作用于向量,那么特征向量就会凸现出来。
在《线性代数的几何意义》里,作者说,一个线性物理系统,其特性可以被一个矩阵所描述,那么这个系统的物理特性就可以被这个矩阵的特征值所决定,各种不同的信号(向量)进入这个系统中后,系统输出的信号 (向量)就会发生相位超前或滞后、幅度放大或缩小等各种纷乱的变化。但只有特征信号(特征向量)被稳定地发生放大(或缩小)的变化。如果把系统的输出端口接入输入端口,那么只有特征信号(特征向量)第二次被放大(或缩小)了,其他信号继续其纷乱的不稳定变化幅度得不到增强……经过 n n n 次循环后,显然,乱七八糟的大量的向量群众们终不能成气候而渐渐消亡,只有特征向量们,心往一处想,劲往一线使,要么成功出人头地,要么失败杀身成仁。因 此我们可以在时间域上观察输出,就会得到一个或几个超级明显的特征信号(特征向量)出来。