文章目录
前言
笔记希望以3Blue1Brown的线性代数系列视频为出发点,以正确的线性代数直觉为基础,搭建从科普到学生正式学习线性代数课程之间的桥梁。
接下来将介绍矩阵,对刚学习矩阵的大一学生而言,笔记认为可以从三个角度认识矩阵。分别是
1.矩阵与线性映射(线性变换)一一对应
2.矩阵和线性方程组
3.矩阵语言对庞杂数据的简化
本篇为矩阵(一)从矩阵与线性映射的角度介绍矩阵。在已经有了矩阵对应一个线性变换的视觉直觉之后,我们来介绍为什么一个矩阵对应一个线性变换,用数学语言究竟如何刻画这个一一对应。建议在看过上述视频后再阅读。首先将提示需要的预备知识,然后从具体例子出发,努力补齐正确的数学直觉和严谨的数学课程之间不算太宽的代沟。
一、预备知识
(〇)对向量的理解
希望大家首先对向量建立两种直观理解
1.向量是从原点出发的箭头
在向量由基线性组合表出的时候,这个理解更能反映“从原点如何走到终点”
以及,由于都是从原点出发,很多时候只看终点会有更好的直觉
2.向量是空间中一个点
事实上,在几何空间上,有多个向量的时候,或者一个向量变换成另一个向量的时候,这样理解,会更为直观。比如可以从这个角度去理解中学学过的,内积下的三角不等式。
(一)基、线性组合和张成的空间
一个能线性表出空间所有向量的向量组叫做一个基,少了其中任何一个都不叫基。当要表述其中一个向量的时候,我们会说属于这个基的一个向量。
坐标永远不能脱离基存在。
例如:
α = [ 1 1 ] \pmb\alpha=\left[\begin{matrix}1\\1\end{matrix}\right] α=[11],这是不完整的记法,只是因为在我们最熟悉的坐标系下省略了基,完整这样记:
α = 1 i ^ + 1 j ^ = [ i ^ j ^ ] [ 1 1 ] 即: \pmb\alpha=1\hat{i}+1\hat{j}=\left[\begin{matrix}\hat{i}&\hat{j}\end{matrix}\right]\left[\begin{matrix}1\\1\end{matrix}\right]\quad 即: α=1i^+1j^=[i^j^][11]即:
α = 1 [ 1 0 ] + 1 [ 0 1 ] = [ 1 0 0 1 ] [ 1 1 ] \\\pmb\alpha=1\left[\begin{matrix}1\\0\end{matrix}\right]+1\left[\begin{matrix}0\\1\end{matrix}\right]=\left[\begin{matrix}1&0\\0&1\end{matrix}\right]\left[\begin{matrix}1\\1\end{matrix}\right] α=1[10]+1[01]=[1001][11]
上面也提示我们,我们在计算坐标的时候,因为往往都是在我们熟悉 i ^ \hat{i} i^、 j ^ \hat{j} j^、 k ^ \hat{k} k^基下去用所谓坐标去描述别的基向量,所以最后算出的坐标往往是省略基的写法,实际省略的一定是 i ^ \hat{i} i^、 j ^ \hat{j} j^、 k ^ \hat{k} k^基。
以上一定要特别注意,因为接下来会存在基向量的改变。
基的线性组合表出一切向量
一切向量都可以表示为基的线性组合,即沿着各个基分别走一定的距离(坐标起到放缩基的作用),就能到达空间中任何一个点向量(点)。
基张成整个空间
因为基可以线性表出任何一个点,所以也就可以表示整个空间。
二、矩阵与线性映射(线性变换)
线性变换是线性映射的特殊情况,因为它更为直观,我们先来看线性变换。
(一)什么是线性变换
我们对线性变换已经有了模糊的视觉直觉——要求满足:
1.直线依旧是直线。
2.原点保持固定。
即使是用更数学的语言,这也是很好理解的:
线性变换是这样一种变换:一个变换(可以先理解为某个点(向量的一种理解)从一处移动到另一处),如果它能保持加法和数乘那么它就是一个线性变换。
这里说的 保持加法和数量乘法 其实就是所谓的线性
更严谨的刻画我们将在篇尾给出。
在视频中提到的“旋转整个空间”就是一个线性变换的例子,我们把它记作:
旋转 π / 4 :空间 V ⇒ 空间 V ′ 旋转\pi/4:空间V \Rightarrow 空间V' 旋转π/4:空间V⇒空间V′
显然,这个语句是不足以告诉一个模拟动画的计算机该如何做的,那随之而来的问题是,如何描述线性变换?
(二)如何描述线性变换
1.如何描述变换前后的一个向量——基的线性组合
由于变换是线性的,所以基和空间中任何一个向量的线性组合关系都没有被破坏,也就是说有这样一个重要推论:
向量线性变换前后可以由 经过同样变换前后的基以相同的坐标表出
特别注意,这里所谓的坐标数值虽然相同,但基经历了线性变换。
以刚刚的 旋转 π / 4 \pi/4 π/4 为例,我们来看一个具体的向量:
α = 1 i ^ + 1 j ^ = [ i ^ j ^ ] [ 1 1 ] \pmb\alpha=1\hat{i}+1\hat{j}=\left[\begin{matrix}\hat{i}&\hat{j}\end{matrix}\right]\left[\begin{matrix}1\\1\end{matrix}\right]\quad α=1i^+1j^=[i^j^][11]
它经过旋转应该变成:
α ′ = 1 i ^ ′ + 1 j ^ ′ = [ i ^ ′ j ^ ′ ] [ 1 1 ] \pmb\alpha'=1\hat{i}'+1\hat{j}'=\left[\begin{matrix}\hat{i}'&\hat{j}'\end{matrix}\right]\left[\begin{matrix}1\\1\end{matrix}\right]\quad α′=1i^′+1j^′=[i^′j^′][11]
在新的基 i ^ ′ \hat{i}' i^′、 j ^ ′ \hat{j}' j^′下的坐标不会改变,所以只要知道 原来的基 i ^ \hat{i} i^、 j ^ \hat{j} j^经过 旋转 π / 4 \pi/4 π/4得到的 新的基 i ^ ′ \hat{i}' i^′、 j ^ ′ \hat{j}' j^′ 是多少就可以求出变换后的 α \alpha α。所谓“是多少”代表我们要具体量化这个新的基,所以没办法,我们必须要用坐标去描述它,而这个坐标对应的基应该是什么呢“当然是最先考虑用我们熟悉那个横平竖直的坐标系的基,也就是 i ^ \hat{i} i^、 j ^ \hat{j} j^。所以问题应该表述为:
新的基 i ^ ′ \hat{i}' i^′、 j ^ ′ \hat{j}' j^′在原来的基 i ^ \hat{i} i^、 j ^ \hat{j} j^下的坐标是多少?
2.矩阵与线性变换
答案十分简单,对于旋转 π / 4 \pi/4 π/4 这样一个具体的例子,我们画个图,就可以直接看出来 i ^ ′ \hat{i}' i^′、 j ^ ′ \hat{j}' j^′在原来的基 i ^ \hat{i} i^、 j ^ \hat{j} j^下的坐标:
i ^ ′ = [ 2 / 2 2 / 2 ] j ^ ′ = [ − 2 / 2 2 / 2 ] \hat{i}'=\left[\begin{matrix}\sqrt{2}/2\\\sqrt{2}/2\end{matrix}\right]\\\hat{j}'=\left[\begin{matrix}-\sqrt{2}/2\\\sqrt{2}/2\end{matrix}\right] i^′=[2/22/2]j^′=[−2/22/2]
我们记作:
旋转 π / 4 :空间 V ⇒ 空间 V ′ i ^ = [ 1 0 ] → i ^ ′ = [ 2 / 2 2 / 2 ] j ^ = [ 0 1 ] → j ^ ′ = [ − 2 / 2 2 / 2 ] 旋转\pi/4:空间V \quad\Rightarrow \quad空间V'\\ \qquad\qquad\hat{i}=\left[\begin{matrix}1\\0\end{matrix}\right]\qquad\rightarrow\qquad\hat{i}'=\left[\begin{matrix}\sqrt{2}/2\\\sqrt{2}/2\end{matrix}\right]\\ \qquad\qquad\hat{j}=\left[\begin{matrix}0\\1\end{matrix}\right]\quad\rightarrow\qquad\hat{j}'=\left[\begin{matrix}-\sqrt{2}/2\\\sqrt{2}/2\end{matrix}\right] 旋转π/4:空间V⇒空间V′i^=[10]→i^′=[2/22/2]j^=[01]→j^′=[−2/22/2]
于是我们可以求出
α ′ = 1 i ^ ′ + 1 j ^ ′ = 1 [ 2 / 2 2 / 2 ] + 1 [ − 2 / 2 2 / 2 ] = [ 0 2 ] \pmb\alpha'=1\hat{i}'+1\hat{j}'=1\left[\begin{matrix}\sqrt{2}/2\\\sqrt{2}/2\end{matrix}\right]+1\left[\begin{matrix}-\sqrt{2}/2\\\sqrt{2}/2\end{matrix}\right]\\=\left[\begin{matrix}0\\\sqrt{2}\end{matrix}\right] α′=1i^′+1j^′=1[2/22/2]+1[−2/22/2]=[02]
更一般的,对任意一个向量
β = [ a b ] = a i ^ + b j ^ \beta=\left[\begin{matrix}a\\b\end{matrix}\right]=a\hat{i}+b\hat{j} β=[ab]=ai^+bj^
我们可以求出
β ′ = a i ^ ′ + b j ^ ′ = a [ 2 / 2 2 / 2 ] + b [ − 2 / 2 2 / 2 ] = [ 2 ( a − b ) / 2 2 ( a + b ) / 2 ] \pmb\beta'=a\hat{i}'+b\hat{j}'=a\left[\begin{matrix}\sqrt{2}/2\\\sqrt{2}/2\end{matrix}\right]+b\left[\begin{matrix}-\sqrt{2}/2\\\sqrt{2}/2\end{matrix}\right]\\=\left[\begin{matrix}\sqrt{2}(a-b)/2\\\sqrt{2}(a+b)/2\end{matrix}\right] β′=ai^′+bj^′=a[2/22/2]+b[−2/22/2]=[2(a−b)/22(a+b)/2]
可见我们可以求出任何一个点在 旋转 π / 4 \pi/4 π/4 后变换到了哪里。
也就是说,这个线性变换被确定下来了。回看整个过程,因为任何一个向量都可以由基线性表出,所以一个n维线性变换由其对n个基向量的作用结果唯一确定。
我们把基变换后得到的结果向量在原来基下的坐标并排写,即得到一个 n × n n\times n n×n矩阵。我们叫它:该线性变换在原来基下的矩阵。这个矩阵每一列都是属于变换后的基的一个向量在原来基下的坐标,所以一定不能离开对基的表述。
所以旋转 π / 4 \pi/4 π/4 在原来基 i ^ \hat{i} i^、 j ^ \hat{j} j^下的矩阵是:
A = [ 2 / 2 − 2 / 2 2 / 2 2 / 2 ] A=\left[\begin{matrix}\sqrt{2}/2&-\sqrt{2}/2\\\sqrt{2}/2&\sqrt{2}/2\end{matrix}\right] A=[2/22/2−2/22/2]
它的第一列就是 i ^ ′ \hat{i}' i^′在原来基下的坐标,第二列就是 j ^ ′ \hat{j}' j^′在原来基下的坐标。
这里特别提醒下,虽然我们说 i ^ ′ \hat{i}' i^′、 j ^ ′ \hat{j}' j^′是 i ^ \hat{i} i^、 j ^ \hat{j} j^变换过去(点运动过去)得到的,但是实际上是生成了新的向量,所以我们的 i ^ \hat{i} i^、 j ^ \hat{j} j<