文章目录
前言
笔记希望以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^还是原来的
i
^
\hat{i}
i^、
j
^
\hat{j}
j^,他们的位置没有改变,用我们熟悉的坐标系来表达,他们的坐标还是
i
^
=
[
1
0
]
,
j
^
=
[
0
1
]
\hat{i}=\left[\begin{matrix}1\\0\end{matrix}\right], \hat{j}=\left[\begin{matrix}0\\1\end{matrix}\right]
i^=[10],j^=[01]
这是不会改变的。
那么之前关于
α
\alpha
α的计算也可以记作:
α
′
=
1
[
2
/
2
2
/
2
]
+
1
[
−
2
/
2
2
/
2
]
=
[
2
/
2
−
2
/
2
2
/
2
2
/
2
]
[
1
1
]
=
A
[
1
1
]
=
[
0
2
]
\pmb\alpha'=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}\sqrt{2}/2&-\sqrt{2}/2\\\sqrt{2}/2&\sqrt{2}/2\end{matrix}\right]\left[\begin{matrix}1\\1\end{matrix}\right]=A\left[\begin{matrix}1\\1\end{matrix}\right]=\left[\begin{matrix}0\\\sqrt{2}\end{matrix}\right]
α′=1[2/22/2]+1[−2/22/2]=[2/22/2−2/22/2][11]=A[11]=[02]
这是用矩阵乘法的语言来简化了书写,计算时用第一个等号来理解计算即可。
这样书写还有一个特点是它把矩阵 A A A写在了 α \alpha α在原来基下的坐标的左边,阅读时要从右到左,回想我们关于函数的写法 F ( X ) F(X) F(X),也是把函数(映射)写在了自变量的左边。其实矩阵 A A A(线性变换)正是一个函数(映射)。它接收一个向量 α \alpha α在原来基下的坐标,输出向量 α ′ \alpha' α′在原来基下的坐标。我们应该特别注意,这个特殊的函数对输入和输出都是坐标,而且都有在原来基下的限定。即,我们得到的因变量坐标,甚至于这个矩阵的含义,都一定要在自变量坐标对应的基下去解读。
于是,
1.对于一个我们已知作用效果的线性变换,我们总可以写出矩阵:它的每一列对应了属于原来基的一个向量经变换后在原来基下的坐标。
这往往是我们在用线性代数实现某些目的,例如一个模拟动画的制作的时候我们干的事情。
2.同样,已知一个矩阵,如果我们知道了基(或者我们默认了熟悉的
i
^
\hat{i}
i^、
j
^
\hat{j}
j^、
k
^
\hat{k}
k^)这个矩阵对应的线性变换也就十分明了了。
这往往是我们在阅读理解矩阵的时候一个重要途径。
3.无论已知线性变换还是矩阵,我们都可以计算出任何向量在经历过这个线性变换之后变成了什么:把每一列单独拆开,用与之前相同的坐标放缩这个新的基再加起来就是变成的向量在原来基下的坐标。
2.矩阵乘法与线性变换
对于线性空间,显然我们可以不止做一次线性变换,比如我们可以先 旋转
π
/
4
\pi/4
π/4,接着再旋转
π
/
4
\pi/4
π/4,或者再旋转
π
/
4
\pi/4
π/4。对于这样的复合的线性变换,一定由一系列矩阵的相继作用与之对应,由此我们可以引入矩阵乘法的一个直观的概念:
接连的线性变换即为方阵的乘法
例如:从我们熟悉的基
i
^
\hat{i}
i^、
j
^
\hat{j}
j^出发。先 旋转
π
/
4
\pi/4
π/4,接着再旋转
π
/
4
\pi/4
π/4的变换,合在一起应该是旋转
π
/
2
\pi/2
π/2。
i
^
\hat{i}
i^、
j
^
\hat{j}
j^应该旋转到
i
^
′
′
=
[
0
1
]
j
^
′
′
=
[
−
1
0
]
\hat{i}''=\left[\begin{matrix}0\\1\end{matrix}\right]\quad \hat{j}''=\left[\begin{matrix}-1\\0\end{matrix}\right]
i^′′=[01]j^′′=[−10]
则记作:
(旋转
π
/
4
)
×
(
旋转
π
/
4
)
:空间
V
⇒
空间
V
′
⟺
(
旋转
π
/
2
)
:空间
V
⇒
空间
V
′
′
i
^
=
[
1
0
]
→
i
^
′
′
=
[
2
/
2
2
/
2
]
j
^
=
[
0
1
]
→
j
^
′
′
=
[
−
2
/
2
2
/
2
]
(旋转\pi/4)\times(旋转\pi/4):空间V \Rightarrow 空间V'\\\iff\qquad\qquad(旋转\pi/2):空间V \Rightarrow 空间V'' \\ \qquad\qquad\qquad\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\qquad\qquad\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)×(旋转π/4):空间V⇒空间V′⟺(旋转π/2):空间V⇒空间V′′i^=[10]→i^′′=[2/22/2]j^=[01]→j^′′=[−2/22/2]
对应的矩阵乘法
A
2
=
A
×
A
=
[
2
/
2
−
2
/
2
2
/
2
2
/
2
]
[
2
/
2
−
2
/
2
2
/
2
2
/
2
]
=
[
0
−
1
1
0
]
A^2=A\times A=\left[\begin{matrix}\sqrt{2}/2&-\sqrt{2}/2\\\sqrt{2}/2&\sqrt{2}/2\end{matrix}\right]\left[\begin{matrix}\sqrt{2}/2&-\sqrt{2}/2\\\sqrt{2}/2&\sqrt{2}/2\end{matrix}\right]=\left[\begin{matrix}0&-1\\1&0\end{matrix}\right]
A2=A×A=[2/22/2−2/22/2][2/22/2−2/22/2]=[01−10]
结果矩阵
A
2
A^2
A2的第一列是
i
^
′
′
\hat{i}''
i^′′在
i
^
\hat{i}
i^、
j
^
\hat{j}
j^基下的坐标,第二列是
j
^
′
′
\hat{j}''
j^′′在
i
^
\hat{i}
i^、
j
^
\hat{j}
j^基下的坐标。
那么我们来解读乘法的过程。
正如前面所说,阅读矩阵乘法的时候要从右向左,代表了它依次进行的变换。那么右侧的
A
A
A我们已经知道它的第一列就是*旋转
π
/
4
\pi/4
π/4*得到的
i
^
′
\hat{i}'
i^′在原来基下的坐标,第二列就是
j
^
′
\hat{j}'
j^′在原来基下的坐标,我们分别记作
p
右
1
⃗
\vec{p_{右1}}
p右1,
p
右
2
⃗
\vec{p_{右2}}
p右2。
而左侧的
A
A
A现在要视为第二个线性变换,首先要考虑它的作用效果,显然它应该表示的含义和右侧的A是一样的,也就是说,因为没有声明,我们应该认为它是省略了我们最熟悉的
i
^
\hat{i}
i^、
j
^
\hat{j}
j^基,所以它的效果应该是让
i
^
\hat{i}
i^、
j
^
\hat{j}
j^基旋转到它的两个列向量对应的坐标。我们分别记作
p
左
1
⃗
\vec{p_{左1}}
p左1、
p
左
2
⃗
\vec{p_{左2}}
p左2.我们已经知道,这个效果就是让空间
旋转
π
/
4
旋转\pi/4
旋转π/4。
所以它自然应该让右侧A封装的 i ^ ′ \hat{i}' i^′、 j ^ ′ \hat{j}' j^′向量分别再旋转 π / 4 \pi/4 π/4到达终点,而一个向量如何用线性变换矩阵作用我们上文已经学会。
所以结果的
A
2
A^2
A2的第一列
p
1
p_{1}
p1应该是:
p
1
⃗
=
i
^
′
′
=
A
i
^
′
=
A
p
右
1
=
[
2
/
2
−
2
/
2
2
/
2
2
/
2
]
[
2
/
2
2
/
2
]
=
[
0
1
]
\vec{p_{1}}=\hat{i}''=A\hat{i}'=Ap_{右1}=\left[\begin{matrix}\sqrt{2}/2&-\sqrt{2}/2\\\sqrt{2}/2&\sqrt{2}/2\end{matrix}\right]\left[\begin{matrix}\sqrt{2}/2\\\sqrt{2}/2\end{matrix}\right]=\left[\begin{matrix}0\\1\end{matrix}\right]
p1=i^′′=Ai^′=Ap右1=[2/22/2−2/22/2][2/22/2]=[01]
A
2
A^2
A2的第二列
p
2
p_2
p2应该是
p
2
⃗
=
i
^
′
′
=
A
i
^
′
=
A
p
右
1
=
[
2
/
2
−
2
/
2
2
/
2
2
/
2
]
[
2
/
2
2
/
2
]
=
[
−
1
0
]
\vec{p_{2}}=\hat{i}''=A\hat{i}'=Ap_{右1}=\left[\begin{matrix}\sqrt{2}/2&-\sqrt{2}/2\\\sqrt{2}/2&\sqrt{2}/2\end{matrix}\right]\left[\begin{matrix}\sqrt{2}/2\\\sqrt{2}/2\end{matrix}\right]=\left[\begin{matrix}-1\\0\end{matrix}\right]
p2=i^′′=Ai^′=Ap右1=[2/22/2−2/22/2][2/22/2]=[−10]
由此就得到了矩阵乘法的计算方法,我们把上述过程写在一起:
A
2
=
A
A
=
[
A
p
右
1
⃗
A
p
右
2
⃗
]
=
[
(
x
右
1
p
左
1
⃗
+
y
右
1
p
左
2
⃗
)
(
x
右
2
p
左
1
⃗
+
y
右
2
p
左
2
⃗
)
]
A^2=AA=\left[A\vec{p_{右1}}\quad A\vec{p_{右2}}\right]\\=\left[(x_{右1}\vec{p_{左1}}+y_{右1}\vec{p_{左2}})\quad (x_{右2}\vec{p_{左1}}+y_{右2}\vec{p_{左2}})\right]
A2=AA=[Ap右1Ap右2]=[(x右1p左1+y右1p左2)(x右2p左1+y右2p左2)]
其中各种下标的
x
x
x和
y
y
y分别是对应列向量的第一和第二个分量。
以上,我们学会了矩阵乘法的直观理解和计算。
(三) 基变换
上文虽然提到,对于线性变换,通过改变基向量,借助线性性这一特点,我们可以把空间中任何向量(点)变换到另一个点。但是仔细看看,对于矩阵 A A A,我们说的是
矩阵A(从右侧)接收一个向量 α \alpha α在原来基下的坐标,输出向量 α ′ \alpha' α′在原来基下的坐标。
前后不都是在原来基下吗,这不是根本没有改变基吗?这和我们说好的好像不太一样啊。。。
其实原因在于,对一个在我们熟悉的基
i
^
\hat{i}
i^、
j
^
\hat{j}
j^下用坐标表出的向量,在线性变换之后,我们考虑的所谓它“变成了多少”,指的是它变成的那个向量在原来基
i
^
\hat{i}
i^、
j
^
\hat{j}
j^下,而不是新基下的坐标是多少。老例子:
考虑 旋转
π
/
4
\pi/4
π/4后
α
=
[
1
1
]
=
1
i
^
+
1
j
^
\pmb\alpha=\left[\begin{matrix}1\\1\end{matrix}\right]=1\hat{i}+1\hat{j}
α=[11]=1i^+1j^,变成了多少。
答案很简单
α
′
=
1
i
^
′
+
1
j
^
′
\pmb\alpha'=1\hat{i}'+1\hat{j}'
α′=1i^′+1j^′
这就是在我们的新基
i
^
′
\hat{i}'
i^′、
j
^
′
\hat{j}'
j^′下它变成了多少,只不过这对我们没什么帮助,想要在我们脑海里直观认识到
α
′
\alpha'
α′的位置,我们还是希望它能够在我们熟悉的基
i
^
\hat{i}
i^、
j
^
\hat{j}
j^下用坐标表出。
也就是说。我们之前介绍的线性变换包含了三个过程:
1.把基变换过去
2.根据线性性,用相同坐标缩放新的基(把
α
′
\alpha'
α′用新基
i
^
′
\hat{i}'
i^′、
j
^
′
\hat{j}'
j^′线性表出)。
3.根据新基和原来基的对应关系,把新基用在原来基下的坐标表示并计算出
α
′
\alpha'
α′
这个过程之所以是复合的,是因为我们总想要用(在我们熟悉的基
i
^
\hat{i}
i^、
j
^
\hat{j}
j^下的)坐标去表达新得到的向量,现在来单独看看基变换
老例子:
旋转
π
/
4
:空间
V
⇒
空间
V
′
i
^
→
i
^
′
j
^
→
j
^
′
旋转\pi/4:空间V \quad\Rightarrow \quad空间V'\\ \qquad\qquad\hat{i}\rightarrow\qquad\hat{i}'\\ \qquad\qquad\hat{j}\rightarrow\qquad\hat{j}'
旋转π/4:空间V⇒空间V′i^→i^′j^→j^′
这个旋转所有的基会变成什么我们都清楚了,所以是确定的。
因为旋转可以认为是对基做变换,不妨记作:
旋转
π
/
4
(记作
σ
)
=
旋转(
i
^
,
j
^
)
=
(
旋转
i
^
,
旋转
j
^
)
,
而由前分析我们知道
i
^
′
=
旋转
(
i
^
)
=
2
/
2
i
^
+
2
/
2
j
^
j
^
′
=
旋转
(
j
^
)
=
−
2
/
2
i
^
+
2
/
2
j
^
旋转\pi/4(记作\sigma)=旋转(\hat{i},\quad\hat{j})=(旋转\hat{i},旋转\hat{j}),\\ 而由前分析我们知道\\ \hat{i}'=旋转(\hat{i})=\sqrt{2}/2\hat{i}+\sqrt{2}/2\hat{j}\\ \hat{j}'=旋转(\hat{j})=-\sqrt{2}/2\hat{i}+\sqrt{2}/2\hat{j}
旋转π/4(记作σ)=旋转(i^,j^)=(旋转i^,旋转j^),而由前分析我们知道i^′=旋转(i^)=2/2i^+2/2j^j^′=旋转(j^)=−2/2i^+2/2j^
这是把新基用原来的基线性表出了,我们把相应系数写成矩阵:
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]
我们再熟悉不过了,这个是 线性变换
σ
\sigma
σ 在基
i
^
\hat{i}
i^、
j
^
\hat{j}
j^下的矩阵,
但是借助矩阵乘法来简写一下,我们来看看究竟如何书写:
[
i
^
′
,
j
^
′
]
=
[
旋转
i
^
,
旋转
j
^
]
=
旋转
[
i
^
,
j
^
]
=
[
i
^
,
j
^
]
A
[\hat{i}',\quad\hat{j}']=[旋转\hat{i},旋转\hat{j}]=旋转[\hat{i},\quad\hat{j}]=[\hat{i},\quad\hat{j}]A
[i^′,j^′]=[旋转i^,旋转j^]=旋转[i^,j^]=[i^,j^]A
矩阵
A
A
A在右边?倒推回去,没有问题。这好像和我们说的,左乘是线性变换不太一样?
仔细看看刚刚说的:
矩阵A(从右侧)接收一个向量 α \alpha α在原来基下的坐标,输出向量 α ′ \alpha' α′在原来基下的坐标。
矩阵在左侧的时候,从右侧接收的应该是一个坐标,这个坐标是和这个矩阵有着相同基的,只有这样矩阵输出才是一个同样在这个基下的坐标。
而我们在这里只是在做基变换,并没有继续完成后面的部分呢。下面我们把后面的部分补齐。即给定一个向量坐标,我们算它变换之后坐标是什么:
1.同一基下,对向量作线性变换的坐标变化
设
β
=
[
a
b
]
=
a
i
^
+
b
j
^
设\beta=\left[\begin{matrix}a\\b\end{matrix}\right]=a\hat{i}+b\hat{j}
设β=[ab]=ai^+bj^
借助矩阵乘法的语言,进一步写成:
β
=
[
i
^
j
^
]
[
a
b
]
,
记作
[
i
^
j
^
]
X
,其中
X
是其在基
i
^
、
j
^
的坐标
\beta=\left[\begin{matrix}\hat{i}\quad\hat{j}\end{matrix}\right]\left[\begin{matrix}a\\b\end{matrix}\right],记作\left[\begin{matrix}\hat{i}\quad\hat{j}\end{matrix}\right]X,其中X是其在基\hat{i}、\hat{j}的坐标
β=[i^j^][ab],记作[i^j^]X,其中X是其在基i^、j^的坐标
那么,我们知道它变换后应该是:
β
′
=
a
i
^
′
+
b
j
^
′
=
[
i
^
′
j
^
′
]
[
a
b
]
=
[
i
^
′
j
^
′
]
X
\beta'=a\hat{i}'+b\hat{j}'=\left[\begin{matrix}\hat{i}'\quad\hat{j}'\end{matrix}\right]\left[\begin{matrix}a\\b\end{matrix}\right]=\left[\begin{matrix}\hat{i}'\quad\hat{j}'\end{matrix}\right]X
β′=ai^′+bj^′=[i^′j^′][ab]=[i^′j^′]X
由我们刚刚的推导:
β
′
=
(
[
i
^
,
j
^
]
A
)
X
\beta'=([\hat{i},\quad\hat{j}]A)X
β′=([i^,j^]A)X
矩阵乘法从右往左读,结合律自然成立,所以上式即:
β
′
=
[
i
^
,
j
^
]
(
A
X
)
\beta'=[\hat{i},\quad\hat{j}](AX)
β′=[i^,j^](AX)
也就是说,
β
′
\pmb\beta'
β′在原来基
i
^
\hat{i}
i^、
j
^
\hat{j}
j^下的坐标是AX,这与我们熟悉的对任意一个向量作线性变换的结果是一样的。
由上述可知,开头提出的线性变换的原理,甚至其矩阵构建的原理,都是基变换。
而至此我们也给出了在同一基下,对向量作线性变换的坐标变化. 即,
记线性变换 σ \sigma σ在一个基下矩阵为 A A A,任给一个向量 α \alpha α(在该基下 坐标 X X X),对他作线性变换 σ \sigma σ得到 α ′ = σ ( α ) \alpha'=\sigma(\alpha) α′=σ(α)
则 σ ( α ) \sigma(\alpha) σ(α)在该基下坐标为AX
那么,学会了在一个基内一个向量如何线性变换成另一个向量,水到渠成的我们会考虑,在不同基下呢?也就是,对于同一个向量,在不同基下它的坐标有什么关系
2.不同基下表达同一向量 的坐标关系
首先要特别强调,在这个问题下我们表达的是同一向量,要和刚刚讨论的一个向量变成另一个向量相区分。
采用视频提到的Jenny的例子。假设Jenny采用的坐标系的基在我们熟悉的基
i
^
\hat{i}
i^、
j
^
\hat{j}
j^下坐标是:
i
^
′
=
[
2
1
]
,
j
^
′
=
[
−
1
1
]
\hat{i}'=\left[\begin{matrix}2\\1\end{matrix}\right],\hat{j}'=\left[\begin{matrix}-1\\1\end{matrix}\right]
i^′=[21],j^′=[−11]则这之间的基变换在我们的基下的矩阵是
S
=
[
2
−
1
1
1
]
S=\left[\begin{matrix}2&-1\\1&1\end{matrix}\right]
S=[21−11]。
1).先来看从她的基到我们的基的翻译
Jenny告诉我们她有一个向量
α
=
[
−
1
2
]
=
记作
J
\alpha=\left[\begin{matrix}-1\\2\end{matrix}\right]\stackrel{}{\xlongequal{记作}}J
α=[−12]记作J
别被骗了,这个写法不完整,应该是:
α
=
[
i
^
′
j
^
′
]
[
−
1
2
]
=
[
i
^
′
j
^
′
]
J
\alpha=[\hat{i}'\quad\hat{j}']\left[\begin{matrix}-1\\2\end{matrix}\right]=[\hat{i}'\quad\hat{j}']J
α=[i^′j^′][−12]=[i^′j^′]J,
把
i
^
′
\hat{i}'
i^′、
j
^
′
\hat{j}'
j^′在我们的基下的坐标写出来,算出来得到的应该就是在我们的基下
α
\alpha
α的坐标:
α
=
[
i
^
j
^
]
X
=
[
i
^
j
^
]
[
2
−
1
1
1
]
[
−
1
2
]
=
[
i
^
j
^
]
[
−
4
1
]
=
记第二个等号作
[
i
^
j
^
]
S
J
\alpha=[\hat{i}\quad\hat{j}]X=[\hat{i}\quad\hat{j}]\left[\begin{matrix}2&-1\\1&1\end{matrix}\right]\left[\begin{matrix}-1\\2\end{matrix}\right]=[\hat{i}\quad\hat{j}]\left[\begin{matrix}-4\\1\end{matrix}\right]\stackrel{}{\xlongequal{记第二个等号作}}[\hat{i}\quad\hat{j}]SJ
α=[i^j^]X=[i^j^][21−11][−12]=[i^j^][−41]记第二个等号作[i^j^]SJ
这就完成了转化。即
X
=
S
J
X=SJ
X=SJ,这里矩阵
S
S
S的列向量是在我们基下表示Jenny基的坐标。以上是最直接的理解,回顾 1.同一基下,对向量作线性变换的坐标变化 过程,相当于我们是从:
那么,我们知道它变换后应该是:
β ′ = a i ^ ′ + b j ^ ′ = [ i ^ ′ j ^ ′ ] [ a b ] = [ i ^ ′ j ^ ′ ] X \beta'=a\hat{i}'+b\hat{j}'=\left[\begin{matrix}\hat{i}'\quad\hat{j}'\end{matrix}\right]\left[\begin{matrix}a\\b\end{matrix}\right]=\left[\begin{matrix}\hat{i}'\quad\hat{j}'\end{matrix}\right]X β′=ai^′+bj^′=[i^′j^′][ab]=[i^′j^′]X
往下进行的。也就是说这种理解方法自始自终没有线性变换。我觉得反而相对直接。
下面我们从视频提到的线性变换角度再来理解一下,也就是解释
X
=
S
J
X=SJ
X=SJ:
S
S
S左侧输入一个坐标,然后输出一个我们基下坐标,所以对于
S
、
X
、
J
S、X、J
S、X、J我们都应该在我们基下理解:
对
S
S
S:和刚刚一样,每列是变换后的基在我们的基下的坐标。所以S就是我们认为的那个线性变换。
对J:不能理解为Jenny的坐标了,而应当认为这是一个全新的在我们的基下表出的向量(即我们对Jenny的误解),也就是说:
α
=
[
i
^
j
^
]
[
−
1
2
]
=
[
i
^
j
^
]
J
\alpha=[\hat{i}\quad\hat{j}]\left[\begin{matrix}-1\\2\end{matrix}\right]=[\hat{i}\quad\hat{j}]J
α=[i^j^][−12]=[i^j^]J
然后由
S
S
S的作用,把这个误解移动到了正确的位置。
2).再来看从我们的基到她的基的翻译
我们有一个向量
α
=
[
−
1
2
]
=
记作
X
\alpha=\left[\begin{matrix}-1\\2\end{matrix}\right]\stackrel{}{\xlongequal{记作}}X
α=[−12]记作X
别被骗了,这个写法不完整,应该是:
α
=
[
i
^
j
^
]
[
−
1
2
]
=
[
i
^
j
^
]
X
\alpha=[\hat{i}\quad\hat{j}]\left[\begin{matrix}-1\\2\end{matrix}\right]=[\hat{i}\quad\hat{j}]X
α=[i^j^][−12]=[i^j^]X,
现在我们想知道:
α
=
[
i
^
′
j
^
′
]
J
\alpha=[\hat{i}'\quad\hat{j}']J
α=[i^′j^′]J的J为多少?
因为
α
=
(
[
i
^
j
^
]
S
)
J
=
[
i
^
j
^
]
(
S
J
)
\alpha=([\hat{i}\quad\hat{j}]S)J=[\hat{i}\quad\hat{j}](SJ)
α=([i^j^]S)J=[i^j^](SJ)
所以
S
J
=
X
记作
(
1
)
式
SJ=X\qquad\qquad记作(1)式
SJ=X记作(1)式
一个变换的逆变换,对应的矩阵我们叫逆矩阵,记作 S − 1 S^{-1} S−1,它的效果和 S S S相反,比如 旋转 π / 2 \pi/2 π/2的逆变换是旋转 − π / 2 -\pi/2 −π/2。所以变换一次再逆变换一次,应该不变。反映到矩阵上,即为 ( S − 1 S ) X = X (S^{-1}S)X=X (S−1S)X=X。 S − 1 S^{-1} S−1的每列是我们的基 i ^ \hat{i} i^、 j ^ \hat{j} j^在Jenny的基 i ^ ′ \hat{i}' i^′、 j ^ ′ \hat{j}' j^′下的坐标(想想看为什么)。逆矩阵具体计算不做赘述。
(1)式两边同左乘
S
−
1
S^{-1}
S−1则有:
J
=
S
−
1
X
J=S^{-1}X
J=S−1X
从线性变换角度理解与从Jenny到我们方向类似,核心看我们要的是哪个系下的坐标,由此也就明白该选择
S
S
S(列是我们系下的坐标)还是
S
−
1
S^{-1}
S−1(列是Jenny系下的坐标)了。
3.线性变换在不同基下矩阵的关系
每当谈到线性变换 σ \sigma σ,我们总说 σ \sigma σ在一个基下的矩阵,这有必要吗?让我们来看看 旋转 π / 2 \pi/2 π/2在我们的基和Jenny基下的情况:
在我们的基下旋转
π
/
2
\pi/2
π/2(记作
σ
\sigma
σ)的矩阵记作
A
=
[
0
−
1
1
0
]
A=\left[\begin{matrix}0&-1\\1&0\end{matrix}\right]
A=[01−10],它表示,旋转得到向量的位置是:
σ
(
i
^
)
=
0
i
^
+
1
j
^
,
σ
(
j
^
)
=
−
1
i
^
+
0
j
^
\sigma(\hat{i})=0\hat{i}+1\hat{j},\sigma(\hat{j})=-1\hat{i}+0\hat{j}
σ(i^)=0i^+1j^,σ(j^)=−1i^+0j^
在Jenny基下
σ
\sigma
σ的结果我们可以通过画个图看出来:
应该是:
σ
(
i
^
′
)
=
[
−
1
2
]
=
1
3
i
^
′
+
5
3
j
^
′
,
σ
(
j
^
′
)
=
[
−
1
−
1
]
=
−
2
3
i
^
′
−
1
3
j
^
′
\sigma(\hat{i}')=\left[\begin{matrix}-1\\2\end{matrix}\right]=\frac{1}{3}\hat{i}'+\frac{5}{3}\hat{j}',\sigma(\hat{j}')=\left[\begin{matrix}-1\\-1\end{matrix}\right]=-\frac{2}{3}\hat{i}'-\frac{1}{3}\hat{j}'
σ(i^′)=[−12]=31i^′+35j^′,σ(j^′)=[−1−1]=−32i^′−31j^′
则在Jenny基下,
σ
\sigma
σ矩阵记作
B
=
[
1
/
3
−
2
/
3
5
/
3
−
1
/
3
]
B=\left[\begin{matrix}1/3&-2/3\\5/3&-1/3\end{matrix}\right]
B=[1/35/3−2/3−1/3]
与
A
A
A是不相同的。
也就是说,如果我们要用一个矩阵告诉jenny:嘿!jenny,做个旋转
π
/
2
\pi/2
π/2的线性变换,我们不能告诉她
A
A
A,而应该告诉她
B
B
B。
然而如果实操了上面的例子就会明白,要凑出
i
^
′
\hat{i}'
i^′、
j
^
′
\hat{j}'
j^′的系数没那么容易。那能不能用更简单的方法得到线性变换在不同基下矩阵的关系?
考虑一个在Jenny基下坐标为Y的向量。现在我们想让它旋转
π
/
2
\pi/2
π/2。
理所应当,把问题先转换到我们的基下,用我们的基表示这个向量,在我们的世界里,我们当然就会线性变换了。变换完会得到一个坐标,这个坐标依旧是在我们的基下的,所以我们只要在把它翻译成Jenny基的坐标即可。
这个过程变成了
翻译(Jenny
→
\rightarrow
→我们)
⇒
\Rightarrow
⇒我们基下的旋转
⇒
\Rightarrow
⇒翻译(我们
→
\rightarrow
→Jenny)
嘿!我们学过怎么翻译,学过怎么做熟悉基的线性变换。
即:
B
Y
=
(
S
−
1
A
S
)
Y
BY=(S^{-1}AS)Y
BY=(S−1AS)Y
从右往左读,第一步翻译要得到我们基的坐标,所以用
S
S
S;然后在我们基做旋转,用
A
A
A;最后翻译要得到Jenny基的坐标,用
S
−
1
S^{-1}
S−1。
因为对任意向量都成立,省略掉
Y
Y
Y得到:
B
=
S
−
1
A
S
B=S^{-1}AS
B=S−1AS
反过来也是一样:
A
=
S
B
S
−
1
A=SBS^{-1}
A=SBS−1
至此,我们学会了线性变换在不同基下矩阵的转化。
因为这些矩阵表达的是同一个线性变化,只是不同基下而已,所以我们有这样一个定义:
若
A
=
S
B
S
−
1
A=SBS^{-1}
A=SBS−1则称矩阵A、B是相似的
可以看到,相似实质与线性变化紧密联系,相似矩阵是同一线性变换在不同基下的矩阵。那么许多大家将学到的相似不变量,诸如行列式,特征值,秩等概念也自然在某方面与线性变换是紧密相关的。在此不作叙述。
(三)线性映射
一路走来,我们对线性变换和矩阵已有了较深刻的认识,现在来看看更一般的线性映射。
为什么说线性映射更一般呢?因为线性变换是在“同一个空间”之中发生的,或者说,线性变换前后,空间的维数不发生变化。而线性映射则更加抽象一些,它不是一个变换,而只是一个对应关系。因而它允许维数的改变,只要你描述清楚他们如何对应过去即可。显然,考虑一个二维向量如何从二维空间对应到三维空间某个向量是一件有必要的事情,这也是线性映射的价值之一。
以矩阵来作为例子看看:
一个线性变换的矩阵应该是方阵例如:
A
=
[
0
−
1
0
1
0
0
0
0
1
]
A=\left[\begin{matrix}0&-1&0\\1&0&0\\0&0&1\end{matrix}\right]
A=
010−100001
,变换前后维数不会变,所以三个基变换后的坐标自然还是用三个分量描述。你可以思考它的线性变换含义:三维几何空间下绕
z
z
z轴旋转
π
/
2
\pi/2
π/2.
而一个线性映射的矩阵可以是非方阵例如:
B
=
[
1
0
0
1
1
1
]
B=\left[\begin{matrix}1&0\\0&1\\1&1\end{matrix}\right]
B=
101011
变换前后维数会发生变换。这里的坐标不再是在原来基下表出变换后的新基了。有两列,表示原来有两个基,也就是说原来是二维空间,映射后要用三个分量表示坐标,所以是映射到了三维空间。
记映射为
σ
\sigma
σ,我们可以写出:
σ
:二维空间
V
⇒
三维空间
V
′
i
^
=
[
1
0
]
→
i
^
′
=
[
1
0
1
]
j
^
=
[
0
1
]
→
j
^
′
=
[
0
1
1
]
\sigma:二维空间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}1\\0\\1\end{matrix}\right]\\ \qquad\qquad\hat{j}=\left[\begin{matrix}0\\1\end{matrix}\right]\quad\rightarrow\qquad\hat{j}'=\left[\begin{matrix}0\\1\\1\end{matrix}\right]
σ:二维空间V⇒三维空间V′i^=[10]→i^′=
101
j^=[01]→j^′=
011
那么对于一个向量
α
=
2
i
^
+
3
j
^
=
[
i
^
j
^
]
[
2
3
]
\pmb\alpha=2\hat{i}+3\hat{j}=\left[\begin{matrix}\hat{i}&\hat{j}\end{matrix}\right]\left[\begin{matrix}2\\3\end{matrix}\right]\quad
α=2i^+3j^=[i^j^][23]
映射后应该是
α
′
=
2
i
^
′
+
3
j
^
′
=
2
[
1
0
1
]
+
3
[
0
1
1
]
=
[
2
3
5
]
=
[
i
^
′
j
^
′
]
[
2
3
]
=
直接带入坐标
[
1
0
0
1
1
1
]
[
2
3
]
\pmb\alpha'=2\hat{i}'+3\hat{j}'=2\left[\begin{matrix}1\\0\\1\end{matrix}\right]+3\left[\begin{matrix}0\\1\\1\end{matrix}\right]=\left[\begin{matrix}2\\3\\5\end{matrix}\right]\\=\left[\begin{matrix}\hat{i}'&\hat{j}'\end{matrix}\right]\left[\begin{matrix}2\\3\end{matrix}\right]\quad\stackrel{}{\xlongequal{直接带入坐标}}\left[\begin{matrix}1&0\\0&1\\1&1\end{matrix}\right]\left[\begin{matrix}2\\3\end{matrix}\right]
α′=2i^′+3j^′=2
101
+3
011
=
235
=[i^′j^′][23]直接带入坐标
101011
[23]
可以看到通过建立好了基向量的映射,由于线性性,我们可以完全肯定任意一个二维向量如何映射到三维向量。当然我们也可以建立从三维向二维的映射:
记映射为
δ
\delta
δ,我们可以写出:
δ
:三维空间
V
⇒
二维空间
V
′
i
^
=
[
1
0
0
]
→
i
^
′
=
[
1
1
]
j
^
=
[
0
1
0
]
→
j
^
′
=
[
0
1
]
k
^
=
[
0
0
1
]
→
k
^
′
=
[
−
1
0
]
\delta:三维空间V \quad\Rightarrow \quad二维空间V'\\ \qquad\qquad\hat{i}=\left[\begin{matrix}1\\0\\0\end{matrix}\right]\qquad\rightarrow\qquad\hat{i}'=\left[\begin{matrix}1\\1\end{matrix}\right]\\ \qquad\qquad\hat{j}=\left[\begin{matrix}0\\1\\0\end{matrix}\right]\quad\rightarrow\qquad\hat{j}'=\left[\begin{matrix}0\\1\end{matrix}\right]\\ \qquad\qquad\hat{k}=\left[\begin{matrix}0\\0\\1\end{matrix}\right]\qquad\rightarrow\qquad\hat{k}'=\left[\begin{matrix}-1\\0\end{matrix}\right]\\
δ:三维空间V⇒二维空间V′i^=
100
→i^′=[11]j^=
010
→j^′=[01]k^=
001
→k^′=[−10]
那么对于一个向量
α
=
2
i
^
+
3
j
^
+
1
k
^
=
[
i
^
j
^
k
^
]
[
2
3
1
]
\pmb\alpha=2\hat{i}+3\hat{j}+1\hat{k}=\left[\begin{matrix}\hat{i}&\hat{j}&\hat{k}\end{matrix}\right]\left[\begin{matrix}2\\3\\1\end{matrix}\right]\quad
α=2i^+3j^+1k^=[i^j^k^]
231
映射后应该是
α
′
=
2
i
^
′
+
3
j
^
′
+
1
k
^
′
=
2
[
1
1
]
+
3
[
0
1
]
+
1
[
−
1
0
]
=
[
1
5
]
=
[
i
^
′
j
^
′
k
^
′
]
[
2
3
1
]
=
直接带入坐标
[
1
0
−
1
1
1
0
]
[
2
3
1
]
\pmb\alpha'=2\hat{i}'+3\hat{j}'+1\hat{k}'=2\left[\begin{matrix}1\\1\end{matrix}\right]+3\left[\begin{matrix}0\\1\end{matrix}\right]+1\left[\begin{matrix}-1\\0\end{matrix}\right]=\left[\begin{matrix}1\\5\end{matrix}\right]\\=\left[\begin{matrix}\hat{i}'&\hat{j}'&\hat{k}'\end{matrix}\right]\left[\begin{matrix}2\\3\\1\end{matrix}\right]\quad\stackrel{}{\xlongequal{直接带入坐标}}\left[\begin{matrix}1&0&-1\\1&1&0\end{matrix}\right]\left[\begin{matrix}2\\3\\1\end{matrix}\right]
α′=2i^′+3j^′+1k^′=2[11]+3[01]+1[−10]=[15]=[i^′j^′k^′]
231
直接带入坐标[1101−10]
231
至此,我们知道窄型和宽型非方阵的线性映射含义,我们还顺便解决了矩阵和列向量的乘积如何计算的问题。
顺带一提,就像我们在二维空间基省略的是
i
^
\hat{i}
i^、
j
^
\hat{j}
j^一样,三维空间省略的应该是
i
^
\hat{i}
i^、
j
^
\hat{j}
j^、
k
^
\hat{k}
k^,读者可以自行补齐上述语言,以便更好理解。这些基的特点都是只有一个分量是1,其余是0,推广到n维,我们叫他们标准基,之所以能省略他们的理由也是因为他们别的分量是零,所以与其说是省略,不如说:
[
2
3
5
]
\left[\begin{matrix}2\\3\\5\end{matrix}\right]
235
与
[
i
^
j
^
k
^
]
[
2
3
5
]
[\hat{i}\quad\hat{j}\quad{\hat{k}}]\left[\begin{matrix}2\\3\\5\end{matrix}\right]
[i^j^k^]
235
本来就是相等的.
只有基发生变化了才需要补为:
[
i
^
′
j
^
′
k
^
′
]
[
2
3
5
]
[\hat{i}'\quad\hat{j}'\quad{\hat{k}'}]\left[\begin{matrix}2\\3\\5\end{matrix}\right]
[i^′j^′k^′]
235
从线性映射的角度也可以很好的认识非方阵乘法:
记
A
=
[
1
0
1
0
1
1
]
,
B
=
[
1
0
−
1
0
1
1
0
0
0
0
0
1
]
。可以有
:
A
B
=
[
1
0
1
0
1
1
]
[
1
0
−
1
0
1
1
0
0
0
0
0
1
]
记A=\left[\begin{matrix}1&0&1\\0&1&1\end{matrix}\right],B=\left[\begin{matrix}1&0&-1&0\\1&1&0&0\\0&0&0&1\end{matrix}\right]。可以有:\\ AB=\left[\begin{matrix}1&0&1\\0&1&1\end{matrix}\right]\left[\begin{matrix}1&0&-1&0\\1&1&0&0\\0&0&0&1\end{matrix}\right]
记A=[100111],B=
110010−100001
。可以有:AB=[100111]
110010−100001
从右往左读,
B
B
B代表把四维(基向量数)映射到三维(坐标分量数),
A
A
A表示把三维映射到二维,所以合起来BA表示一个从四维到二维的映射,即最后结果应该是两行四列的矩阵。
怎么计算?
把右边B的每一列视为一个向量的坐标,记为:
B
=
[
p
1
p
2
p
3
p
4
]
B=[p_1\quad p_2\quad p_3\quad p_4]
B=[p1p2p3p4].
而对单个列向量的非方阵乘法我们刚刚已经学会了,所以结果应该是:
A
B
=
[
A
p
1
A
p
2
A
p
3
A
p
4
]
AB=[Ap_1\quad Ap_2\quad Ap_3\quad Ap_4]
AB=[Ap1Ap2Ap3Ap4].
接下来我们看看反过来:
B
A
=
[
1
0
−
1
0
1
1
0
0
0
0
0
1
]
[
1
0
1
0
1
1
]
BA=\left[\begin{matrix}1&0&-1&0\\1&1&0&0\\0&0&0&1\end{matrix}\right]\left[\begin{matrix}1&0&1\\0&1&1\end{matrix}\right]
BA=
110010−100001
[100111]
从右往左读,
A
A
A代表把三维映射到二维,
B
B
B表示把四维映射到三维。A给出的是二维向量,B接不住。所以这时候矩阵的乘法是没有意义的,也就不能相乘了。
至此我们解释了对一般非方阵的乘法的线性映射含义,也给出了矩阵乘法的计算方法以及如何快速判断矩阵是否可以相乘。
顺带一提,矩阵乘法本就来自于线性映射,它是作为描述一种线性复合映射的语言而诞生的。对于映射这个抽象概念,其包罗万象,也就使得这无疑成为了一个强有力的工具。此外,矩阵乘法诞生之后就不再局限于线性映射了。
“很遗憾,矩阵是什么是说不清的,你必须亲眼看看”——墨菲斯
总结
笔记首先从线性变换角度介绍了方阵。针对对一个向量的线性变换进行了过程拆解。指出了线性变换的实质是有三个阶段。
进而谈及基变换。并由此对矩阵左乘右乘的原因给出了解答。论述了基变换中
1.同一基下,对向量作线性变换的坐标变化
2.不同基下表达同一向量 的坐标关系
3.线性变换在不同基下矩阵的关系
在这些过程中,我们反复强调的是坐标和基的选择密不可分。
更进一步,我们从线性映射的角度介绍了非方阵。并给出了非常直接的非方阵矩阵相乘的合理性判断和计算方法。
最后再次强烈推荐3Blue1Brown的线性代数系列视频。配合食用效果更佳。