代数与线性代数总览
线性代数补充讲义:代数与线性代数总览
Last updated on
线性代数可以把它理解成一门研究 “线性关系、空间结构和线性变换” 的数学。
如果微积分主要回答的是:
“一个量连续变化时,会发生什么?”
那么线性代数主要回答的是:
“很多个量同时存在时,它们之间怎样组合、怎样变换、怎样用坐标描述?”
矩阵、向量、行列式、线性方程组、特征值、特征向量、二次型……其实都围绕着这个核心展开。
一、先说“代数”到底是什么
很多人一看到“代数”,想到的就是:
然后解出:
但这只是代数最初级的一部分。
1. 算术和代数有什么区别?
小学数学主要研究具体的数:
这是算术。
代数则开始用符号代表未知数或一般的数:
或者:
所以代数真正重要的思想是:
用符号表达一般规律,然后按照规则对这些符号进行运算。
例如:
这不是在研究某一个具体数字,而是在研究一种普遍成立的结构。
二、“代数”为什么叫代数?
“Algebra”这个英文词来自阿拉伯语 al-jabr。
大约公元 9 世纪,波斯数学家花拉子密 Al-Khwarizmi 写了一本关于方程求解的书,其中标题里有:
al-jabr
大致有“移项、还原”的意思。
例如:
把 移到右边:
这种今天再普通不过的操作,在当时已经属于系统化的“代数方法”。
后来 algebra 就逐渐变成了“代数”的名称。
三、那么“线性”是什么意思?
这是理解线性代数最关键的地方。
日常语言里,“线性”很容易让人误以为:
线性 = 直线。
这只对了一部分。
数学中的“线性”真正强调的是两件事:
可加性 + 齐次性。
如果一个变换 满足:
以及:
那么它就是线性的。
合起来写就是:
这就是线性最本质的定义。
四、为什么这种性质叫“线性”?
先看最简单的一元函数:
它的图像是一条经过原点的直线。
如果:
那么:
如果输入扩大 3 倍:
输出也扩大 3 倍:
即:
同时:
所以它具有非常规则的“比例关系”。
这就是“线性”的来源。
不过要注意一个考研里非常容易混淆的问题。
函数:
高中里经常叫“一次函数”,图像也是直线。
但严格的线性代数语言里,它不是线性映射,因为:
真正的线性函数必须满足:
因此:
是线性的,而:
严格来说叫仿射变换。
五、“线性”最深层的含义:叠加原理
线性真正强大的地方,不是“画出来是直线”,而是:
一个复杂问题可以拆成几个简单问题分别解决,最后再叠加起来。
例如:
意味着:
如果一个系统同时受到两个输入:
那么总响应可以通过:
得到。
这叫叠加原理。
物理、电路、信号处理、控制系统、量子力学中线性系统之所以特别重要,本质就在这里。
六、什么叫线性代数?
现在把两个词合起来。
“线性”研究:
这种线性组合。
“代数”研究:
用符号、运算和结构描述数学关系。
所以:
线性代数,就是研究线性关系以及这些关系背后空间结构的一门代数学。
它主要研究几个核心对象:
而行列式、秩、特征值、特征向量、二次型等,都是从这个体系中自然出现的。
七、线性代数其实是从“解方程组”开始的
例如有一个方程组:
中学里我们用消元法。
第二式:
第一式:
把它们组合起来,就可以解:
如果变成 100 个未知数:
再逐个写就太麻烦了。
于是人们把它写成:
这就是矩阵语言。
其中:
而:
于是一个庞大的线性方程组,被压缩成了:
这就是线性代数最早最直接的来源之一。
八、但现代线性代数远远不只是“解方程”
这是一个非常重要的认知升级。
初学线性代数时,你会觉得矩阵就是一张数字表:
实际上更深刻的理解是:
矩阵本质上是在某组坐标基下,线性变换的数字表示。
比如平面上的一个向量:
乘一个矩阵:
得到:
它意味着:
- 水平方向放大 2 倍;
- 竖直方向放大 3 倍。
所以矩阵不是死的数字表。
它描述的是:
比如旋转、拉伸、压缩、剪切、投影、反射都能由矩阵描述。
九、线性代数和几何是什么关系?
其实现代线性代数可以看成:
例如二维向量:
代数上,它是一组数字。
几何上,它可以表示平面中的一个箭头或一个点。
比如:
表示从原点指向:
的向量。
因此:
向量就是把几何对象数字化。
而矩阵:
就是把几何变换数字化。
这件事情极其重要。
十、为什么“几何”和“代数”最早是两门不同的数学?
人类数学最早大致沿着两条路线发展。
一条研究:
数、计算、方程。
逐渐形成代数。
另一条研究:
形状、长度、面积、空间。
逐渐形成几何。
古代人可能会问:
这是代数问题。
也会问:
一个圆的面积是多少?
这是几何问题。
很长一段历史里,这两套语言是分开的。
十一、几何的发展历史
1. 古埃及和古巴比伦
最早的几何并不是为了考试,而是非常现实的需求。
例如古埃及尼罗河每年泛滥以后,田地边界会被冲掉,需要重新丈量土地。
于是产生了:
- 长度测量;
- 面积计算;
- 三角形;
- 矩形;
- 圆;
- 土地划分。
“Geometry”这个词本身来源于希腊语:
大致就是:
土地 + 测量。
十二、欧几里得把几何变成了一套逻辑体系
大约公元前 300 年,欧几里得写出了《几何原本》。
这是数学史上影响最大的著作之一。
它的革命性不只是总结几何公式,而是建立了:
这种体系。
比如从少数公理出发,推导:
三角形内角和为 。
从这里开始,数学开始非常强调:
为什么成立?
而不是只问:
怎么算?
十三、古代几何有一个问题:太依赖图形
例如研究一个圆:
今天我们看到这个方程,马上知道它是一个圆。
但古希腊数学没有我们现在这种成熟的坐标和代数语言。
他们往往依赖:
- 尺规作图;
- 图形关系;
- 几何证明。
这种方法非常优美,但对复杂问题就会变得困难。
十四、笛卡尔做了一件革命性的事情
17 世纪,法国数学家笛卡尔提出解析几何。
核心思想非常简单,却改变了整个数学:
给几何空间建立坐标系。
例如一个点:
不再只是图上的一个点,而可以写成:
一条直线可以写成:
圆可以写成:
抛物线可以写成:
于是:
这是数学史上极其重要的一次统一。
十五、为什么解析几何对线性代数这么重要?
因为有了坐标以后,几何对象可以用一串数字表示。
二维空间:
三维空间:
然后自然就会想到:
四维:
甚至:
注意,这里发生了一个巨大变化:
我们不再需要真的“看见”这个空间。
数学上可以定义:
这就是 维向量空间。
线性代数由此突破了现实三维空间的限制。
十六、代数自身又是怎样发展起来的?
可以粗略理解为几个阶段:
| 时期 | 核心发展 |
|---|---|
| 古巴比伦 | 已经会解一些一次、二次方程 |
| 古希腊 | 用几何方法处理很多代数问题 |
| 9 世纪 | 花拉子密系统研究方程 |
| 16 世纪 | 三次、四次方程得到系统解法 |
| 17 世纪 | 笛卡尔用坐标连接代数和几何 |
| 18—19 世纪 | 行列式、线性方程组理论发展 |
| 19 世纪 | 向量、矩阵、线性变换逐渐形成 |
| 20 世纪 | 抽象向量空间成为现代线性代数核心 |
十七、线性代数不是某个人突然发明的
它实际上是很多数学问题逐渐汇合形成的。
主要有三条发展路线。
第一条是:
人们长期都在研究怎么解:
第二条是:
研究空间中的:
- 方向;
- 坐标;
- 旋转;
- 投影;
- 距离。
第三条是:
研究空间本身如何变化。
最后这些东西发现其实是同一套数学结构。
于是现代线性代数逐渐形成。
十八、高斯消元法为什么叫“高斯”?
你以后会学:
通过初等行变换:
把它变简单。
这就是所谓的高斯消元思想。
但实际上类似消元方法在中国古代《九章算术》中已经出现得非常早。
例如中国古代“方程术”已经使用类似今天矩阵排列系数、逐步消元的方法。
后来欧洲数学家高斯在天文学、最小二乘法等问题中系统使用并推广了这种方法,于是现代通常叫 Gaussian elimination。
所以线性代数的发展实际上融合了中国、印度、阿拉伯、欧洲等不同数学传统。
十九、行列式是怎么出现的?
当人们研究线性方程组时,会遇到问题:
什么时候有唯一解?
会出现:
这个量。
如果:
通常有唯一解。
于是定义:
这就是行列式最初的重要来源。
后来发现它还有非常深刻的几何意义。
如果矩阵 对二维平面做线性变换,那么:
表示面积缩放倍数。
三维空间里:
表示体积缩放倍数。
于是又一次出现了:
二十、矩阵最初也不是为了“排数字”
矩阵真正成为独立研究对象,是 19 世纪的事情。
Cayley 等数学家逐渐意识到:
矩阵可以进行:
这些运算。
而且:
其实对应两个线性变换的复合。
如果:
以及:
那么先做 ,再做 :
所以:
这也是为什么矩阵乘法看起来有些“奇怪”。
它不是随便规定的。
它是为了忠实表达变换复合。
二十一、向量又是怎么来的?
你可以把向量最初理解为:
有大小、有方向的量。
例如速度:
力:
位移:
二维:
三维:
但现代数学后来发现:
“向量”其实不一定非得是一根箭头。
例如多项式:
也可以看成向量:
函数也可以组成向量空间。
矩阵本身也可以组成向量空间。
于是“向量”变成了一个非常抽象的概念:
只要对象可以进行向量加法和数乘,并满足一定规则,就可以组成向量空间。
二十二、这就是现代线性代数最大的思想飞跃
最初人们研究的是:
即二维和三维空间。
后来发现许多完全不同的对象其实具有一样的结构。
例如:
和:
看起来完全不同。
但它们都可以由 3 个数决定。
于是:
可以用基:
表示:
这和:
结构完全一样。
因此:
都可以统一成“向量”。
这就是抽象线性代数真正厉害的地方。
二十三、什么叫“线性组合”?
这是整门线性代数中最核心的概念之一。
给两个向量:
做:
就叫它们的线性组合。
例如:
那么任意:
都可以写成:
即:
所以整个二维平面,都被两个向量“生成”出来了。
这就是:
的概念。
二十四、什么叫线性相关?
假设:
以及:
明显:
因此第二个向量并没有提供新的方向。
于是它们线性相关。
数学定义是:
如果存在不全为零的系数:
使:
那么这些向量线性相关。
直观上就是:
有些向量是多余的,可以由其他向量拼出来。
这也是线性代数一直在研究的一个主题:
二十五、什么叫“基”?
假设二维平面用:
描述。
任何向量:
都可以唯一表示为:
那么:
就是一组基。
基可以理解成:
描述整个空间所需要的最少的、彼此独立的方向。
因此二维空间需要两个方向。
三维空间需要三个方向。
这就是“维数”的来源。
二十六、什么是维数?
二维空间:
需要两个独立方向。
因此:
三维:
更一般地:
意思是:
描述这个空间最少需要 个独立基向量。
所以维数并不是“视觉上有几个方向”这么简单。
本质是:
这也是物理、统计、机器学习中“维度”的数学来源。
二十七、线性代数真正研究的核心问题
如果把整门课压缩成几个问题,其实就是:
一个空间里有多少个真正独立的方向?
一个向量能不能由其他向量组合出来?
一个线性方程组有没有解?
一个空间经过变换之后发生了什么?
有没有一些特殊方向,在变换之后方向不改变?
能不能换一套更好的坐标,把复杂变换变简单?
这几乎就是你考研线性代数的主线。
二十八、特征值为什么这么重要?
假设:
表示一个线性变换。
通常一个向量经过变换后:
方向会发生改变。
但是有些特殊向量满足:
它们经过变换之后,方向没有改变,只是长度缩放了。
这种:
叫特征向量。
而:
叫特征值。
也就是说:
特征向量找到了这个线性变换最“自然”的方向。
这是非常深刻的概念。
如果找到足够多特征向量,就可以把复杂矩阵:
变成:
其中:
是对角矩阵。
于是原本复杂的变换就变成:
也就是:
在这些特殊方向上分别缩放而已。
所以“对角化”的本质是:
二十九、为什么人类这么喜欢研究“线性”问题?
因为线性问题有一个巨大优势:
例如:
意味着复杂输入可以拆开处理。
而非线性系统,比如:
就没有:
因为事实上:
多出了交叉项。
所以非线性问题通常复杂得多。
三十、现实世界明明很多都是非线性的,为什么还学线性代数?
这是数学中非常重要的思想:
虽然世界通常不是线性的,但在足够小的局部范围内,很多东西都可以近似成线性的。
你学微积分以后会看到。
函数:
在某一点附近可以近似为:
右边就是一个线性近似。
多元函数:
在一点附近:
其中 是 Jacobian 矩阵。
所以多元微积分的核心局部工具,其实就是:
这意味着:
三十一、这也是为什么“微积分 + 线性代数”如此重要
一元函数:
它的导数:
只是一个数。
但多元函数:
其导数本质上变成一个线性映射。
用矩阵表示就是:
因此高等数学越往后学,越会发现:
三十二、线性代数在物理学中有什么用?
物理中到处都是向量。
位移:
速度:
加速度:
力:
电场:
磁场:
这些都需要向量和矩阵。
例如三维物体旋转可以写成:
其中:
就是旋转矩阵。
三十三、量子力学几乎直接建立在线性代数上
这是线性代数最惊人的应用之一。
量子状态可以抽象成向量:
物理量由线性算符表示。
例如:
测量问题与特征值方程:
高度相关。
你会发现这跟线性代数中的:
完全是同一个数学结构。
所以特征值、特征向量不仅是考试题。
它们是现代物理的基础语言之一。
三十四、计算机图形学本质上也大量使用线性代数
游戏里一个人物模型由很多三维坐标组成:
旋转:
缩放:
投影:
3D 游戏中的:
- 相机;
- 模型旋转;
- 骨骼动画;
- 光照;
- 透视投影;
背后都有大量矩阵运算。
你玩一个 3D 游戏时,GPU 每秒可能进行数十亿甚至更多次向量、矩阵相关运算。
三十五、机器学习为什么离不开线性代数?
假设有 1000 个样本,每个样本有 100 个特征。
可以写成矩阵:
模型参数:
最简单的线性模型:
神经网络一层通常也可以写成:
其中:
就是一个巨大矩阵。
所以现代 AI 训练背后的核心计算之一就是:
GPU、TPU 之所以重要,很大程度就是因为它们极其擅长这类运算。
三十六、ChatGPT 背后也有大量线性代数
例如一个词或 token 会被表示成高维向量:
然后 Transformer 里会不断计算:
注意:
全都是矩阵。
Attention 又会计算类似:
因此从底层数学看,大模型中最重要的工作之一就是:
所以线性代数是现代人工智能最核心的数学基础之一。
三十七、数据分析为什么离不开线性代数?
假设一个班有很多学生,每个人有:
- 数学;
- 英语;
- 物理;
- 化学;
- 编程;
这些成绩。
每个人可以看成一个向量:
整个数据集就是一个矩阵。
如果有 10000 人、500 个特征:
统计和机器学习的一大问题就是:
这 500 个维度里面,真正重要的方向有多少?
于是就产生 PCA。
其核心就涉及:
PCA 本质上就是在寻找:
数据变化最主要的几个方向。
三十八、搜索引擎和推荐系统也大量使用向量
比如把电影表示成一个高维向量:
把用户兴趣表示成:
通过内积:
判断用户可能多喜欢这部电影。
现代语义搜索也类似。
一句话:
“如何学习线性代数?”
可能被转换成一个几千维甚至更高维度的向量。
另外一句:
“linear algebra study guide”
也会变成另一个向量。
然后比较它们的相似度,例如余弦相似度:
于是计算机可以判断:
这两个句子的语义其实很接近。
这就是向量数据库等技术背后的数学基础之一。
三十九、工程领域为什么大量研究线性方程组?
现实工程中经常得到:
比如有限元分析。
将桥梁、飞机、建筑划分成很多小单元以后,最后可能得到几十万甚至上亿个未知数。
于是需要求:
所以今天真正的大规模科学计算,核心问题之一依然是:
两千年前人在研究线性方程。
今天超级计算机依然在研究线性方程。
只是规模完全不同。
四十、为什么线性代数这么抽象?
因为它经历了一个发展过程:
↓
↓
↓
↓
↓
一开始我们只是想求:
后来发现真正值得研究的是:
方程背后的结构。
比如:
研究它的解空间。
这不是单纯问:
是多少?
而是问:
所有解组成了一个怎样的空间?
这就是现代数学思维。
四十一、为什么线性代数会让初学者觉得“公式特别多”?
因为很多教材是按照:
来讲。
你看到的是一堆分散的计算技巧。
但从现代视角看,真正的主线其实是:
以及:
矩阵只是表示线性变换的工具。
行列式描述变换的体积缩放以及可逆性。
秩描述一个变换真正留下多少独立方向。
特征向量描述变换天然的方向。
相似变换描述同一个变换在不同坐标系中的矩阵表示。
二次型研究:
这种二次结构,并通过换坐标把它简化。
于是整门线性代数实际上非常统一。
四十二、一个非常重要的全局图景
以后你学习考研线代时,可以一直记住下面这张逻辑图:
看起来有很多章节,其实全是在研究同一个问题:
一个线性空间中的对象如何表示、组合和变换。
四十三、几何、代数、微积分最终其实正在逐渐统一
你可以把几门数学这样理解。
几何关心:
空间长什么样?
代数关心:
这些关系怎样用符号表达和运算?
线性代数关心:
空间中的线性结构以及空间如何线性变换。
微积分关心:
变化率、累积和连续变化。
但更高级以后它们并不是孤立的。
例如一个曲面:
这是几何对象。
它用:
表示,这是代数语言。
求:
是微积分。
研究它的 Hessian:
就又进入了线性代数。
研究 Hessian 的特征值,可以判断极值性质。
于是:
其实是同一个数学世界的不同语言。
四十四、为什么大学一定要学线性代数?
因为现代科学和工程面对的几乎都不是一个变量,而是:
甚至:
当变量变多以后,普通的“一个个写公式”就不够用了。
必须把:
当成一个整体:
把关系写成:
然后研究:
的结构。
于是可以说:
人类生活在三维空间中,但现代数据、AI、统计、优化问题通常存在于几百维、几千维甚至数百万维空间中。
人脑看不见这些高维空间。
但是线性代数可以研究它们。
四十五、最后给你一个最形象的理解
可以想象你有一个空间。
里面有很多箭头:
首先你问:
哪些箭头是重复信息?
于是得到:
然后问:
最少需要几个箭头描述整个空间?
于是得到:
再问:
空间经过某种操作后会发生什么?
于是得到:
为了方便计算,把变换记录成一张数字表:
再问:
这个变换有没有把某些维度彻底压没?
得到:
问:
它能不能恢复回来?
得到:
以及:
问:
有没有一些方向特别特殊,变换后方向不变?
得到:
也就是:
问:
能不能选择这些特殊方向作为新的坐标轴?
得到:
也就是:
所以你会发现:
线性代数并不是一堆互不相关的矩阵公式。
它实际上在讲一个非常完整的故事:
如果再用一句话概括:
而它之所以重要,是因为无论是物理、计算机、AI、统计、优化、图形学、控制理论还是工程计算,大量问题最终都会转化成:
或者:
这两个看似简单的式子,几乎贯穿了整门线性代数,也贯穿了相当大一部分现代科学。