特征值和特征向量的理解
前言
本文将探讨线性代数中及其重要的两个概念:特征值与特征向量.
提示:(PS:下文中的矩阵A均认为是方阵) 。
一、矩阵是什么?
矩阵不单单是二维数组,它更重要的角色是映射:
y
⃗
=
A
x
⃗
\vec{y}=A\vec{x}
y=Ax
y
⃗
=
A
x
⃗
\vec{y}=A\vec{x}
y=Ax就相当于
y
⃗
=
f
(
x
⃗
)
\vec{y}=f(\vec{x})
y=f(x),矩阵A是把向量
x
⃗
\vec{x}
x映射到向量
y
⃗
\vec{y}
y 的一个函数,或者说,映射,算子。
从一般的角度看,这个映射无非就是矩阵乘向量,说得具体一点,就是n次的向量点积计算.(矩阵的一行乘上向量,并对结果向量的所有元素求和,就是一次点积)
错!实际上,这个映射本质是一个缩放操作.
二、举个例子
1、计算特征值与特征向量
提示:可以动动手指头算一算,参考这里。
举一个简单的例子,矩阵
A
=
(
4
−
2
3
−
1
)
A= \left( \begin{array}{ccc} 4 & -2 \\ 3 & -1 \end{array} \right)
A=(43−2−1)
它的特征值分别是2和1,特征向量是
(
1
1
)
\left( \begin{array}{ccc} 1 \\ 1 \end{array} \right)
(11)和
(
2
3
)
\left( \begin{array}{ccc} 2 \\ 3 \end{array} \right)
(23)
2、用特征向量表示任意向量
我们随便设向量 x ⃗ = ( 1 2 ) \vec{x}=\left( \begin{array}{ccc} 1 \\ 2 \end{array} \right) x=(12),显然结果 y ⃗ = A x ⃗ = ( 0 1 ) \vec{y}=A\vec{x}=\left( \begin{array}{ccc} 0 \\ 1 \end{array} \right) y=Ax=(01)
我们使用另一种方法计算,首先我们将
x
⃗
\vec{x}
x 表示成特征向量
(
1
1
)
\left(\begin{array}{ccc} 1 \\ 1 \end{array} \right)
(11)和
(
2
3
)
\left( \begin{array}{ccc} 2 \\ 3 \end{array} \right)
(23)的线性组合,即:
x
⃗
=
(
1
2
)
=
−
1
∗
(
1
1
)
+
1
∗
(
2
3
)
\vec{x}=\left( \begin{array}{ccc}1\\2\end{array} \right)=-1*\left( \begin{array}{ccc}1\\1\end{array} \right) + 1* \left( \begin{array}{ccc}2\\3\end{array} \right)
x=(12)=−1∗(11)+1∗(23)
然后,我们将特征值和对应的系数相乘,得到:
y
⃗
=
−
1
∗
2
∗
(
1
1
)
+
1
∗
1
∗
(
2
3
)
=
−
2
∗
(
1
1
)
+
1
∗
(
2
3
)
\vec{y}=-1*2*\left( \begin{array}{ccc}1\\1\end{array} \right) + 1*1* \left( \begin{array}{ccc}2\\3\end{array} \right)=-2*\left( \begin{array}{ccc}1\\1\end{array} \right) + 1* \left( \begin{array}{ccc}2\\3\end{array} \right)
y=−1∗2∗(11)+1∗1∗(23)=−2∗(11)+1∗(23)
显然,如果你继续计算下去,你也会得到
y
⃗
=
(
0
1
)
\vec{y}=\left( \begin{array}{ccc}0\\1\end{array} \right)
y=(01)
提示:好好领悟
特征值和特征向量的意义就在于此!
矩阵所充当的映射,实际上就是对特征向量的缩放,每个特征向量的缩放程度就是特征值.
因此,我们需要将向量
x
⃗
\vec{x}
x 表示成特征向量的线性组合(相当于以特征向量为基),得到相应的特征向量的权重.
然后,每个权重与特征值相乘,就是这个映射最本质的缩放操作.
三、理解其他结论
基于这样的理解,我们可以很简单地解释很多结论。
1、对角化分解
对角化分解实际上就是我们解释特征值含义的过程。
A
=
P
Λ
P
−
1
A=P\Lambda P^{-1}
A=PΛP−1,其中
P
P
P是由特征向量组成的矩阵,
Λ
Λ
Λ是由特征值组成的对角矩阵。
在解释对角化分解之前,我们还要先解释矩阵的另一个含义.
对于
z
⃗
=
P
y
⃗
\vec{z}=P\vec{y}
z=Py, 事实上矩阵P还有其他含义,比如在这里有转换基向量的含义:
- y ⃗ \vec{y} y是特征向量为基所表示的向量,上文 y ⃗ = − 2 ∗ ( 1 1 ) + 1 ∗ ( 2 3 ) \vec{y}=-2*\left( \begin{array}{ccc}1\\1\end{array} \right) + 1* \left( \begin{array}{ccc}2\\3\end{array} \right) y=−2∗(11)+1∗(23),那么 y ⃗ \vec{y} y在在特征向量为基的表示是 y ⃗ = ( − 2 1 ) \vec{y}=\left( \begin{array}{ccc}-2\\1\end{array} \right) y=(−21)
- z ⃗ \vec{z} z 则是坐标轴为基所表示的向量,假如 z ⃗ \vec{z} z 的表示为 z ⃗ = ( 0 1 ) \vec{z}=\left( \begin{array}{ccc}0\\1\end{array} \right) z=(01),相当于 z ⃗ = 0 ∗ ( 1 0 ) + 1 ∗ ( 0 1 ) \vec{z}=0*\left( \begin{array}{ccc}1\\0\end{array} \right) + 1* \left( \begin{array}{ccc}0\\1\end{array} \right) z=0∗(10)+1∗(01)
- 那么
z
⃗
=
P
y
⃗
\vec{z}=P\vec{y}
z=Py的含义就是把一个向量从特征向量为基的表示
y
⃗
\vec{y}
y ,转变成以坐标轴为基的表示
z
⃗
\vec{z}
z .
相应, y ⃗ = P − 1 x ⃗ \vec{y}=P^{-1}\vec{x} y=P−1x 的含义则相反,是把一个向量从坐标轴为基的表示 x ⃗ \vec{x} x ,转变成以特征向量为基的表示 y ⃗ \vec{y} y .
那么
y
⃗
=
A
x
⃗
=
P
Λ
P
−
1
x
⃗
\vec{y}=A\vec{x}=P\Lambda P^{-1} \vec{x}
y=Ax=PΛP−1x,我们就可以解释了。
首先,
P
−
1
x
⃗
P^{-1}\vec{x}
P−1x 是将
x
⃗
\vec{x}
x转变成用特征向量表示,上文
x
⃗
=
(
1
2
)
=
−
1
∗
(
1
1
)
+
1
∗
(
2
3
)
\vec{x}=\left( \begin{array}{ccc}1\\2\end{array} \right)=-1*\left( \begin{array}{ccc}1\\1\end{array} \right) + 1* \left( \begin{array}{ccc}2\\3\end{array} \right)
x=(12)=−1∗(11)+1∗(23),就是把
(
1
2
)
\left( \begin{array}{ccc} 1 \\ 2 \end{array} \right)
(12)变成了
(
−
1
1
)
\left( \begin{array}{ccc} -1 \\ 1 \end{array} \right)
(−11)。
然后
Λ
P
−
1
x
⃗
\Lambda P^{-1} \vec{x}
ΛP−1x,就是对应的特征值与权重作乘法,得到
(
−
2
1
)
\left( \begin{array}{ccc} -2 \\ 1\end{array} \right)
(−21)。
最后
y
⃗
=
P
Λ
P
−
1
x
⃗
\vec{y}=P\Lambda P^{-1} \vec{x}
y=PΛP−1x,就是把
(
−
2
1
)
\left( \begin{array}{ccc} -2 \\ 1\end{array} \right)
(−21)重新转换成坐标轴为基的表示,得到
(
0
1
)
\left( \begin{array}{ccc} 0 \\ 1\end{array} \right)
(01)。
2、矩阵的特征值分别是原矩阵特征值的倒数
是因为原矩阵放大了2倍,逆矩阵就要相应地缩小到原本的1/2.
当然,特征向量要保持对应,因此这也解释了为什么逆矩阵的特征向量和原矩阵一样
3、特征值为0,意味着不可逆
参考第2点,0没有倒数.
4、通过解 A x ⃗ = λ x ⃗ A\vec{x}=\lambda \vec{x} Ax=λx来寻找特征值
显然,在这里λ是特征值, x ⃗ \vec{x} x 是特征向量.
把 x ⃗ \vec{x} x变成以A的特征向量为基来表示的话,那么权重肯定只有1个1,其他都为0,那个1对应的特征向量当然是 x ⃗ \vec{x} x 本身.
这个时候进行缩放,那么只有 x ⃗ \vec{x} x 的权重被缩放了,其他特征向量的权重都是0,0乘任何数为0.
那么,A x ⃗ \vec{x} x 的结果就相当于 λ x ⃗ \lambda\vec{x} λx 了,因为 λ x ⃗ \lambda\vec{x} λx 就是 x ⃗ \vec{x} x作了相应的缩放,缩放因子就是特征值λ.