线代概念入门
Last Update:
Word Count:
Read Time:
观3b1b 线性代数的本质有感。
显然自己总结是困难的,所以这篇文章大量的借助了AI(或者说这篇文章只是记录我和AI交流后得到的最终总结而已)。
一.关于向量与空间
1.为什么会有“向量”?
核心思想:为了统一地描述自然界中“既有大小,又有方向,且遵循特定合成规则”的量。
- 现实需求:力、位移、速度这些量,不能简单地用标量加减。比如,两个力的合成,效果遵循的是平行四边形法则,而不是大小直接相加。
- 数学抽象:我们把这类量统一抽象为一个新的数学对象——向量。在几何上,它被直观地表示为一个有向线段(箭头)。
- 关键结论:向量的运算规则(平行四边形加法、缩放),其底层逻辑是自然界固有的物理法则,是被数学家“发现”并加以精确“描述”的,而不是随意“发明”的游戏。
2.“线性”与“空间”的公理
核心思想:提炼出“线性”这个核心规则,并定义出“向量”能够合法活动的舞台——“线性空间”。
1. “线性”的精确定义
这是整个学科最核心的“游戏规则”,它要求所有合法的操作必须同时满足两条铁律:
- 可加性:
- 齐次性(比例性):
2. “空间”的公理化定义
线性空间,是为向量构建的一个“封闭小区”。它不是一个随意点的集合,而是向量的集合。这个集合必须对向量的两种核心运算保持“封闭”:
- 核心元素:向量本身,就是这个代数系统里的“元素”。
- 核心运算:
- 加法(向量与向量):规则源于物理事实(如平行四边形法则)。
- 数乘(实数与向量):规则源于对“缩放”的直观。
- 公理检验:一个集合,配上这两种运算,如果能满足8条公理(保证了加法构成交换群,且数乘与加法和谐统一),它就是一个合法的线性空间。空间里的任何成员,都叫向量。
- 重要区分:点,只是我们用坐标去“可视化”向量终点时,得到的一个辅助形象。空间的本质是向量的集合,不是点的集合。
3.线代的本质
核心思想:在公理的基础上,线性代数主要研究两件事:空间自身的结构,以及空间之间的合法映射。
1. 研究空间本身的结构
- 核心问题:这个空间到底有多大?有几个“独立的方向”?
- 关键工具:基(撑起空间的最小“地基向量组”)、维数(基的向量个数)。
- 核心操作:任何一个向量,都能被“地基”(基)唯一地线性表示出来,其表示系数就是坐标。
2. 研究空间之间的“合法”映射(线性变换)
这是线性代数的真正重头戏。一个映射 T 从一个空间到另一个空间,如果它严格遵守“可加性”和“齐次性”,它就是线性映射(或线性变换)。
- 变换的代言人:矩阵。一旦选定了空间的地基(基),任何一个线性变换,都可以被唯一地编码成一个数字表格——矩阵。
- 变换的执行:矩阵乘法 。它的本质,就是按照矩阵 的指令,把向量 变换成新向量 。
- 变换的深入分析:于是,研究变换的性质,就变成了研究矩阵的性质:
- 行列式:这个变换对空间造成了多大的拉伸或压缩?(体积变化率)。它是零,意味着空间被“压扁”了。
- 特征值与特征向量:在这个变换下,哪些“天选之子”(向量)只被拉伸/缩短,而方向完全不变?它们揭示了变换的本质和内在骨架。
4.贯穿始终的哲学视角
核心思想:线性代数,本质上就是一门关于“线性空间”和“线性映射”的学科。
- 代数系统的观点:整个知识体系,可以被看作一个层层递进的代数系统。
- 底层: 是一个阿贝尔群(交换群),保证了加法的良好性质。
- 顶层:在群的基础上,再叠加“数乘”运算,并通过公理将它与加法绑定,最终构成了更丰富的线性空间结构。
- 数学的“通用语言”:向量的概念,远超几何箭头。所有满足公理的东西,比如“全体连续函数”,都是线性空间里的向量。线性代数为所有遵守“线性规则”的系统,提供了统一的描述语言和计算工具。
二.关于张成和基
1.把“张成”看作一个“生成器”
当我们说“向量组 (生成向量)的张成空间”时,我们其实是在做一件很具体的事:
- 原材料:你手里有一组向量 。
- 合法操作:你被允许无限次地使用两种操作——向量加法、向量数乘。
- 生产结果:你穷尽所有可能的操作组合,会生产出一大堆新的向量。
“张成空间”就是你最终生产出来的这“一大堆新向量”的集合。
这个过程,和我们之前定义“空间”的逻辑是完全一样的:一个集合,配上加法和数乘运算,并且对这两种运算封闭。张成空间,天然就是封闭的。因为你是用加法和数乘生产出来的所有向量,你在这个集合里再做加法和数乘,结果当然还在这个集合里。
2.基是一种特殊的生成向量
基必须是线性无关的。
如果我们允许基里有冗余向量,那坐标系就崩溃了。
线性无关,就是为了强行保证一件事:
空间里的任何一个向量,都能被基向量唯一地表示出来。
- 有冗余(线性相关):同一个点,可以对应无数种坐标表达。描述失去唯一性。
- 无冗余(线性无关):一个点,有且只有一种方式,被拆解成基向量的加法组合。这组系数,就是你唯一的坐标。
所以,基必须同时满足两个条件,缺一个都不行:
- 能盖满(张成整个空间):保证地基够大,没漏掉任何点。
- 没闲人(线性无关):保证地基最省,没任何多余向量,每个点只有一种搭法。
基,就是一组”刚好够用、一个不多”的张成集。
三.关于变换和矩阵
1. 什么是变换?
在数学里,变换这个词,其实就是函数或映射的同义词,只不过它往往特指从一个空间到它自身(或另一个空间)的映射。
它的输入是一个向量,输出是另一个向量。
你可以把它想象成一台机器:你从空间里抓一个向量 ,扔进这台机器,它“砰”地一下,给你吐出来一个新向量 。
我们把这种关系写作:
如果输入和输出在同一个空间 ,我们通常就直呼其为变换。
2. 什么是“线性”变换?
普通的变换可以很疯狂。它可以把你平整的网格线,扭成麻花,或者让原点飞到别处去。但线性变换是其中一种非常“守规矩”的变换。它必须严格遵守你早已熟知的两条铁律:
- 可加性:
- 齐次性:
这带来了一个极其深刻的几何特征,这也是你在3b1b视频里看到的:
线性变换保持“网格线平行且等距分布”,并且原点必须保持不动。
- 原点不动:因为 。
- 直线仍是直线:不会把直线变弯。
- 平行线保持平行。
旋转、拉伸、剪切、投影、镜像,这些都是线性变换。平移(除非加上升维的齐次坐标技巧)不是线性变换,因为它会移动原点。
3. 为什么偏偏用矩阵来刻画线性变换?
这是线性代数最具魔法色彩的一步。答案是:
因为一旦你选定了空间的一组“基”,任何一个线性变换,都可以被唯一地、完全地编码成一个矩阵。
我们来拆解这个魔法背后的逻辑:
第一步:一个线性变换,完全由“基向量的命运”决定
假设你有一个线性变换 ,要把二维空间映射到二维空间。现在空间里有一组基,比如我们熟悉的 。
现在,空间里的任何一个向量 ,都可以写成基的线性组合:
那么,看好了:
根据线性变换的铁律,它可以“拆”开来:
你看,我们根本不需要知道 对每个向量的效果。只要我知道 把两个基向量 变成了什么,我就知道了 对空间里所有向量的效果!
基向量的“命运”,决定了一切向量的命运。
第二步:把基向量的“命运坐标”按列排好,就是矩阵
假设在标准基下:
- 被变到了 。
- 被变到了 。
那么,刚才的公式就变成了:
而矩阵乘法,恰好就是:
所以,我们把 和 的坐标,作为列,塞进一个矩阵里:
这个矩阵 ,就是线性变换 在基 下的唯一化身。
4.为什么是矩阵左乘向量?
根源:我们选择了“向量是列向量”
在开始之前,我们有一个最底层的约定:在纸上写一个向量时,我们把它写成一个竖着的列:
这是习惯。行向量和列向量在数学上互为转置,但选定一种,后面的符号系统就必须统一。
核心:矩阵的列,就是“基向量的命运”
你还记得矩阵是怎么被造出来的吗?
我们有一组原基(比如标准基 )。一个线性变换 ,分别把 和 映射到了新向量。
我们把这两个新向量的坐标,作为列,塞进矩阵里:
如果我们约定向量是列向量,那么矩阵自然地就长成了这个样子。
推导:左乘,是“列向量的线性组合”
现在,我有一个旧向量 。
根据向量的坐标定义,它原本就是基的线性组合:
因为 是线性的,它在 上的效果,必定是:
翻译成代数语言:
- 是矩阵的第一列,记为 。
- 是矩阵的第二列,记为 。
那么:
现在,你想用一个简洁的符号来表达“矩阵 作用于向量 ”这个动作。
你观察上面这个表达式。它长什么样?它就是矩阵的列,用向量 的分量作为权重,进行线性组合。
什么样的乘法能产生这个效果?
矩阵 左乘列向量 :
这个乘法规则,恰好完美地实现了“用向量的坐标去组合矩阵的列”。这是一个天作之合。
四.关于复合线性变换和矩阵乘法
1. 变换对应矩阵
我们已经知道,在选定一组基之后:
- 每一个线性变换 ,都唯一对应一个矩阵 。
- 对向量施加变换 ,代数上就是矩阵左乘向量 。
现在,我们有两个变换:
- 变换 :对应矩阵 。
- 变换 :对应矩阵 。
2. 什么是“复合变换”?
“复合”的意思,就是把两个动作连起来做:先做一个,再做一个。
比如:
- 第一步:先对向量 施加变换 ,得到中间结果 。
- 第二步:再对中间结果 施加变换 ,得到最终结果 。
这个“两步并一步”的新变换,就叫做 和 的复合,记作 :
现在问题是:这个复合变换 ,它的矩阵是什么?
3. 复合变换的矩阵,就是
既然每一个变换都有矩阵,那复合变换也应该有一个矩阵,我们叫它 。
我们来看看 应该长什么样,才能让代数运算和几何操作完全吻合。
任意一个向量 :
- 经过 变换:
- 再经过 变换:
而 矩阵乘法是满足结合律的(这是它最重要的性质之一):
你看,这个复合变换 作用在 上的效果,恰好等于用矩阵 直接左乘 。所以,复合变换 的矩阵,就是 。
4. 为什么矩阵乘法要定义成“前行乘后列”?
你现在可以反向理解为什么矩阵乘法规则长这样了。它不是数学家心血来潮的约定,而是被“复合变换”这个几何需求逼出来的唯一结果。
我们拆解一下:
- 把基向量 变到哪里去了?
- 变到了 的第 列。
- 这个复合变换,把基向量 变到哪里去了?
- 第一步, 把它变成 的第 列(记作 )。
- 第二步, 再把这个中间向量 变一次。 的矩阵是 ,所以结果就是 。
也就是说,复合变换的矩阵的第 列,必须等于 乘以 的第 列。
而我们定义的矩阵乘法 ,正是这样工作的。
所以,“前行乘后列”规则的几何意义就是:用后面的变换()给出中间结果,再用前面的变换()对这个中间结果的每一个基向量分量施加二次变换。
5. 一个极其重要的细节:顺序
请注意,在代数表达式 中:
- 写在右边的矩阵 ,对应先做的变换 。
- 写在左边的矩阵 ,对应后做的变换 。
作用向量时,是从右向左读的(就像复合函数 是从里往外读一样):
这也完美解释了为什么矩阵乘法不满足交换律:
- 表示先做 变换,后做 变换。
- 表示先做 变换,后做 变换。
- 先旋转再剪切,和先剪切再旋转,结果当然不同。所以 才是常态。
五.关于行列式
行列式是线性代数里最容易被当成“纯计算”的东西,但如果拉回到几何视角,它其实只有一个核心画面。
行列式,就是一个线性变换把空间拉伸或压缩的比例因子。 它回答了:“经过这个变换后,原来单位大小的面积(或体积),现在变成了多少?”
1. 几何本质:面积的缩放比
你手里有一个线性变换 ,它的矩阵是 。在变换之前,先看整个平面上的那个“1×1”的标准正方形(由基向量 和 张成)。它的面积是 1。
现在, 把这个正方形,变成了一个由新基向量 和 张成的平行四边形。
行列式 ,就是这个平行四边形的(有向)面积。 更准确地说,是新面积 ÷ 旧面积,也就是缩放因子。
所以:
- :空间被拉伸到原来的 2 倍面积。
- :空间被压缩为一半。
- :空间被完全压扁,面积变成零(这就是“降维打击”,后面细说)。
扩展到三维:行列式就是单位立方体经变换后,张成的平行六面体的有向体积。
2. 符号:方向
行列式可以为负。负号不代表面积是负的,而是代表空间发生了翻转。
想象原来的平面,从 轴逆时针转到 轴是正向。变换后,如果你必须顺时针才能从新 转到新 ,那这个变换就把空间翻转了,行列式就是负的。
在三维里,负号代表左手系变右手系(或反过来),也就是镜像翻转。
3.降维打击
这是行列式最重要的一个特殊值。
当 时,意味着那个平行四边形被压扁成了一条线段,甚至一个点。换句话说,原来的二维空间,被这个变换压缩到了一个一维或零维的空间里。
这对应的就是“线性相关”。基向量变换后不再能撑起一个二维空间,它们被拍平了。所以,行列式为零 ⇔ 空间被降维 ⇔ 矩阵不可逆。因为一旦降维,你就丢失了信息,再也回不去了。
4. 乘法性质:复合变换的缩放因子
行列式最美妙的性质:。
它的几何意义非常直白:
- 复合变换的缩放因子 = 各个变换缩放因子的乘积。
先做变换 ,空间缩放比例是 ;再做变换 ,缩放比例是 。复合起来,净缩放比例自然就是 。
所以,这个乘法性质本质上就是“缩放比例的链式反应”,一点都不神秘。
六.关于线性方程组
1.为什么必须引入线性方程组?
前面几节,我们一直都在做“正向”的事:给定一个向量 ,用一个变换 把它变成新向量 :
这就是矩阵乘法的几何意义。
但真实世界里,绝大部分问题都是逆向的:
- 我知道最终要达到的状态(),也知道变换的规则(),但我不知道初始条件是什么()。
- 比如:我知道电路最终各点的电压(),知道电路元件的关系(),求初始电流分布()。
这个逆向问题写成代数表达式,就是我们再熟悉不过的线性方程组:
所以,3b1b 在这里引入线性方程组,恰恰是为了用前面建立的几何直觉,去照亮这个你高中就见过、但可能没理解透的东西。他不是在讲新东西,而是在用“变换”的语言重新翻译“解方程”这件事。
2. 逆矩阵——什么时候有唯一解?
如果变换 没有把空间“压扁”(行列式 ),那么这个变换是可逆的。几何上,它就是一个“不丢失信息”的变换,你可以把每个输出向量 ,唯一地追溯到它的输入 。
这个追溯的动作,就是逆变换 。它对应的矩阵,就是逆矩阵。
于是方程的解就是:
几何意义:把 沿着变换 的“来路”,原样倒回去。
3. 列空间——对任意 都有解吗?
当 变化时, 有没有解,取决于 是不是在变换 的“射程”内。
而我们已经知道:矩阵 把整个输入空间变换为它的列空间(由矩阵的列向量张成的空间)。所以:
- 有解 ⇔ 位于 的列空间中。
- 无解 ⇔ 不在列空间内(它被变换漏过去了,根本变不出它)。
因此,列空间就是所有可能的输出结果的集合。它回答了“对什么样的 ,这个方程有解”。
4. 零空间(核)——当解不唯一时,解长什么样?
如果变换 把空间压扁了(行列式 ,不可逆),那么有可能出现:多个不同的 ,经过 后变成同一个 。解就不唯一了。
但有一个特殊情形是研究关键:哪个 会被变成零向量?
所有满足 的向量 ,构成的集合就是零空间(也叫核)。
零空间的几何意义:完全被变换 “压缩掉”的方向。如果零空间里不只有零向量,说明变换 把某些非零向量直接“拍扁”到了原点。
那么,当你有 的一个特解 时,把它加上零空间里的任何向量,结果还是 变成 (因为加上的部分会被压为零)。所以通解 = 特解 + 零空间。
5.秩
你已经知道:
- 列空间:是矩阵所有列向量张成的空间,也就是变换后你还能“够到”的区域。
- 维数:是这个空间里,线性无关的基向量的个数。
那么,秩,就是列空间的维数。
你之前听到,零空间是被完全“压缩掉”的方向的集合。
一个非常优美的定理,把秩和零空间联系了起来:
输入空间的维数 = 秩 + 零空间的维数
现在,我们可以把秩和前面学的行列式完全打通:
- 满秩:对于 矩阵,如果秩 ,说明列空间就是整个 ,变换没有降维。
- 行列式 。
- 零空间只有零向量。
- 矩阵可逆。
- 降秩:如果秩 ,说明空间被压扁了。
- 行列式 。
- 零空间里有非零向量。
- 矩阵不可逆(信息丢了,回不去了)。
秩,就是用“输出还剩几维”这个更精细的标尺,取代了行列式“是零还是非零”的二元判断。 行列式只告诉你“扁没扁”,秩还告诉你“扁成了几维”。
6.行空间
似乎感觉不到行空间的几何意义??但其实是有的。
要理解行空间,我们需要先接受一个视角的转换。
到目前为止,我们一直默认:
- 向量 = 列向量(空间里的点/箭头)。
- 矩阵 = 对列向量施加的变换。
在这个设定下,矩阵的列,就是变换后的新基向量,几何意义非常直白。
但行是什么?
如果你把行向量单独拿出来看,它们就像是“横着的向量”。它们和列向量不在同一个空间里。它们活在一个叫对偶空间的地方。
不过,我们暂时不用深入“对偶空间”这个抽象概念。可以先用一个你更熟悉的视角来理解:把行向量看作“约束条件”或“线性函数”。
一个矩阵:
它的每一行,其实都可以看作一个规则。
当我们写 时:
- 第一行 在说:“喂,向量 ,你和我的点积,必须是 。”
- 第二行 在说:“你和我的点积,必须是 。”
所以,每一行,就是给向量 定下的一条规矩。
那么,行空间是什么?它就是所有这些“规矩”(行向量)本身,通过线性组合,能生成的所有新规矩的集合。
这有什么几何意义呢?当我们解方程组时,其实是在找一个点 ,它能同时满足所有这些规矩。而行空间的结构,就决定了这些规矩里有没有“废话”,以及解的形态。
回到你熟悉的零空间: 的所有解 构成的集合。
注意看: 是什么意思?
它是在说:矩阵的每一行,与向量 的点积,都是 0。
点积为零,在几何上意味着:垂直。
所以,零空间里的每一个向量 ,都与 的所有行向量垂直。
既然 垂直于每一行,那它也必然垂直于这些行的任何线性组合——也就是垂直于整个行空间。
于是我们得到了一组极其优美的关系:
行空间 与 零空间 互为“正交补”。
翻译成几何画面:
- 你的输入空间(比如 ),被劈成了两个互相垂直的子空间。
- 一个是行空间:由所有“规矩”张成的空间。
- 一个是零空间:由所有“满足所有规矩(点积为零)”的解张成的空间。
它们两个拼在一起,刚好覆盖整个输入空间。而且,行空间的维数 + 零空间的维数 = 输入空间的总维数 。
你还记得之前说的 秩 = 列空间的维数 吗?
而有一个定理说:列秩 = 行秩。所以:
代回刚才的公式:
这正是我们之前学过的那个核心公式。现在你看到了它在几何上的“另一半”解释:秩,也是行空间的维数,它代表了“有效规矩”的数量;零空间,是那些被这些规矩“判定为合格(点积为零)”的方向。
7.方阵和非方阵
一个 的矩阵,代表一个从 到 的线性变换。
我们可以把矩阵的尺寸拆成两个数字来看:
列数 :是输入空间的维数
它告诉你,这个变换要吃几个数。或者说,原始向量 里有多少个独立分量。从计算上看,矩阵乘以向量,必须要求向量的分量数等于矩阵的列数,才能做“前行乘后列”的点积。行数 :是输出空间的维数
它告诉你,这个变换会吐出一个几维的向量。也就是变换后的结果 ,它生活在几维空间里。
方阵: 矩阵
- 变换类型:
- 几何意义:输入和输出在同一个空间里。这是你之前学到的所有旋转、拉伸、剪切、降维。你可以讨论行列式、逆矩阵、特征值,因为变换前后的空间维度一致。
非方阵: 矩阵()
非方阵代表跨维度的变换。
情况一: (行多列少,矩阵是“瘦高”的)
- 变换类型:
- 例子:一个 矩阵,把二维向量映射成三维向量。
- 几何直觉:你把一张二维的纸(平面),嵌入到了一个三维的空间里。纸仍然是二维的,但它现在在三维世界里弯曲、伸展。它的列空间是三维空间里的一个二维平面。信息没有增多,只是被放进了更高维的背景里。
情况二: (行少列多,矩阵是“矮胖”的)
- 变换类型:
- 例子:一个 矩阵,把三维向量映射成二维向量。
- 几何直觉:你把一个三维的物体,压扁成了一张二维的影子。信息丢失了,零空间里一定有非零向量(那些被你压扁掉的方向)。
高维到低维的线性变换,一定会把某些非零方向压扁到零,导致信息不可恢复,从而必定不可逆。
七.点积、叉积与对偶性
感觉这是最难的一节。
1.为什么有点积?
点积的“计算形式”()确实是人定义的,但它背后所描述的“投影长度相乘”这个几何事实,是自然界固有的。
想象你是一个只学过“线性变换”的数学家。你已经会用矩阵做拉伸、旋转、剪切了,但有一个巨大的空白:你无法谈论“长度”和“角度”。
没有长度和角度,空间就只是一个可以变形、但毫无“刚性”的橡皮膜。你不知道两个向量什么时候“垂直”,不知道力的大小怎么算,不知道光线反射的规律。
于是,你决定引入一种运算,给空间赋予“度量”。
这个运算必须能定义两件事:
- 一个向量自己的长度(模)。
- 两个向量之间的夹角(或垂直)。
你开始提要求。假设我们把这个新运算记作 ,它吃掉两个向量,吐出一个数。
为了让这个数能代表“投影长度相乘”,它必须满足:
条件一:和自己运算,等于长度的平方
条件二:和另一个向量运算,等于长度乘投影
由三角学,这就是 。
条件三:必须是一个“双线性型”
为了让这个运算能和我们已建立的“线性变换”体系兼容,它必须对两个输入都满足线性(可加性、齐次性)。否则,你就没法用矩阵来操作它。
现在,我们把这个新运算放进我们最熟悉的坐标系里。
假设两个向量:
它们都可以写成基向量的组合:
因为我们必须要求这个运算是双线性的(对两个输入都可加、可数乘),我们可以把它展开:
现在,我们只需要定义基向量之间的点积。
根据我们想要的效果:
把这些代入,结果瞬间简化成:
你看, 这个公式,不是凭空拍脑袋写的。它是“双线性”这个结构要求,加上“标准基是正交单位基”这个几何事实,所共同逼出来的唯一结果。
最后,回到你最深层的困惑:为什么会有这个运算?
因为“投影”是自然界真实存在的物理量。
力做的功,就是力向量在位移向量上的投影乘以位移长度。
光照射一个面,有效光通量取决于光向量和面法向量夹角的余弦。
这些物理事实,不依赖任何数学定义。我们只是发明了一个叫“点积”的公式,去忠实地计算这个早就存在的物理量。
2.点积的几何意义
为什么点积()这种纯粹的代数计算,在几何上却恰好对应着“投影长度相乘”?
答案是:因为点积的背后,隐藏着一种你之前没意识到的“一维线性变换”,而对偶性就是连接这两个世界的桥梁。
核心任务:把“向量”本身,解释成一种“线性变换”。
这非常反直觉。因为我们之前一直在说:向量是被变换的对象,矩阵是施加变换的动作。
但这一节告诉你:一个向量,也可以被看作是一个“把高维空间压缩到一维实数轴”的线性变换。
这就是“对偶性”的含义:向量与(一类特殊的)线性变换,是一一对应、互为镜像的。
回忆一下点积的定义:
现在,我们把左边的向量 固定,把右边的 看作输入变量。
这相当于定义了一个函数:
这个函数吃掉一个向量 ,吐出一个数。
关键来了:这个函数 ,是一个线性变换。
验证那两条铁律:
所以,固定任何一个向量 ,都能定义一个从 到 (一维实数轴)的线性变换。
我们之前学的:任何线性变换,都可以用矩阵表示。
一个从 到 的线性变换,它的矩阵是什么形状?
- 输入是 维,输出是 1 维。
- 所以矩阵是 的,也就是一个行向量。
那么,变换 对应的矩阵(行向量)是什么?
我们看它对标准基的作用:
所以,这个变换的矩阵就是:
这正是原向量 转置后变成的行向量。
现在,我们把两条线汇合:
线一(几何直觉):
点积 ,几何上是“把 投影到 所在的直线上,然后乘以 的长度”。
线二(对偶性视角):
点积 ,代数上是“用 定义的那个一维线性变换,去作用在 上”。
而“把 投影到 所在的直线上,再缩放”,这本身就是一个线性变换——它把二维向量压缩到一维的实数轴上。
这个变换的矩阵,恰好就是 。
所以,整个逻辑链是:
- 任何一个向量 ,都唯一对应一个一维线性变换(把空间压缩到它所在的直线上)。
- 这个一维线性变换的矩阵,就是 的转置 。
- 这个矩阵作用在 上,就是 。
- 而这个代数结果,在几何上正是“投影到 直线上的缩放量”。
点积,就是你用“向量 所对应的那个一维线性变换”去观察另一个向量 时,得到的一维坐标值。
这一节不是让你算点积算得更快,而是让你意识到:
向量和线性变换之间,存在一种更深的对偶关系。
之前你一直觉得,矩阵是变换,向量是对象。但现在你发现,每一个向量也可以被“竖起来”,变成一个从高维到一维的线性变换。反过来,每一个从高维到一维的线性变换,也必然对应一个向量。
这种视角的统一,就是“对偶性”。它让你以后在看到点积、转置、投影这些操作时,能立刻反应过来它们背后是同一个几何画面:把一个空间,沿着某个方向,压缩成一条实数线。
3.为什么有叉积?
定义叉积,是因为我们需要一种简洁的代数工具,来同时描述“有方向的面积”和“旋转”。
自然界里有两类量:
- 标量:只有大小。比如 5 平方米的面积。
- 向量:有大小和方向。比如一个力。
但有一类东西非常尴尬:旋转,以及有方向的面积。
比如,你拧水龙头,手给它的力矩,有大小,也有旋转方向(顺时针或逆时针)。你用平行四边形法则去合成两个力矩,会发现它们遵循的是一种特殊的规则。
这东西既不是标量,也不是普通的向量。我们需要一种新的工具来描述它。
叉积,就是数学家为这类“有方向的面积/旋转”量身定做的数学对象。
第一,它是“有方向面积”的向量化身。
叉积 的长度,恰好等于 张成的平行四边形面积。它的方向,垂直于这个平面。这就把一块二维的面积,编码成了一个三维向量。
第二,它是产生“垂直向量”的标准工厂。
在三维空间里,给定两个不共线的向量,叉积是能唯一给出一个同时垂直于它们的新向量的代数操作。这在图形学、物理(求法线、求旋转轴)里,是每天都在用的核心运算。
第三,它是描述“旋转效应”的语言。
物理里,力矩、角速度、磁场对运动电荷的作用力,全都是叉积。因为这些东西的本质,都是一种“有方向的旋转趋势”。叉积是描述这种趋势的数学母语。
点积在任何维度都长一个样;而真正的叉积,只存在于三维。它是一种只为三维空间量身定做的运算。
4.叉积的几何意义
常规讲法:
给你两个向量 和 ,告诉你按公式算:
结果是一个新向量。你只要记住这个算法就行。
但为什么这个算出来的新向量,恰好垂直于 和 ?为什么它的长度恰好是平行四边形面积?这真的只是巧合吗?并非。
想象你有三个向量 。它们张成一个平行六面体(一个斜的盒子)。
定义一个函数 ,它输出这个盒子的有向体积。
这个函数有一个关键性质:它是“多重线性”的。
也就是说,如果你固定其中两个向量不动,只把第三个向量看作变量,那么体积关于这个变量是线性的。
比如,我固定 和 不动,只把第三个向量 看作输入:
这个函数,吃掉一个向量 ,吐出一个数(体积)。它是线性的吗?是的。因为当 被拉长或与另一个向量相加时,整个盒子的体积也按同样的线性规则变化。
所以:固定 后, 是一个从三维到一维的线性变换。
而任何线性变换,都对应一个向量。
这是点积那一节最重要的遗产:任何一个从多维到一维的线性变换,都唯一对应一个向量,使得这个线性变换的作用效果,就等于和这个向量做点积。
既然 是一个线性变换,那么必然存在一个唯一的向量 ,使得对于任何 ,都有:
这个向量 是谁?
根据体积的几何意义:
- 如果 正好垂直于 和 ,那么体积 = 底面平行四边形面积 × 在垂直方向上的投影长度。
- 根据点积的几何意义, 就是 在 方向上的投影长度乘以 的长度。
这两个要相等,对于任何 都成立。唯一可能的是:
- 的方向:必须垂直于 和 张成的平面。
- 的长度:必须等于 和 张成的平行四边形面积。
而满足这两个条件的向量,不是别的,正是叉积 。
当我们用标准坐标去计算这个“体积函数”时,它必然长成行列式的形式。而把行列式按第一行展开(或者用那个奇怪的公式去算),本质上就是在解“哪个向量 能满足 对任意 成立”。解出来的坐标,恰好就是那个计算叉积的公式。
5.对偶性
对偶性,说白了就是一句话:
任何从高维到一维的线性变换,都等价于“和一个特定向量做点积”。
点积和叉积,都是这个原理在不同场景下的应用。
在点积那一节,我们干了这么一件事:
- 固定一个向量 。
- 定义一个新的操作:把任何向量 ,投影到 的直线上,再乘以 的长度。
- 发现这个操作是一个线性变换,而且是从二维到一维的。
- 既然是线性变换,它就必须对应一个矩阵。
- 在标准基下,这个矩阵刚好就是 ,即 的转置。
- 所以,这个线性变换作用在 上,就是 ,也就是点积 。
这一步揭示的核心是:向量 不只是一个箭头,它同时也是“把空间投影到自己身上并缩放”这个线性变换的化身。 向量和对偶向量(那个行向量矩阵),本质上是同一个东西的两种表现形式。
而叉积则是对偶性在三维空间的特殊应用。
叉积想找这样一个向量 ,它满足:
- 方向垂直于 张成的平面。
- 长度等于 张成的平行四边形面积。
为什么会凭空冒出这样一个向量?其实不是凭空,而是被对偶性逼出来的。
逻辑是这样:
- 先不管叉积,定义三元函数: = 三个向量张成的平行六面体的有向体积。
- 固定 ,让 自由变化。那么这个函数就变成了只关于 的线性函数:。
- 这个函数是从三维到一维的线性变换。根据对偶性,一定存在唯一的向量 ,使得对任意 ,都有 。
- 现在,我们从几何意义反推 必须长什么样:
- 点积 = 的长度 × 在 方向上的投影。
- 体积 = 底面积( 张成平行四边形的面积) × 在垂直于底面的方向上的投影(高)。
- 要使得两者恒等, 的方向必须是底面的法线方向, 的长度必须等于底面积。
- 这个 ,不是别的,正是叉积 。
你看,这里对偶性扮演了什么角色?它充当了一座桥梁,把“体积函数”这种几何上的东西,转化成了“找一个对偶向量”的代数操作。而叉积的公式,就是在具体坐标系下,解出这个对偶向量的结果。
综合点积和叉积,对偶性可以这样理解:
任何一个线性函数(从多维空间到一维实数),都对应空间中的一个向量。这个函数的作用,就等于和那个向量做点积。
在叉积中,那个线性函数是“体积”,而对应的对偶向量,就是叉积。
“对偶”是指,这两个东西——“向量”和“从多维到一维的线性函数”——是成对出现、互为镜象的。
- 任何一个向量 ,都可以定义一个线性函数 。
- 反过来,任何一个从多维到一维的线性函数 ,也必然存在唯一的向量 ,使得 。
这种一一对应,就叫对偶。向量生活在“原空间”里,而线性函数生活在“对偶空间”里,但它们之间可以自由转换。点积和叉积,都是这种转换的具体案例。
八.基变换
最轻松的一节。
基变换,就是把一种语言的坐标,翻译成另一种语言的坐标。
之前学的所有线性变换(旋转、拉伸、剪切),都是在一个固定坐标系(标准基)下,用矩阵乘以坐标向量的。
但现在,问题来了:如果我们换一组基,同一个线性变换,它的矩阵长什么样?
想象你是一个美国人,用英语写了一份旋转操作说明(矩阵 )。现在你要把它交给一个中文团队执行。你需要做什么?
你不能直接让他们看英语。你需要:
- 先把中文团队的坐标系翻译成英语坐标系(基变换矩阵 )。
- 在英语坐标系下执行旋转(矩阵 )。
- 再把结果翻译回中文坐标系(逆矩阵 )。
整个过程就是:。
这个 ,就是旋转这个操作,在中文坐标系下的矩阵表示。它和 长得不一样,但描述的是同一个旋转动作。
在数学上,如果有两个矩阵 和 ,满足 ,我们就说它们“相似”。 相似,就是“它们是同一个线性变换在不同基下的表达”。
为什么要纠结这个?
因为一个线性变换的本质,和它具体在某个坐标系下的样子,是两码事。
比如,旋转矩阵是 。这是一个在标准基下的矩阵。在别的基下,同一个旋转变换的矩阵可以长得完全不像旋转矩阵,它可能看起来像一堆杂乱的数字。但它的“旋转本质”,是由特征值这些不随基变化的东西决定的。
相似变换,就是帮你把不同语言描述下的“杂乱矩阵”,还原成其本质操作的工具。
用刚学的点积和叉积来举例,点积公式 只有在标准正交基下才长这样。如果你换一组斜的、长短不一的基,点积的公式会变得巨复杂。
基变换这一节就是在告诉你:如果你不小心换了一组基,怎么找到新的点积公式,或者怎么回到标准基的世界里,用那个简单的公式。
在线性代数入门阶段,几乎所有讨论都是基于标准基进行的。标准基就是:
它恰好是单位正交基:长度为 1,互相垂直。
为什么默认用它?两个原因:
- 它让我们能直接用坐标计算一切。 在标准基下,任何一个向量的坐标,就是它自己。点积就是简单相乘相加,矩阵乘以向量就是前行乘后列。
- 它符合我们的几何直觉。 我们用方格纸、直角坐标系思考,默认就觉得坐标轴应该互相垂直、刻度均匀。
当你换基后:
- 同一个向量,它的坐标表示会变(基变换)。
- 同一个线性变换,它的矩阵表示也会变(相似变换)。
但好消息是,标准正交基确实是一个完美的“计算锚点”。在实际应用中,我们通常策略是:
- 需要计算时,通过基变换矩阵,把问题拉到标准基里算(因为那里点积、矩阵乘法都最简单)。
- 算完之后,再把结果变回去。
这就是基变换和相似变换在实战中的核心价值:有了它们,你可以自由选择坐标系,用最方便的那个来算。
九.特征向量、特征值和特征基
1. 特征向量与特征值
假设你手里有一个线性变换,比如一个 矩阵 。它把整个二维平面拉伸、旋转、剪切。
现在问一个问题:在这个变换下,有没有哪个向量,只是被拉长或缩短,而方向完全不变?
这种“天选之子”就是特征向量。
而特征值,就是这个天选之子被拉长或缩短的倍数。
用公式写出来就是:
- 是特征向量。
- 是特征值。
比如,特征值 ,意味着沿着 方向的所有向量,变换后长度翻倍。
特征值 ,意味着沿着 方向的所有向量,变换后长度不变,但方向反转。
特征值 ,意味着沿着 方向的所有向量,变换后被拍扁到原点。这对应的就是零空间。
所以,特征值几何上就是:在特征向量这个特定方向上,空间被拉伸的缩放因子。
2. 为什么要找特征向量?
一个线性变换,在标准基下看,它的矩阵 可能很复杂,有旋转有剪切,数字乱七八糟。
但我们可以这样想:这个变换本身一定有它最“自然”的方向。
就像你在拧一个螺丝,这个旋转动作,本质上绕着一个固定的轴在转。那个轴,就是它的特征向量(对应特征值 ,因为轴上的点不动)。
我们找特征向量,本质上就是在问:有没有一组基底,在这个基底看来,这个变换变得极其简单?
答案是:如果矩阵有 个线性无关的特征向量,那么以它们为基底,这个变换的矩阵就会变成一个对角矩阵,对角线上就是特征值。
这意味着,在那个“特征基”下,整个变换没有任何剪切和旋转,它只是在每个特征方向上,各自独立地拉伸或压缩。
3. 与基变换的关系
假设标准基下有一个复杂的变换 。我们要计算 (把变换重复做100次)。
直接算?矩阵乘法做100次,疯掉。
但我们可以这样玩:
- 找到 的特征向量,把它们作为新基。
- 基变换:把标准基下的向量,变换到“特征基”下。这个变换矩阵 ,它的列就是特征向量。
- 在“特征基”下, 变成了对角矩阵 (对角线上是特征值)。
- 在这个新基下做100次变换,就是 。而对角矩阵的100次幂,就是对角线上每个特征值各自做100次幂。极其简单。
- 逆基变换:把结果再变回标准基。
整个过程就是:
这样就极大地简化了运算。
4. 如何求特征值和特征向量
从定义出发:
第一步,把右边移到左边:
第二步,把 提出来。注意,中间要加一个单位矩阵 ,因为 是矩阵, 是数,不能直接相减:
现在,这是一个齐次线性方程组。
我们想要的是非零的 (零向量永远是解,但没意义)。
什么时候 会有非零解?
当且仅当矩阵 把空间压扁了,也就是说,它的行列式为零:
这个方程,就是特征值的来源。
它叫特征方程。
解这个方程,得到的 ,就是特征值。
一旦有了 ,代回 ,解出来的非零 ,就是对应的特征向量。
- 如果 ,这个方向上的向量直接被拍扁到原点。
- 如果 ,这个方向会越变越长。
- 如果 ,这个方向会越变越短。
找到了特征值之后,找特征向量就是顺藤摸瓜。
你已经知道,特征值和特征向量满足:
我们之前把这个式子等价地改写成了:
现在, 已经求出来了(比如 ),只需要把每一个 代回去,解这个齐次线性方程组,求出来的非零 ,就是对应的特征向量。
5.重根
如果某个特征值出现两次(或更多),就叫重根。
比如,解出 。代数上,这只是在告诉你:“矩阵 在某个方向上拉伸了 3 倍”,而这个“3”恰好被计算了两次。
但真正的复杂性在于:对应于这个“3”的独立特征向量,可能有一个,也可能有两个。
这就引出了重根最重要的分类,也是它几何意义的核心。
情况一:有多个独立的特征向量(代数重数 = 几何重数)
这是最和谐的情况。虽然特征值相同,但你能找到多个方向不同、彼此线性无关的特征向量,它们都对应同一个特征值。
- 几何直觉:变换把这两个特征向量所在方向全都拉伸了 3 倍。而这两个向量张成的整个平面里的任何向量,也都被整体拉伸了 3 倍。
- 典型例子:缩放矩阵 。它的特征值是 3(二重根),但特征向量可以是任何非零向量。因为整个平面都被均匀拉伸了 3 倍。
- 结论:这种情况,矩阵仍然可以对角化。它本质上就是对一个平面(或子空间)做了一次整体均匀拉伸。
情况二:只有一个独立的特征向量(代数重数 > 几何重数)
这是重根真正麻烦的地方。特征方程告诉你拉伸倍数是 3,但找遍全空间,只找到一个方向上的向量满足 。
- 几何直觉:光用拉伸倍数已经不足以描述这个变换了。它除了拉伸,还夹杂了剪切。
- 典型例子:剪切矩阵 。特征值是 (二重根)。但满足 的向量,只有水平方向上的那些(x 轴上的点)。而竖直方向上的向量,被向右“推”了一下。
- 结论:这种情况,找不到足够多的特征向量组成空间的基,矩阵不能对角化。它只能化成“若尔当标准型”,这标志着变换内部带有剪切成分。
所以,重根的意义,不能只看它自身,而要看它背后线性无关的特征向量的个数。
- 完美重根:能找齐独立特征向量。这意味着变换在这个子空间里就是干净的均匀拉伸,没有其它动作。
- 缺陷重根:找不齐独立特征向量。这意味着变换在这个子空间里,不单是拉伸,还藏着剪切。它无法被简化成纯粹的对角矩阵,空间的结构被“扭曲”了。
这也是为什么在线性代数里,我们如此在意几何重数(独立特征向量的个数)和代数重数(重根的次数)。当几何重数小于代数重数时,这个变换就不再是一个“好脾气”的均匀拉伸了。
十.抽象向量空间
和线代具体内容以及没有关系了。
1. 和群论的关系
你已经学过群论,这太好了,我们可以直接用群的语言来对照。
群,是一个集合,配上一种运算(比如加法),满足封闭、结合、单位元、逆元四条公理。
线性空间,则是在这个基础上,做了两件事:
- 保留群的骨架:线性空间里的向量,配上加法,首先必须是一个阿贝尔群(交换群)。你之前问的“向量为什么要那样定义加法”,就是为了让它满足群公理。
- 穿上数乘的外衣:在群的骨架上,再引入数乘运算(实数或复数乘以向量),并用4条分配律和结合律,把加法和数乘优雅地绑在一起。
所以,线性空间 = 一个阿贝尔群(向量加法) + 一个数域(实数/复数)+ 数乘运算。
这一节叫“抽象向量空间”,它做的事情,就是告诉你:别老想着箭头了。只要一个集合,配上你定义的“加法”和“数乘”,能乖乖满足那8条公理,它就是线性空间,里面的元素就是向量。 这和群论里“只要满足群公理,管你是数字、置换还是对称操作,统统是群”的思维方式,如出一辙。
2. 和泛函的关系
泛函分析,可以毫不夸张地说,就是把线性代数推广到无穷维空间。
我们之前学的线性代数,空间维数都是有限的(二维、三维、n维)。向量就是有n个分量的坐标。
但很多问题,它天然活在无穷维空间里。比如:
- 一段连续函数,它需要无穷多个独立的值才能完整描述(每一点上的取值都是一个“坐标”)。
- 这和我们在二维平面里,用 x 坐标和 y 坐标描述一个点,道理完全一样。
在泛函分析里:
- 函数,就是向量。
- 函数的集合(比如所有连续函数),就是一个线性空间。
- 求导、积分,就是作用在这个空间上的线性变换(算子)。
- 点积推广为内积,长度推广为范数。
这一节里,你会看到“多项式空间”、“函数空间”这些例子。它们就是在为你将来学泛函分析埋下种子。当你看这些例子时,只要不断心里默念“多项式就是向量,基底可以是 1, x, x^2…;函数就是向量,它的坐标就是它在各点的取值”,你就会发现,泛函分析不过是把线性代数这台机器,开到了无穷维的高速公路上。
3. 总结
- 群论:提供了最基础的“代数系统”的思维模板(集合 + 运算 + 公理)。
- 线性代数:在这个模板上,建造了“向量空间”和“线性变换”的宏伟大厦。
- 抽象向量空间:是线性代数的公理化完成体。它告诉你,别再依赖几何直觉了,一切只看公理。
- 泛函分析:是这座大厦的无穷维扩展。它把线性代数的方法,应用到了函数、微分方程、量子力学等更广阔的天地。
你现在的感觉——“它和群论、泛函有很大关系”,正是一个数学专业的学生学完线性代数后,回头看时最标准的感受。线性代数是桥梁,一头连着离散的代数结构(群、环、域),一头连着连续的分析世界(微积分、泛函)。