程序员的数学之线性代数
综述
线性代数的学习,比起计算方法,更重要的是掌握它的本质含义,这一点是非常重要的。矩阵不仅仅是数字排列而成的表而已,如果我们尝试从空间的角度去理解矩阵,我们会发现,它的“意蕴”是非常丰富有趣的。
其实,本质上来说,矩阵就是映射,在空间上的一种映射。
举个例子来阐述这个观点:假设有一个m * n的矩阵A, 在n维空间中的点x(n * 1 的列向量),则经过矩阵A的映射,就像n维空间中的点x映射到了m维空间中去了(Ax, m维的列向量)。
接下来,我将从空间的角度,去阐述一些基本概念:对角矩阵、行列式、特征值、特征向量、对角化、秩与可逆化。
首先,不得不说一下单位矩阵,也就是标准空间。(本文只列举二维空间的变换, 也就是只用二阶矩阵来阐述一些概念, 这些概念同样适用于n维的向量空间)
单位矩阵E,沿着矩阵的对角线的数为1, 其它的数全为0。(例如:
{
1
0
0
1
}
\left\{1001
在这里,我将直接阐述一些概念的“空间意义”。
一、 对角矩阵:
设矩阵A =
{
1.5
0
0
0.5
}
\left\{1.5000.5
该空间将发生如下变化:水平方向上将会伸缩为原来的1.5倍,垂直方向上将伸缩为原来的0.5倍。则面积扩大为原来(1 * 1)的1.5 * 0.5倍,即行列式det***A*** = 0.75。
如果矩阵变成了A =
{
0
0
0
0.5
}
\left\{0000.5
水平方向上变为原来的0倍?垂直方向上还是变为原来的0.5倍?对, 没错,通过这样的变换之后,水平方向被压缩后与垂直方向重合,也就是说,空间的维度由原来的2维降到了1维空间。
那,如果矩阵变成了A =
{
1.5
0
0
−
0.5
}
\left\{1.500−0.5
这个时候,垂直方向变为原来的-0.5倍,即上下颠倒后缩短为原来的0.5,而detA<0。
通过这样的一个简单例子,会给我们带来一个怎么样的思考呢?
首先,对比对角矩阵与单位矩阵,没错,单位矩阵,也是对角矩阵。然后呢?有没有发现,这种伸缩率是相比于1的?也就是单位矩阵,单位空间。再然后呢?会发现,这种变换,它们仅仅只是在每一个维度上进行的,并没有影响另外一个维度。其实从这里我们便可以得到启发:即使看似是n维的问题,实际上也只是n个一维问题而已。我们只需要将这n个一维问题“合成”一下即可。
二、特征值、特征向量、对角化:
从几何意义上讲,特征向量乘上矩阵A之后,矩阵A所表示的向量空间除了长度有伸缩变化之外,方向不发生改变。这里的长度变化倍率,便是特征值。
假设一个矩阵A=
{
1
−
0.3
−
0.7
0.6
}
\left\{1−0.3−0.70.6
对角化:什么是对角化呢?同样以该矩阵A为例来解释。对于一个标准向量空间,通过矩阵A的作用后,变成了另外一个向量空间,这一向量空间,相对于标准向量空间是倾斜的,。但是,如果我们尝试把变换之后的向量空间作为标准向量空间的话,我们便可以把矩阵A对角化。那么,在这样一个新的“标准向量空间”下,原来的标准向量空间便是倾斜的。所以,对角化的过程,就是将某一向量空间“标准化”的过程。(我觉得是可以这样理解的。)
三、 秩与可逆性:
秩,就是像的维度。其实,秩这个概念也可以结合着特征向量的线性相关性,线性无关性来理解。而线性相关性和线性无关性又和向量空间的维度是有关系的。这里暂时先不具体展开。
压缩扁平化,如果经过某一矩阵的映射之后,出现了降维的情况,也就是像的维数比原来降低,那么这时候的矩阵被称为奇异矩阵。也就是说,我们不能再通过某种变换,将该被压缩的向量空间复原。相反的,如果没有发生扁平化,那么我们便可以将该向量空间再次通过某种映射恢复回来,则称该矩阵为非奇异矩阵(可逆矩阵)。