二次型
通过矩阵来研究二次函数(方程),这就是线性代数中二次型的重点。
1 二次函数(方程)的特点
1.1 二次函数
最简单的一元二次函数就是:
给它增加一次项不会改变形状:
增加常数项就更不用说了,更不会改变形状。
1.2 二次方程
下面是一个二元二次方程:
给它增加一次项也不会改变形状,只是看上去有些伸缩:
1.3 小结
对于二次函数或者二次方程,二次部分是主要部分,往往研究二次这部分就够了。
2 通过矩阵来研究二次方程
因为二次函数(方程)的二次部分最重要,为了方便研究,我们把含有n 个变量的二次齐次函数:
f
(
x
1
,
x
2
,
⋅
,
x
n
)
=
a
11
x
1
2
+
a
22
x
2
2
+
⋯
+
a
n
n
x
n
2
+
2
a
12
x
1
x
2
+
2
a
13
x
1
x
3
+
⋯
+
2
a
n
−
1
,
n
x
n
−
1
x
n
f(x_1,x_2,\cdot,x_n)=a_{11}x_1^2+a_{22}x_2^2+\cdots+a_{nn}x_n^2+2a_{12}x_1x_2+2a_{13}x_1x_3+\cdots+2a_{n-1,n}x_{n-1}x_n
f(x1,x2,⋅,xn)=a11x12+a22x22+⋯+annxn2+2a12x1x2+2a13x1x3+⋯+2an−1,nxn−1xn
或者二次齐次方程称为二次型。
2.1 二次型矩阵
实际上我们可以通过矩阵来表示二次型:
更一般的:
可以写成更线代的形式:
所以有下面一一对应的关系:
在线代里面,就是通过一个对称矩阵,去研究某个二次型。
2.2 通过矩阵来研究有什么好处
2.2.1 圆锥曲线
我们来看下,这是一个圆:
我们来看改变一下二次型矩阵:
哈,原来椭圆和圆之间是线性关系呐(通过矩阵变换就可以从圆变为椭圆)。
继续:
咦,双曲线和圆之间也是线性关系(准确的说是仿射的)。
其实圆、椭圆、双曲线之间关系很紧密的,统称为圆锥曲线,都是圆锥体和平面的交线:
从上面动图可看出,一个平面在圆锥体上运动,可以得到圆、椭圆、双曲线,这也是它们之间具有线性关系的来源(平面的运动是线性的、或者是仿射的)。
2.2.2 规范化
再改变下矩阵:
这个椭圆看起来有点歪,不太好处理,我们来把它扶正,这就叫做规范化。
如果我们对矩阵有更深刻的认识,那么要把它扶正很简单。
往下读之前,请先参看我在如何理解特征值(https://www.zhihu.com/question/21874816/answer/181864044)下的回答。
首先,矩阵代表了运动,包含:
旋转
拉伸
投影
对于方阵,因为没有维度的改变,所以就没有投影这个运动了,只有:
旋转
拉伸
具体到上面的矩阵:
我把这个矩阵进行特征值分解:
注意我上面提到的正交很重要,为什么重要,参下。
对于二次型矩阵,都是对称矩阵,所以特征值分解总可以得到正交矩阵与对角矩阵。
特征值分解实际上就是把运动分解了:
那么我们只需要保留拉伸部分,就相当于把矩阵扶正(图中把各自图形的二次型矩阵标注出来了):
所以,用二次型矩阵进行规范化是非常轻松的事情。
2.2.3 正定
正定是对二次函数有效的一个定义,对方程无效。
对于二次型函数,f(x)=x^TAx :
- f(x)>0,x\ne0,x\in\mathbb{R} ,则f 为正定二次型,A 为正定矩阵
- f(x)\geq0,x\ne0,x\in\mathbb{R} ,则f 为半正定二次型,A 为半正定矩阵
- f(x)<0,x\ne0,x\in\mathbb{R} ,则f 为负定二次型,A 为负定矩阵
- f(x)\leq0,x\ne0,x\in\mathbb{R} ,则f 为半负定二次型,A 为半负定矩阵
- 以上皆不是,就叫做不定
从图像上看,这是正定:
半正定:
不定:
既然二次型用矩阵来表示了,那么我们能否通过矩阵来判断是否正定呢?
下面我分别给出了二次型的图形,以及对应的特征值矩阵的图形,你可以自己动手试试(3D窗口可以通过鼠标旋转,方便观察),得出自己的结论:
起码,我们可以观察出这个结论,特征值都大于0,则为正定矩阵。
3 总结
在很多学科里,二次型都是主要研究对象,很多问题都可以转为二次型。线代作为一门数学工具,在二次型的研究中也发挥了很好的作用。
特征值、特征向量
(下面的回答只涉及实数范围)。
关于特征值、特征向量可以讲的确实很多,我这里希望可以给大家建立一个直观的印象。
先给一个简短的回答,如果把矩阵看作是运动,对于运动而言,最重要的当然就是运动的速度和方向,那么(我后面会说明一下限制条件):
- 特征值就是运动的速度
- 特征向量就是运动的方向
既然运动最重要的两方面都被描述了,特征值、特征向量自然可以称为运动(即矩阵)的特征。
注意,由于矩阵是数学概念,非常抽象,所以上面所谓的运动、运动的速度、运动的方向都是广义的,在现实不同的应用中有不同的指代。
下面是详细的回答,我会先从几何上简单讲解下特征值、特征向量的定义指的是什么,然后再来解释为什么特征值、特征向量会是运动的速度和方向。
1 几何意义
说明下,因为线性变换总是在各种基之间变来变去,所以我下面画图都会把作图所用的基和原点给画出来。
在
i
⃗
,
j
⃗
\vec{i_{}},\vec{j_{}}
i
,j
下面有个
v
⃗
\vec{v_{}}
v
:
随便左乘一个矩阵A,图像看上去没有什么特殊的:
我调整下
v
⃗
\vec{v_{}}
v
的方向,图像看上去有点特殊了:
可以观察到,调整后的
v
⃗
\vec{v_{}}
v
和
A
v
⃗
A\vec{v_{}}
Av
在同一根直线上,只是
A
v
⃗
A\vec{v_{}}
Av
的长度相对
v
⃗
\vec{v_{}}
v
的长度变长了。
此时,我们就称
v
⃗
\vec{v_{}}
v
是A的特征向量,而
A
v
⃗
A\vec{v_{}}
Av
的长度是
v
⃗
\vec{v_{}}
v
的长度的
λ
\lambda
λ倍,
λ
\lambda
λ就是特征值。
从而,特征值与特征向量的定义式就是这样的:
其实之前的A不止一个特征向量,还有一个特征向量:
容易从
A
v
⃗
A\vec{v_{}}
Av
相对于
v
⃗
\vec{v_{}}
v
是变长了还是缩短看出,这两个特征向量对应的特征
λ
\lambda
λ值,一个大于1,一个小于1。
从特征向量和特征值的定义式还可以看出,特征向量所在直线上的向量都是特征向量:
你可以自己动手试试,可以改变
v
⃗
\vec{v_{}}
v
的位置,以及矩阵A的值(特征空间会随着矩阵改变而改变):
其中有些值构成的矩阵没有画出特征空间,可能是因为它的特征值、特征向量是复数,也可能是不存在。
下面就要说下,特征值、特征向量与运动的关系
2 运动的速度与方向
2.1 从调色谈起
我有一管不知道颜色的颜料,而且这管颜料有点特殊,我不能直接挤出来看颜色,只能通过调色来观察:
为了分辨出它是什么颜色(记得它只能通过调色来辨别):
因为反复混合之后,这管颜料的特征就凸显了出来,所以我们判断,这管颜料应该是蓝色。
说这个干什么?矩阵也有类似的情况。
2.2 矩阵的混合
一般来说,矩阵我们可以看作某种运动,而二维向量可以看作平面上的一个点(或者说一个箭头)。对于点我们是可以观察的,但是运动我们是不能直接观察的。
就好像,跑步这个动作,我们不附加到具体的某个事物上是观察不到的,我们只能观察到:人跑步、猪跑步、老虎跑步、…,然后从中总结出跑步的特点。
就好像之前举的不能直接观察的颜料一样,要观察矩阵所代表的运动,需要把它附加到向量上才观察的出来:
似乎还看不出什么。但是如果我反复运用矩阵乘法的话:
就像之前颜料混合一样,反复运用矩阵乘法,矩阵所代表的运动的最明显的特征,即速度最大的方向,就由最大特征值对应的特征向量展现了出来。
至于别的特征值对应的是什么速度,我后面会解释,这里先跳过。
可以自己动手试试,我把\lambda值也标注出来了,可以关注下最大\lambda值对于运动的影响:
顺便说下,对于复数的特征值、特征向量,在上面就没有画出特征空间,但可以观察到反复运用矩阵乘法的结果是围绕着原点在旋转。关于复数特征值和特征向量这里就不展开来说了。
2.3 烧一壶斐波那契的水
就可以看出,这壶水的温度会沿着A的特征值最大的特征向量方向飞快增长,我估计要不了多久,在理想的情况下,温度就会突破百万度、千万度、亿万度,然后地球说不定就爆炸了。我们就说这个矩阵不稳定。
所以说,不要烧斐波那契的水。
实际上历史也是这样,欧拉在研究刚体的运动时发现,有一个方向最为重要,后来拉格朗日发现,哦,原来就是特征向量的方向。
我们知道特征值、特征向量有什么特点之后,下一步就想知道,为什么会这样?
3 特征值分解
下面讲解要用到矩阵乘法和相似矩阵的知识,我就不啰嗦了,可以参看:“从高斯消元法到矩阵乘法”(https://www.matongxue.com/madocs/755)、“如何理解矩阵乘法?”(https://www.matongxue.com/madocs/555/)以及“相似矩阵是什么?”(https://www.matongxue.com/madocs/491)
对于方阵而言,矩阵不会进行纬度的升降,所以矩阵代表的运动实际上只有两种:
- 旋转
- 拉伸
最后的运动结果就是这两种的合成。
我们再回头看下刚才的特征值分解,实际上把运动给分解开了:
我们来看看在几何上的表现是什么,因此相似矩阵的讲解涉及到基的变换,所以大家注意观察基:
如果旋转前的基不正交,旋转之后变为了标准基,那么实际会产生伸缩,所以之前说的正交很重要。
相当于,之前的旋转指明了拉伸的方向,所以我们理解了:
- 特征值就是拉伸的大小
- 特征向量指明了拉伸的方向
回到我们之前说的运动上去,特征值就是运动的速度,特征向量就是运动的方向,而其余方向的运动就由特征向量方向的运动合成。所以最大的特征值对应的特征向量指明了运动速度的最大方向。
但是,重申一下,上面的推论有一个重要的条件,特征向量正交,这样变换后才能保证变换最大的方向在基方向。如果特征向量不正交就有可能不是变化最大的方向,比如:
所以我们在实际应用中,都要去找正交基。但是特征向量很可能不是正交的,那么我们就需要奇异值分解了,这里就不展开了。
大家可以再回头去操作一下之前的动图,看看不正交的情况下有什么不一样。
说明下,如果大家把这个文章和之前提到的我写的“相似矩阵”的文章参照来看的话,“相似矩阵”那篇文章里面我把图像的坐标系换了,所以看着图像没有变换(就好像直角坐标系到极坐标系下,图像是不会变换的)。而这里我把图像的坐标系给旋转、拉伸了,所以看着图像变换了(就好像换元,会导致图像变换)。这其实是看待矩阵乘法的两种视角,是等价的,但是显示到图像上就有所不同。
4 特征值、特征向量的应用
4.1 控制系统
之前的烧水系统是不稳定的。
λ
=
1
\lambda = 1
λ=1的,系统最终会趋于稳定:
4.2 图片压缩
比如说,有下面这么一副
512
×
512
512\times512
512×512的图片(方阵才有特征值,所以找了张正方形的图):
这个图片可以放到一个矩阵里面去,就是把每个像素的颜色值填入到一个
512
×
512
512\times512
512×512的A矩阵中。
根据之前描述的有:
A
=
P
Λ
P
−
1
A=P\Lambda P^{-1}
A=PΛP−1
其中,
Λ
\Lambda
Λ是对角阵,对角线上是从大到小排列的特征值。
我们在
Λ
\Lambda
Λ中只保留前面50个的特征值(也就是最大的50个,其实也只占了所有特征值的百分之十),其它的都填0,重新计算矩阵后,恢复为下面这样的图像:
效果还可以,其实一两百个特征值之和可能就占了所有特征值和的百分之九十了,其他的特征值都可以丢弃了。
二次型 https://www.matongxue.com/madocs/271/
特征值 https://www.matongxue.com/madocs/228