1.1-1.3 矩阵的基本概念与基本运算( 矩阵的直观理解!)

注:

从本章节开始,该学习笔记标题会与前言中所提教材章节一一对应
但是会有一些跳过的,比如说1.1矩阵的概念这种
因为我更希望展示的是一些直观的理解而不是运算技巧或做题方法

1.2 矩阵的基本运算

1.2.1 矩阵的线性运算

  这应该不需要说了吧,等于向量,结束。

1.2.2 矩阵的乘法

  本系列前言中提到过我亲身经历的小故事,所以我更希望讲明白为什么矩阵乘法这么定义。以下内容可以视作为3蓝1棕视频(02~附录1)的省流版

从基底变换到矩阵乘法

  总所周知,根据我们高中学过的平面向量基本定理,我们只需要两个基底就可以确定一整个平面,这两个基底只需要不共线且非0即可。对于三维空间来说,只需要三个不共面的基底即可通过修改系数覆盖整个空间。
  
  描述一个空间,基底的选取是任意的,因此我们可以任意变换基底。
  现在考察一个二维空间,建立一个标准的平面直角坐标系,基底就是标准的(1,0)和(0,1)。相信很多同学初中都思考过建立“斜坐标系”,到了高中我们学会了用基底去表示它,但是很烦人的一件事是:两个基底点乘起来不等于0!
  这让人非常头疼,本来是简化运算的好像也没简化到哪里去,有没有一种方法可以得到它在直角坐标系中的坐标呢?

  有的,兄弟,有的!

  这时候就搬出我们的矩阵乘法了!!!
  我们现在让下方两个矩阵相乘,我们称之为线性变换。

[ixjxiyjy][xy]\begin{bmatrix} i_x & j_x \\ i_y & j_y \end{bmatrix}\begin{bmatrix} x \\ y \end{bmatrix}
左侧是我们新的向量基底i^j^\hat i\hat j,而右侧则是变换前的坐标(x,y)(x,y)
因此,我们得到的结果应该是 x⋅i^+y⋅j^x\cdot\hat i+y\cdot\hat j
以矩阵的形式写回直角坐标系:

x[ixiy]+y[jxjy]=[xix+yjxxiy+yjy]x\begin{bmatrix} i_x \\ i_y \end{bmatrix}+y\begin{bmatrix} j_x \\ j_y \end{bmatrix} = \begin{bmatrix} xi_x+ yj_x \\ xi_y +y j_y \end{bmatrix}

  那么问题来了,我们上面那个例子最大的问题是:右侧必须是个列向量!那么我们怎么推广它呢?
  在大家学到分块矩阵这个BUG级别的化归神器之前,我们可以对它这么理解(事实上这么理解更加直观):

更通用的矩阵相乘!

考察下方矩阵乘法

[ixjxiyjy][abcd]\begin{bmatrix} i_x & j_x \\ i_y & j_y \end{bmatrix}\begin{bmatrix} a & b \\ c & d \end{bmatrix}
左侧含义仍与之前一致,表示该变换的新的基底
右侧似乎有点难以入手,但我们可以这么思考:

如果左侧表示的是一组基底,那么右侧是不是也可以表示一组基底?

答案是当然可以且逻辑自洽!
按照上文的定义,我们应该是把 右侧的一组基底 利用 左侧的新基底 进行变换,最后输出 原来基底 在新的基底下 原直角坐标系 中 的坐标(好拗口啊)。
具体来算:
先对基底[ac]\begin{bmatrix} a \\c \end{bmatrix}进行变换,a[ixiy]+c[jxjy]=[aix+cjxaiy+cjy]a\begin{bmatrix} i_x \\ i_y \end{bmatrix}+c\begin{bmatrix} j_x \\ j_y \end{bmatrix} = \begin{bmatrix} ai_x+ cj_x \\ ai_y +c j_y \end{bmatrix}
再对基底[bd]\begin{bmatrix} b\\d \end{bmatrix}进行变换,同理得到[bix+djxbiy+djy]\begin{bmatrix} bi_x+ dj_x \\ bi_y +d j_y \end{bmatrix}
别忘了我们要用矩阵表示这组新的基底,把它们拼起来:(到头来还要自己拼(bushi))
就能得到最终结果:
[aix+cjxbix+djxaiy+cjybiy+djy]\begin{bmatrix}ai_x+ cj_x & bi_x+ dj_x \\ ai_y +c j_y & bi_y +d j_y \end{bmatrix}

总结

因此,我们回头来看矩阵乘法的定义:
(a11a12⋯a1sa21a22⋯a2s⋮⋮⋮am1am2⋯ams)(b11b12⋯b1nb21b22⋯b2n⋮⋮⋮bs1bs2⋯bsn)=(a11b11+⋯+a1sbs1a11b12+⋯+a1sbs2⋯a11b1n+⋯+a1sbsna21b11+⋯+a2sbs1a21b12+⋯+a2sbs2⋯a21b1n+⋯+a2sbsn⋮⋮⋮am1b11+⋯+amsbs1am1b12+⋯+amsbs2⋯am1b1n+⋯+amsbsn).\begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1s} \\ a_{21} & a_{22} & \cdots & a_{2s} \\ \vdots & \vdots & & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{ms} \end{pmatrix} \begin{pmatrix} b_{11} & b_{12} & \cdots & b_{1n} \\ b_{21} & b_{22} & \cdots & b_{2n} \\ \vdots & \vdots & & \vdots \\ b_{s1} & b_{s2} & \cdots & b_{sn} \end{pmatrix} = \begin{pmatrix} a_{11}b_{11}+\cdots+a_{1s}b_{s1} & a_{11}b_{12}+\cdots+a_{1s}b_{s2} & \cdots & a_{11}b_{1n}+\cdots+a_{1s}b_{sn} \\ a_{21}b_{11}+\cdots+a_{2s}b_{s1} & a_{21}b_{12}+\cdots+a_{2s}b_{s2} & \cdots & a_{21}b_{1n}+\cdots+a_{2s}b_{sn} \\ \vdots & \vdots & & \vdots \\ a_{m1}b_{11}+\cdots+a_{ms}b_{s1} & a_{m1}b_{12}+\cdots+a_{ms}b_{s2} & \cdots & a_{m1}b_{1n}+\cdots+a_{ms}b_{sn} \end{pmatrix}.

注意

这里的“基底”严格意义上说表述有点问题,因为它不一定能构成这个空间的基底(比如二维就可能存在共线的情况、零向量的情况等等),但是为了描述方便我们暂且忽略这一细节,下文同理。

第一个矩阵Am×sA_{m\times s}

表示如何进行线性变换,包含的信息是新的基底
m:行数,代表着新的基底的“维数”,我们暂且称它为输出维数
s:列数,因为是右侧原有基底的系数和左侧矩阵每一列(新基底)相乘,代表着原来基底的“维数”,我们暂且称它为输入维数

第二个矩阵Bs×nB_{s\times n}

s:行数,代表着输入维数
n:列数,代表着一共有几个基底在等待变换

我们再来看看结果是否合理

  我们得到的是一个m×nm\times n的矩阵,按照上述的几何意义理解,新的维数应该和输出维数相同,也就是前一个矩阵的行数,是m,正确!
  而新的列数则应当是原有待变换的基底数,也就是后一个矩阵的列数,同样正确!
  而只有前一个矩阵的列数等于后一个矩阵的行数才能相乘,因为他们描述的同为输入维度!
  得到的新矩阵(i,j)(i,j)位置的元素则代表了原来第j个基底变换后的“i”坐标轴上的坐标,因此只需要累计原有的第j个基底变换后每个系数在“i”坐标下的贡献。这就得到了我们矩阵的算法:左边矩阵的第i行与右边矩阵第j列对应相乘再累加。

  所以线性变换其实与函数很类似,有一个输入,经过这个东西处理得到了一个输出。

乘法的更多性质

基本性质

  当我们理解了上述基本原理之后,很多性质都可以非常直观的理解,你会发现很多需要计算验证的定义与性质是很自然的:

AB不能随意交换顺序

把A和B都看作变换,ABxABx是先B后A,而BAxBAx是先A后B。变换的次序改变了,结果就有可能改变。

结合律

与上面恰恰相反,不管怎么结合,变换的次序是不变的,因此合起来的线性变换的规则是没变的,只是把两个变换合二为一了。

分配律

A(B+C)=AB+ACA(B+C)=AB+AC:只是把B+C拆开变换了,做的都是同一种变换,根据线性性,合起来拆下来其实是没区别的
(B+C)A=BA+CA(B+C)A=BA+CA:同样的,线性性就可以解释,这里只是把基底拆开来算而已

kAB=(kA)B=A(kB)kAB=(kA)B=A(kB)

k是缩放系数,放哪里都是一样的

更多性质

  这里性质有很多,一些过于显然的比如说“kEkE与任意n阶矩阵都能交换”就暂且略过

AB=0⇏A=0 or B=0AB=\mathbf{0}\nRightarrow A=\mathbf{0}\ or\ B=\mathbf{0}

  想找反例可以找出很多,只需要把B原来不为0的坐标变换到全为0的基底即可。也可以一正一负相加消成0。

n阶对角矩阵彼此可交换

  非常显然啊,n阶对角矩阵,说明前后维度都是n阶,并且基底严格在“直角”坐标系的坐标轴上,所以结果就是对角对应相乘,那不管怎么交换都是一样的

幂等矩阵

  几何意义本身很明显,A2=AA^2=A,说明无论变换多少次效果都和一次相同。这里值得注意的是我们不仅可以把矩阵相乘理解为线性变换,根据结合律,还可以直接理解为一个变换的系数,说不定更容易看出直观的理解。
  这个理解可以解决一些比较简单的矩阵,比如(1000)\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix},这个变换意味着只保留x坐标,那么不管变换多少次都是只保留原先的x坐标。
  (1200)\begin{pmatrix} 1 & 2 \\ 0 & 0 \end{pmatrix},表示把x系数和2倍的y系数都加到x坐标上,原来的y坐标清零。由于第一次清零了,所以往后都不变。
  对于更复杂无法一眼看出的幂等矩阵,演算一遍即可。

常见的幂零矩阵

  相信大家都学过下面这个典型的幂零矩阵:(010001000)\begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{pmatrix}
  不难看出,他描述的变换是把y坐标变换到x上,把z坐标变换到y上,而x坐标就被推出去,相当于把{x,y,z}这样的队列往前推,所以经过三次这样的变换,所有坐标一定都会被推出这个队列。
  对于其它无法一眼看出的幂零矩阵,只能老老实实计算了o( ̄┰ ̄*)ゞ

1.2.3 矩阵的转置

  一个新定义的运算,定义很简单,就是行列互换,从形式上看,就是沿对角线翻折。
  我自己思考了好几节线代课并且拷问了gpt6.1sol很多轮都没能找到什么只凭借矩阵第一章能解释的很直观的几何意义,因此我们目前不必太在意矩阵转置本身的几何意义。事实上,在把高中的向量内积知识带到线代之前,将转置理解为行列互换就已经完全足够了。
  但是,转置本身是一个非常好的化归工具,我们将会在下面的章节中反复运用到它帮助我们理解。

转置的运算规律

  在转置的所有性质中,除了(AB)T=BTAT(AB)^T=B^TA^T之外都非常显然。
  其实这个本身也不难理解,ABAB中是从A中取行,B中取列算出每一个元素。那么转置之后,行列互换,就要从A中取行当列,B中取列当行,所以B就要放在前面惹!
  留意这个性质,后面化归可是有大用哦qwq~

其它

  一个非常经典的应用是可以通过转置将任意一个方阵拆成对称矩阵与反对称矩阵的和,即为
A=12(A+AT)+12(A−AT)A=\frac{1}{2}(A + A^T)+\frac{1}{2}(A - A^T)
  这个代数技巧和高中学的奇偶分解(将任意一个函数拆成奇函数和偶函数的和)并没有什么区别,所以这也不是什么新东西哦( 化归神力ο(=•ω<=)ρ⌒☆ )。

1.3 分块矩阵

在最开始设定的章节目录里,分块矩阵本来是想单独拎出来一章的。
然鹅写的时候发现内容量根本支撑不起来一章欸((,所以就放在这了

  
  矩阵的分块给我的一种感觉就是 —— 换元
  不改变值、不改变运算,就是把一大坨东西包装起来,要展开的时候直接还原就行,这不就是换元吗(╹ڡ╹ )
  事实上矩阵的分块还真没有引入新的运算,他只不过是一个运算的工具罢了,把复杂的东西换成简单的整体,在做的事和换元法有点类似。
  但正因为这个,它也是一个化归的好手,复杂矩阵都可以试试通过分块简化。
  比如之前前文中提到的更一般的矩阵乘法,我们只需要把右侧矩阵按行进行分块,那么右侧就自动变成了[A1A2A3]\begin{bmatrix} A_1 \\ A_2 \\ A_3 \end{bmatrix}这种列向量的形式,可谓非常方便。
  这里更多的是涉及计算技巧,因此不多展开,在后面有些理解我们要用分块简化的时候ta会出现的!      

文末废话环节

  啊啊啊啊些这篇时间前后加起来相当于图书馆两整个下午+晚上+一个早上了,还以为写完开头后面都会很简单,但是把脑子模糊的想法写成清晰的解释还是很费功夫的qwq!不过不管怎样都写完了欸嘿╰(°▽°) 。

这篇文章是否讲解清晰,对您有帮助owo
(0.0)

站内搜索

没有找到内容!