寒夜雨
type: channel
link: https://www.coderlock.site/
description: Your description here.
items: 【Rethink Math】矩阵论的几何理解：广义逆矩阵
items: 【Rethink Math】矩阵论的几何理解：奇异值分解
items: 【Rethink Math】矩阵论的几何理解：线性方程组与满秩分解
items: 【Rethink Math】矩阵论的几何理解：施密特正交化与QR分解
items: 【Rethink Math】矩阵论的几何理解：矩阵分解之三角分解
items: 【Rethink Math】矩阵论的几何理解：矩阵微积分
items: 【Rethink Math】矩阵论的几何理解：范数
items: 【Rethink Math】矩阵论的几何理解：矩阵转置与酉相似
items: 【Rethink Math】矩阵论的几何理解：矩阵的相似变换
items: 【Rethink Math】矩阵论的几何理解：线性代数篇（二）

【Rethink Math】矩阵论的几何理解：广义逆矩阵
type: item
date: 2026-07-12T07:39:00+00:00
description: 呃啊！好难写！至于字母混乱，您多担待。通过之前的论述，我们知道，一个矩阵的逆矩阵就是一个线性变换的逆变换。比如一个向量$x$，经过矩阵$A$所表示的线性变换，变成$Ax$，那么再经过$A^{-1}$，就又变回了$x$。若方阵$A$可逆，那么$A^{-1}$表示与$A$相反的线性变换。向量$x$经过$A$变成$Ax$后，再经过$A^{-1}$，就能恢复为原向量：$$ A^{-1}(Ax)=x. $$同样，对任意输出向量$b$，都有$$ A(A^{-1}b)=b. $$在应用中，我们通常会求解$Ax=b$这种方程组，那么逆矩阵就相当于做了这样一件事，给定了一个线性变换$A$和变换后的向量$b$，我们要找到变换之前的向量$x$，那么一个矩阵如果没有逆矩阵，找到这个$x$就很难，我们需要想一些办法。原向量有哪几种情况？Takeaway:没有逆矩阵，那么目标向量，要么对应无穷多个原向量，1个原向量，要么对应0个原向量。为什么会没有逆矩阵？很显然，因为矩阵把很多方向压到了零向量，这样就相当于把一些维度的信息压没了，就导致没有办法逆过来运算。那么这个时候，对于不同的$b$，$x$有哪几种情况？其实只有两种情况——要么有无穷多个原向量，要么压根找不到一个合理的原向量。一个$b$对应无穷多个$x$，是由压没维度导致的。例如：$$ A= \begin{pmatrix} 1&0\\ 0&0 \end{pmatrix}. $$那么$$ A \begin{pmatrix} x_1\\x_2 \end{pmatrix} = \begin{pmatrix} x_1\\0 \end{pmatrix}. $$对于$$ b= \begin{pmatrix} 1\\0 \end{pmatrix}, $$有无穷多个解：$$ x= \begin{pmatrix} 1\\t \end{pmatrix}, \qquad t\in\mathbb R. $$因为第二个方向被完全压没了，而一个方向上有无穷多个向量，那么很显然，原向量就有无穷多个。一个$b$没有对应的$x$，还是上面的矩阵：$$ A \begin{pmatrix} x_1\\x_2 \end{pmatrix} = \begin{pmatrix} x_1\\0 \end{pmatrix}. $$它只能产生第二个分量为0的向量。所以，对于$$ b= \begin{pmatrix} 1\\1 \end{pmatrix}, $$方程$$ Ax=b $$根本无解。各种广义逆就是用不同的方法处理这两个问题。1-逆：如果$b$确实来自某个$x$，那就从多个原像中选一个。MP逆：若有多个解，就选长度最小的；若没有精确解，就找最接近的解。Drazin逆：它把线性变换分成可逆的长期部分和最终消失的幂零部分，只反转可逆部分。1-逆Takeaway:如果一个向量确实对应一个或多个原向量，1-逆就负责找出来，或者随便找一个。如果难以处理，不妨试试把矩阵简化，然后再另行处理。1-逆，通常记作$A^{(1)}$，要满足：$$ AA^{(1)}A=A $$也就是，如果$$ b=Ax, $$那么$$ A A^{(1)} b=b. $$所以 $A^{(1)}b$ 是方程$$ Ax=b $$的一个解。也就是说，如果一个$b$确实对应一个或多个原向量$x$，就找出来，或者随便找一个。「哎呀你这家伙，这哪有意思啊？那书上不是告诉你怎么算了吗？你这蠢货怎么不讲！」有读者肯定要说啦。哈哈，您别急，且听下一部分分解！1-逆的一个计算方法是这样的，设$A\in \mathbb{R}^{m\times n}_r(r>0)$，且有$S\in \mathbb{R}^{m\times m}_m$和$n$阶置换矩阵$P$，使得：$$ SAP=\begin{bmatrix}\mathbf{I_r} & \mathbf{K}\\ \mathbf{O} & \mathbf{O}\end{bmatrix}=M $$其中，$K\in \mathbb{R}^{r\times (n-r)}$，则对任意$L\in \mathbb{R}^{(n-r)\times (m-r)}$，下面这个是$A$的1-逆：$$ X=P\begin{bmatrix}\mathbf{I_r} & \mathbf{O}\\ \mathbf{O} & \mathbf{L}\end{bmatrix}S=PNS $$这个方法就是，通过初等变换把$A$变化成一个易于处理的形式，然后再考虑构造1-逆。首先，我们来看矩阵$M$，它其实把矩阵$A$拆成了两个部分，左上角是一个$r$阶单位阵，这是因为前$r$个方向是独立、有效的方向，后面的零行表示输出空间中有$m-r$个方向永远无法被$A$产生；$K$表示后面那些列可以由前$r…

【Rethink Math】矩阵论的几何理解：奇异值分解
type: item
date: 2026-07-06T07:42:00+00:00
description: 奇异值分解之所以厉害，之所以常用，是它将变换拆成了旋转-缩放-旋转三个步骤，在缩放的过程中，能够找到对形状改变最大的方向，从而舍弃一些不重要的方向。笔者在这一节会讲一些奇异值分解的应用，如果能给读者带来一点灵感，一点启发，再好不过了。朝花夕拾：酉相似与酉等价Takeaway:酉相似是酉等价一个特例。两个矩阵酉等价，表明一个形状经过两个矩阵的线性变换之后，形状是一样的，只是有了旋转/翻转。在矩阵论的几何理解：矩阵转置与酉相似一文中，我写道：酉相似的定义是，若两个矩阵$A$与$B$酉相似，就相当于存在一个酉矩阵$U$，使得：$$ A=U^*BU $$$U^*$表示$U$的共轭转置，不过我们主要讨论实数域，那么就是正交相似，存在一个正交矩阵$Q$，使得：$$ A=Q^TBQ $$这个就很好理解了，先把矩阵换到一套新的标准正交基上，也就是$Q$变换，然后在这组基下描述线性变换，也就是$B$，随后转到常用的坐标轴下，也就是$Q^T$。那么酉等价——我们讨论实数域情况，也就是正交等价——其实就是对于两个矩阵$A$和$B$，存在两个正交矩阵$Q$和$P$，使得：$$ A=Q^TBP $$其实这个公式的意思也很简单，矩阵$A$代表的变换，相当于我们先选择一组坐标系，也就是$P$变换，然后在这组坐标系下描述一下线性变换，也就是$B$，然后再换到一个坐标系下，也就是$Q^T$。当然这个过程是不改变形状的，比如一个半径为1的圆形，经过$A$和$B$的变换，都会变成同样的形状，比如一个长轴2，短轴0.5的椭圆，二者的差别无非就是旋转的角度不同罢了。那么这样的矩阵关系，就称作酉等价。酉相似是酉等价的一个特例，代表输入输出的坐标系都是同一个，酉等价则是输入和输出可以分别用不同的坐标变换。旧酒新瓶：奇异值分解Takeaway:奇异值分解将变换拆成了旋转-缩放-旋转三个步骤。奇异值分解就是将矩阵$A\in\mathbb{R}^{m\times n}_r(r>0)$，分解为：$$ A=U^T\begin{bmatrix}\Sigma & 0\\ 0 & 0\end{bmatrix}V $$的形式，其中$U$和$V$是正交矩阵，$\Sigma$是一个对角矩阵。这就相当于把一个变换拆成了旋转-缩放-旋转三个步骤。这里有一个东西叫做奇异值，奇异值就是矩阵$\Sigma$对角的元素，为什么？奇异值是什么，奇异值在书上是这么记的：设矩阵$A\in\mathbb{R}^{m\times n}_r(r>0)$，那么这个矩阵的奇异值就是$A^TA$特征值开根号。为什么？这里可以通过范数的知识来理解，我们要求缩放，就要求矩阵在一些特别方向上的缩放程度，我们通过$V$换了一组基，那么就要在这些方向上考量缩放程度。缩放，就必须是单纯的缩放，不应该掺入旋转，那么很显然，这些方向就是矩阵$A$特征方向……吗？对于这样一个矩阵：$$ \begin{bmatrix} 1 & 10 \\ 0 & 1 \end{bmatrix} $$它特征值都是1，这表明，有两个方向，变换前后方向不变，缩放倍数是1，但是这不是我们的需求，因为单位圆在这个变换中会被拉成一个很长的椭圆状图形。特征值在这里没有很好地反映“最大拉伸程度”。这里读者一定要区分：特征值关心的是某些方向是否保持方向不变；奇异值关心的是所有方向中真正的长度拉伸。那么，我们的问题就变成了：矩阵在一些方向上对向量缩放了多少倍？落到形式上，就是：$$ N=\frac{||Ax||}{||x||} $$看分子的平方：$$ ||Ax||^2=(Ax)^T(Ax)=x^TA^TAx $$那么很显然，$A^TA$的特征值就是就是伸缩长度的平方，所以开个根号，就变成了伸缩长度。具体问题：最小二乘Takeaway:奇异值分解通过把问题进行拆分，给出了最小二乘解的通用公式。最小二乘问题是什么？其形式是给定$Ax=b$，当方程没有精确解的时候，求一个$x$，让其尽可能接近真实解：$$ x=\min_x||Ax-b||^2 $$最小二乘怎么起作用？假设我们求取了$A$的奇异值分解：$$ A=U\Sigma V^T $$那么最小二乘问题变成：$$ \min_x \|U\Sigma V^Tx-b\|^2 $$因为$U$是正交矩阵，不改变长度，所以可以在范数里面左乘$U^T$：$$ \|U\Sigma V^Tx-b\| = \|\Sigma V^Tx-U^Tb\| $$令：$$ y=V^Tx,\qquad c=U^Tb $$于是问题变成：$$ \min_y \|\Sigma y-c\|^2 $$也就是说，原来复杂的最小二乘问题：$$ \min_x \|Ax-b\|^2 $$被 SVD 变成了：$$ \min_y \|\Sigma y-c\|^2 $$而 $\Sigma$…

【Rethink Math】矩阵论的几何理解：线性方程组与满秩分解
type: item
date: 2026-06-29T14:57:00+00:00
description: 这一节没什么难的，牢记秩的几何意义就可以啦！Hermite标准形 a.k.a. 行最简形Takeaway:行最简形实际上是为了在空间中找一组最简单的基。行最简形，保留了原来的零空间，但把描述这个空间的方程换成最简单的形式。正因为行最简形的作用，也就利于我们求解方程组。行最简形是什么？就是对一个矩阵$A$，如果它的秩是$r$，通常记作$A\in \mathbb{R}^{m\times n}_r(r>0)$那么对它进行初等行变换，使其变成矩阵$H$，使其满足：前$r$行每一行至少一个非零元，且第一个非零元是1，下面全是0。若$H$中第$i$行第一个非零元素1位于第$j_i$列，那么：$j_1<j_2<\cdots<j_r$$H$的$j_1,j_2,\cdots,j_r$列为$I_m$的前$r$列。那么$H$就是$A$的行最简形。举个例子吧，比如一个矩阵的行最简形是$$ \begin{bmatrix} 1 & 0 & -1\\ 0 & 1 & 2\\ 0 & 0 & 0 \end{bmatrix} $$它对应的方程是：$$ x_1-x_3=0 $$$$ x_2+2x_3=0 $$所以我们立刻能看出：$$ x_1=x_3,\quad x_2=-2x_3 $$令 $x_3=t$，得到解空间：$$ x=t \begin{bmatrix} 1\\ -2\\ 1 \end{bmatrix} $$这说明行最简形，把复杂的约束变成了主变量+自由变量的形式。至于这俩东西是什么，我们暂且按下不表。突发新闻：线性方程组Takeaway:求线性方程组的解就是求，经过线性变换后，落到目标向量的所有向量。有读者又要说啦，「你都没讲线性方程组，怎么就扯到了主变量」！好好好，现在讲——「你这蠢货，怎么现在才讲线性方程组！」——没招，行最简形和线性方程组是息息相关的，但是在矩阵论教材里，它的确被安排到了这里。Whatever，首先我们来想一想，线性方程组是什么？很简单，是这个样子：$$ Ax=b $$读过我前几篇blog/知乎文章的读者肯定会说——「嗨！我知道，这无非就是求经过线性变换后，落到目标向量的所有向量嘛！」没错！You are absolutely right!那么我们知道，线性方程组会出现三种情况——无解、唯一解和无穷多解。实际上，这对应着线性变换的三种性质，且听我慢慢道来。如果线性变换前后，没有压缩到零向量的向量，那么根据线性变换的性质，线性变换后的一个向量$b$，只对应着变换前的一个向量$x$。如果读者觉得难以理解，那就想，没有压缩到零向量的向量，那么说明空间只是扭曲了，原来的向量如果不同，那么变换之后的向量也不同——这个可以通过反证法证明。这就是说如果变换前后秩没变，就表明空间没有压缩到零向量的向量，方程组就一个解。如果线性变换前后，有压缩到零向量的向量，那么我们知道，线性变换会把一条线上的向量全压缩到零向量——这就表明，在这些方向上，随意变换，不会影响变换后的位置——这个解就是非齐次的解。但是，在没有压缩到零向量的方向上，是不可以随意变换的——这个解就是一个特解。这就是说如果变换前后有压缩到零向量的向量，方程组在压缩至死的方向上可以随意移动，但是在其他方向上不可以，所以有无穷多解，且解的结构是齐次的解+一个特解。那么无解又是什么情况？如果$b$不在$\text{Col}(A)$里，那显然是无解的，这就是为什么——当方程组的系数矩阵的秩小于方程组增广矩阵的秩的时候，方程组无解。因为$b$有了一个列空间没有的方向，压根走不到那里。回归主线：主变量与自由变量Takeaway:自由变量的个数确定解空间的维数。为了让自由变量生成的方向仍然留在解空间里，主变量必须配合出来的坐标。值得一提的是，自由变量和主变量之间，不是完全无关的，而是先对自由变量进行一个确定，然后根据自由变量的取值，主变量被限制到一个值上。举个例子。假设一个方程组化简之后变成了：$$ x_1+x_2+x_3=0 $$那我们就可以把它写成：$$ x_1=-x_2-x_3 $$现在问题来了，三个变量里面，谁可以自由选择？显然，$x_2$和$x_3$可以随便给。比如你让：$$ x_2=1,\quad x_3=2 $$那$x_1$就没得选了，它必须是：$$ x_1=-3 $$否则这个点就不在方程规定的空间里了。所以这里的$x_2,x_3$就是自由变量，$x_1$就是主变量。自由变量体现了解空间的维数，对于我们的例子，系数矩阵秩为1，那么就有两个自由变量，这表示解空间的维数就是2，也就是一个平面。读者在这里不要混淆解空间和列空间的概念，解空间实际上就是零空间，所以是自由变量确定了解空间的维数。满秩分解Takeaway:满秩分解的几何含义就是，把一个低秩的线性变换，拆成输入维度->秩维度->输出维度的…

【Rethink Math】矩阵论的几何理解：施密特正交化与QR分解
type: item
date: 2026-06-27T14:35:00+00:00
description: 正交是一个非常好的性质呀！Householder矩阵Takeaway:Householder矩阵实际上描述了关于某个超平面的镜面反射。关于某平面的镜面反射，就是保持垂直分量不变，而平行分量反向。首先给出Householder矩阵的定义，同样，我们只考虑实数域上的事情。设$u\in \mathbb{R}^n$是单位向量，那么称：$$ H=I-2uu^T $$为Householder矩阵或初等反射矩阵。当时笔者学到这里，就想，为什么这样一个公式，就表示了一个反射变换呢？实际上，书中给的这个呈现形式非常烂，笔者认为合理的定义方法是：如果一个向量$u\in \mathbb{R}^n$是一个非零向量，那么称：$$ H=I-2\frac{uu^T}{u^Tu} $$为Householder矩阵或初等反射矩阵。为什么这个形式好？或许有些读者已经看出来了——减号后面这一项，不就是投影公式嘛！考虑两个非零向量$x$和$v$，要求$x$在$v$方向上的投影，也就是求：$$ x_{\parallel}=\alpha v $$那么：$$ x_{\perp}=x-x_{\parallel} $$亦即：$$ v^Tx_{\perp}=0 $$亦即：$$ v^T(x-\alpha v)=0 $$亦即：$$ v^Tx-\alpha v^Tv=0 $$也就是：$$ \alpha=\frac{v^Tx}{v^Tv} $$哈哈，也就有了我们的投影公式：$$ x_{\parallel}=\frac{v^Tx}{v^Tv}v $$因为分子是一个标量：$$ x_{\parallel}=\boxed{\frac{vv^T}{v^Tv}}x $$框起来的不就是我们Householder矩阵减号右边的东西吗？这个东西就叫做投影矩阵，能够把向量变换为向量在$v$上的投影向量。那我们想要求一个向量关于$v$的反射，该怎么做？这里有一个事情，需要告诉各位读者，一点便通——关于某平面的镜面反射，就是保持垂直分量不变，而平行分量反向！这一点笔者不再展开，读者自己画画图就能理解。那么当Householder作用到一个向量上，就应该满足我们镜面反射的性质：$$ Hx=x-x_{\parallel}-x_{\parallel} $$那么代入上面的结果，不正是我们Householder矩阵的定义嘛！Gram-Schmidt正交化Takeaway:Gram-Schmidt正交化就是把一组不正交的向量，变成为一组互相垂直的单位向量。笔者在本科阶段，被这个东西折磨了很久，太难算了！不过笔者已经上完了所有的课程，现在可以静下心来想想这个东西到底是什么？Schmidt正交化方法的流程是这样的，对于向量组$\alpha_1,\alpha_2,\cdots,\alpha_n$，构造新的正交单位向量组：$$ \beta_1=\frac{\alpha_1}{||\alpha_1||} $$$$ \beta_2=\alpha_2-(\beta_1^T\alpha_2)\beta_1 $$$$ \cdots $$$$ \beta_n=\alpha_n-(\beta_1^T\alpha_n)\beta_1-(\beta_2^T\alpha_n)\beta_2-\cdots-(\beta_{n-1}^T\alpha_n)\beta_{n-1} $$熟悉吗？这里减去的每一项，不就是$\alpha_n$在之前各个方向上的投影吗？没错，不断选择向量，把它在前面所有已选择向量上的平行分量都减掉，最后就彼此垂直了。也就是说：新向量就是旧向量减掉它在其他方向上的投影。QR分解Takeaway:QR分解是在给一组斜的列向量重新建立一个正交坐标系。读者可能会问：「嘿，你这家伙，为什么到现在才讲Schmidt正交化？」哈哈，没错，因为Gram-Schmidt正交化本质上就是对矩阵做QR分解；也可以这么说，QR分解实际上就是Gram-Schmidt正交化的矩阵表示。QR分解就是把一个矩阵$A$，分解为一个正交矩阵$Q$和一个上三角矩阵$R$的乘积的形式。我们对矩阵$A$所有的列向量进行Gram-Schmidt正交化，就会生成一个正交矩阵$Q$，那么我们将矩阵都看作列向量的形式：$$ A=[a_1,a_2,\cdots,a_n]=[q_1,q_2,\cdots,q_n]M $$这里$M$我们暂时还不知道是什么，不过可以确定的是，我们当前做了这样一件事，我们把矩阵$A$——可以看作向量组的一种排列形式——变换到了一组标准正交基上。那么$M$就应该是列向量的坐标。那么根据Gram-Schmidt正交化方法的公式我们知道：$$ a_i=k_{1i}q_1+k_{2i}q_2+\cdots+k_{ii}q_i $$这无非是把公式进行移项而已。那么很…

【Rethink Math】矩阵论的几何理解：矩阵分解之三角分解
type: item
date: 2026-06-25T07:23:00+00:00
description: 这一章节是我觉得整个矩阵论中，最有趣的章节之一。三角矩阵的几何意义Takeaway:三角矩阵的几何含义就是按照坐标顺序，逐层发生的线性变换，也可以看作缩放变换与剪切变换的结合。二维情况下，如果对角线的元素为1，那么上三角矩阵代表一个水平剪切的线性变换，而下三角矩阵就代表着一个竖直剪切的线性变换。三角矩阵可以看作缩放变换和剪切变换的加和，那么只有缩放变换部分改变有向面积的大小，故行列式只与对角元素有关。在讲矩阵分解的第一种分解——三角分解之前，我想简要地谈一谈三角矩阵的几何意义。实际上，在我们之前谈论Jordan标准型的时候，就已经大概说明了三角矩阵的含义：首先假设我们有了一个$n$阶Jordan块，那么我们的基要满足什么样的条件——对于每一个基，向量在上面的变换，都可以看作该方向上的缩放和在前一个方向的平移分量。那么三角矩阵的几何含义其实就相当于Jordan块的一种推广，三角矩阵代表着一种按照坐标顺序，逐层发生的线性变换。您可以把它看作一种有单向依赖的结构。口说无凭，我们来举几个例子吧，首先是上三角矩阵，假设一个上三角矩阵为：$$ U=\begin{bmatrix} a & b\\ 0 & d\\ \end{bmatrix} $$当它作用在一个向量上：$$ U \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} ax+by\\ dy \end{bmatrix} $$也就是说：$$ x'=ax+by $$$$ y'=dy $$这里我们看到，新的纵轴坐标，是只由原来的纵轴坐标决定的；而新的横轴坐标，就要由原来的横轴坐标和纵轴坐标一起来决定。也就是说，如果原来的向量，高度越高，那么它对于变换之后，横轴的分量的影响可能就要稍微大一些。如果$a=d=1$，那么这个上三角矩阵就是一个典型的水平剪切矩阵，点的高度不变，但是横轴的分量却要发生改变。我们再来举一个下三角矩阵的例子，假设一个下三角矩阵为：$$ L = \begin{bmatrix} a & 0 \\ c & d \end{bmatrix} $$当它作用到一个向量的时候，比如：$$ L \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} ax\\ cx+dy \end{bmatrix} $$也就是说：$$ x'=ax $$$$ y'=cx+dy $$这次结构反过来了，这里，横轴方向的分量只由原来的横轴分量决定，但是纵轴方向的分量却由原来的横轴分量和纵轴分量一起决定。同样的，当$a=d=1$，那么向量的水平坐标不变，而竖直方向上的坐标就改变了，这就形成了一个竖直剪切矩阵。那么三角矩阵也可以看作一个对角矩阵和另一个矩阵的加和，那么对角矩阵就代表单纯的缩放变换，那么另一个矩阵就代表着不同方向上的剪切操作。那么这个看法也可以很好地帮助我们理解三角矩阵的行列式的值，只与对角线元素有关——因为只有缩放变换会影响有向面积的大小，而剪切变换不会。三角分解Takeaway:由于三角矩阵把变量拆成了有序依赖的形式，所以便利于我们求解线性方程组。LDR分解相当于把矩阵拆成了剪切-缩放-剪切的一个变换链。对于我们之前的例子，比如上三角的例子，我们发现，这很利于我们求解线性方程组，当我们求解：$$ Ux=b $$的时候，我们只需要求出$x$的最后一个元素，然后逐层往回代入即可。因为对于上三角矩阵，我们把$x$的求解，拆成了$x_1\to x_2\to \cdots\to x_n$的形式，这里的箭头代表依赖关系。我们把本来没有顺序、没有规律的变量，变成了一种有序的依赖关系。当然，很多时候，我们求解的线性方程组是：$$ Ax=b $$这里面的矩阵$A$往往不是一个上三角矩阵或者下三角矩阵，为了依靠三角矩阵的便利性，我们可以将矩阵$A$拆成两个三角矩阵：$$ A=UL $$那么当我们求解：$$ Ax=b $$的时候，就相当于求解：$$ ULx=b $$那么我们先求解：$$ Uz=b $$然后再求解：$$ Lx=z $$即可。那么把一个矩阵拆成两个三角矩阵的方法，就叫做矩阵的三角分解。三角分解这部分通常会涉及到三个分解方法：Crout分解、Doolittle分解和LDR分解，前两个分解笔者觉得没有太大意思，主要来谈一谈LDR分解。LDR分解是把一个矩阵分解为下三角矩阵（对角为1）、对角矩阵和上三角矩阵（对角为1）的乘积，那么这个分解的几何意义其实非常直观，先做一个上三角矩阵的变换，也就是水平剪切，再做一个缩放，最后再进行一个竖直剪切。LDR分解把缩放和剪切变换分隔开来，不像Crout分解和Doolittle分解那样，把两个变换揉在了一起。这样的一种——把一个变换拆成若干变换的组合——思想，我们在后面的SV…

【Rethink Math】矩阵论的几何理解：矩阵微积分
type: item
date: 2026-06-24T14:44:00+00:00
description: 推荐在知乎阅读此文。说实话我不知道怎么称呼这一章节比较好，这一章在教材中的标题就是「矩阵分析」。这一篇文章笔者写得有点吃力，高数和大物笔者学得真是不太好，如果哪里出现了错误，请指出！矩阵序列Takeaway:矩阵序列代表一串线性变换在逐渐逼近某个线性变换。如果只研究实数域，那么矩阵序列的概念是这个样子的：设有$\mathbb{R}^{m\times n}$中的矩阵序列$\{A^{(k)}\}$，其中$A^{(k)}=(a_{ij}^{(k)})_{m\times n}$，如果$\lim_{k\to+\infty}a_{ij}^{(k)}=a_{ij}(i=1,2,\cdots,m;j=1,2,\cdots,n)$，则称矩阵序列$\{A^{(k)}\}$收敛于$A=(a_{ij})_{m\times n}$，或称$A$是矩阵序列$\{A^{(k)}\}$的极限，记作：$$ \lim_{k\to+\infty}A^{(k)}=A $$不收敛的矩阵序列称为发散。如果读者静下心来观察这个概念，就会很轻易地通过，我在第一篇文章中给出的矩阵的理解方法，来理解这个概念：在实现中，我把标量、向量和张量都看作一个一维数组，它们的形状也就是说，它们是且仅是数字的组合方式而已。没错，矩阵序列在代数上，似乎可以看成是 $mn$ 个标量数列的共同收敛。当然，这样理解有点太没意思了，不够直观，我们想想几何层面，矩阵序列代表什么含义？贯穿我们整个系列始终的一个概念便是矩阵的概念——矩阵代表线性变换。在很多时候，我们的向量可能要经过多次的变换，只有一次变换，可能并不足以满足我们的要求。比如优化算法，需要经过多次矩阵的乘法。Whatever，这些过程可以抽象为：$$ x_{k+1}=Ax_k $$那么也就是：$$ x_k=A^kx_0 $$几何上就是研究这样一件事情：一个向量，经过多次相同的线性变换后，会到哪个位置？这通常代表矩阵内部元素有幂级数的场景。举个例子，比如一个简单的缩放变换：$$ A=\begin{bmatrix}\frac{1}{2} & 0 \\ 0 & \frac{1}{3} \end{bmatrix} $$那么，我们就可以通过矩阵序列的形式，研究多次经过这个变换后，会到哪个位置，我们就可以把微积分那一套拿过来：$$ A^{(k)}=\begin{bmatrix}(\frac{1}{2})^k & 0 \\ 0 & (\frac{1}{3})^k \end{bmatrix}\to \begin{bmatrix}0 & 0 \\ 0 & 0 \end{bmatrix} $$也就是说，经历无穷多次变换后，所有的变量都会变成零向量。这也很好理解，不停缩小，不停缩小，最后就是零向量。矩阵序列完全可以通过微积分那一套来理解，笔者的理解就是，把高等数学的知识拿到了矩阵层面。矩阵级数Caution:呃啊，笔者高等数学级数这一部分学得很差，这一节可能会出现很多错误。Takeaway:矩阵级数代表许多线性变换的累积效果。矩阵级数的收敛，代表矩阵级数代表的变换，最终效果很稳定，而绝对收敛，代表矩阵每一步的影响也有限。首先我们来举一个例子，来表示为什么矩阵级数是有必要的。一个比较恰当的例子是在反馈系统中，系统状态$x$可能是外部输入$b$和内部反馈$Ax$组成的，反馈可能产生很多次，那么就产生了：$$ x_k = (I+A+A^2+A^3+\cdots)b $$这里就产生了类似级数的结构。还有什么有意思的东西呢……嘿，有啦！我们知道在高等数学里是有绝对收敛的概念的，那么到矩阵级数这里也是通用的，矩阵级数收敛，不仅要求$\sum_{k=1}^\infty A_k$收敛，也要求$\sum_{k=1}^\infty ||A_k||$收敛，那么这是什么意思？矩阵级数收敛，很简单，那就是一个向量，经过所有线性变换后，得到的结果是稳定的。那么绝对收敛呢？我们知道，矩阵范数的几何含义是对单位向量最多能造成多大的位移/拉伸效果。那么，如果矩阵范数的级数也收敛，就表示，每一步的缩放倍数，或者说是影响程度，的加和，也是有限的。举个例子，一个收敛且绝对收敛的例子：$$ A_k=\frac{1}{2^k}I $$那么：$$ \sum_{k=1}^\infty A_k=\sum_{k=1}^\infty \frac{1}{2^k}I $$它代表着沿着标准基方向，不断缩小一半，所有这样的影响的加和，这当然是很稳定的，也就是普通收敛，而且每一步也不会产生特别大的影响，所以也是绝对收敛。那么我们举一个普通收敛，但不绝对收敛的例子：$$ A_k=\frac{(-1)^k}{k}I $$这个级数普通收敛，这是因为正负方向的变化不断抵消，但是每一层变换本身的影响强度，加起来实际上是无限大的。按照高等数…

【Rethink Math】矩阵论的几何理解：范数
type: item
date: 2026-06-23T08:07:00+00:00
description: 范数这里感觉轻松不少，因为范数天然就是和几何联系在一起的。理解范数要比理解矩阵转置的含义要简单得多。向量范数Takeaway:向量范数用于衡量向量的广义长度以及向量之间的距离。向量范数必须满足的性质，在一定程度上可以体现为满足距离本身的直觉、尊重向量的数乘运算、尊重向量的加法运算。$p$-范数中的$p$不断增大，代表向量最大分量的权重不断提升。在日常情况下，距离似乎是个很浅显的东西，如果想要测量哈尔滨到北京的距离，只需要在地图上测量一下两点之间的线段长度，然后根据比例尺缩放即可，这相当于我们测量了一个从哈尔滨到北京的向量的长度。如果我们坐直达飞机，那么距离很有可能和这个向量的长度差不多，可是，我们想要从哈尔滨步行走到北京，要走的距离往往远大于这个测量的长度。这两个城市之间有高山，有河流，我们很多时候没有办法直接朝着目标的方向行走。那么，也就是说——对于不同的实际情况，我们可能需要不同的测量距离的方式。落到抽象的矩阵论的角度也是一样，两个向量之间的距离，可能需要多种的测量方法，那么不同的测量方法，就叫做不同的范数。我们拿一个抽象向量来举例子：$$ \vec{x}=(x_1, x_2, \cdots, x_n) $$当然，一个向量的长度也可以看作零向量和这个向量之间的距离，whatever，对于我们的例子，一个很朴素的测量长度/距离（下面统称为距离）的方法就是应用欧几里得距离，也是2-范数的计算方法：$$ ||x||_2=\sqrt{x_1^2+x_2^2+\cdots+x_n^2} $$它就相当于我们开头所说的「直线距离」，比如二维空间中的一个向量$(3,4)$，其直线长度就是5，也就等于这样计算出来的欧几里得距离。这当然是一种衡量距离的方法，如果我们只能沿着坐标轴行走，那么就又有一种衡量距离的办法：$$ ||x||_1=|x_1|+|x_2|+\cdots+|x_n| $$这就是曼哈顿距离，也就是1-范数的计算方法。这个方法也相当于测量向量在不同基上的分量，把所有的分量加和作为最终的长度。到这里，我们只需要理解——范数是一种衡量距离的方法。当然，衡量距离的方法有很多，不过需要满足几个性质：非负性：距离不能是负的，且只有零向量长度为0，亦即$||x||\geq 0$。齐次性：距离的衡量必须兼容向量的数乘运算，向量拉伸了多少倍，那么范数也需要变为原来的多少倍。亦即$||\lambda x|| = |\lambda|\cdot||x||$。三角不等式：直接走不会比绕路更长，亦即$||x+y||\leq ||x|| +||y||$。笔者对于这三点的理解分别是——满足距离本身的直觉、尊重向量的数乘运算、尊重向量的加法运算。对于第三点，如果分开走比直接走还要短，那么这不算是一种距离，而是一种很奇怪的度量方法。满足这三点的度量，就可以称作一个向量范数。那么，不同的向量范数，落在几何层面，又是什么样子呢？同样，我们以二维空间的不同范数形状来理解。范数本身没有形状，我们要想理解它，就只能从等值线的角度入手，对于1-范数，也就是我们之前提到的曼哈顿距离，它在几何角度是这个样子：图里展示了标准二维xOy坐标系下，1-范数为4的等值线，它是一个菱形。对于2-范数，长这个样子：它是一个圆，哈哈，这很符合我们日常的理解，从一点算起，距离相等的地方，就形成了一个球，那么二维空间就是一个圆，很合理！值得一提，这些形状都是凸的，这也是三角不等式在几何层面的体现！敏锐的读者可能看出来了，这两个范数有一些共性，计算方法貌似差不多，都是先给分量提升次数，然后加和统一开方。的确如此，不同的范数，可以总结为$p$-范数，其公式为：$$ ||x||_p=\sqrt[p]{x_1^p+x_2^p+\cdots+x_n^p},p\geq 1 $$这个公式不仅覆盖了我们的1-范数和2-范数，也覆盖了后面无限多个范数，那么这些范数在几何中又是什么样子？就请读者自行画画看，3-范数是一个圆角方形。随着$p$无限变大，当$p$趋向于无穷的时候，这个形状会逐渐偏向于一个正方形——这个正方形所代表的范数我们就叫做$\infty$-范数，当然，你也可以从$||x||_p$的公式中推出它的定义：$$ ||x||_\infty = \max_i|x_i| $$无穷范数的含义很简单——给出向量最大的分量。到这里，很多文章的讨论就结束了，当然笔者认为到这里是不太够的，凭什么$\infty$-范数就是取出最大分量？其实这部分理解已经隐含在之前$p$变大的描述中了，$p$不断变大，等值线不断外推，注意到什么了吗……不过，这里笔者的理解是数值性的：$$ ||x||_p=\sqrt[p]{x_1^p+x_2^p+\cdots+x_n^p},p \geq 1 $$我们的公式中，首先给每个分量提升次数，那么在…

【Rethink Math】矩阵论的几何理解：矩阵转置与酉相似
type: item
date: 2026-06-20T06:26:00+00:00
description: 推荐在知乎阅读此文矩阵的转置是我认为最难以从几何上理解的线性代数的概念之一。矩阵论的很多内容就是实数域上的概念到复数域上的推广，我想，我只需聚焦于实数域上的概念即可。矩阵的转置Takeaway:矩阵的转置就是把测量方向当作变换方向。测量方向就是等值线的法线方向，就是等值线变换最快的方向。在研究矩阵的转置的几何意义之前，我们先来看一下矩阵乘法到底做了一件什么事情。我们依旧考虑二维方阵的情况：$$ \begin{bmatrix}1 & 0 \\ 1 & 1\end{bmatrix}\times \begin{bmatrix}3\\ 4\end{bmatrix} = \begin{bmatrix}3 \\ 7\end{bmatrix} $$等号右边两个数分别代表什么含义？上面的这个3实际代表向量(3,4)在(1,0)方向上的点积，下面的这个7就代表向量(3,4)在(1,1)方向上的点积。通过之前的讨论我们知道，A向量与B向量的点积不一定等于投影长度，而是相当于A向量在B向量方向上的投影乘以B向量的长度，并且点积的操作是满足交换律的。那么这样的每一行，就形成了一种我们看待向量在不同方向上点积的一种视角，我们不妨把行向量所代表的方向看作一种测量方向。那么矩阵的转置就相当于把测量方向变作了变换方向。我们再进一步考察一下测量方向这个东西到底是什么。我们接着举一个例子：$$ \begin{bmatrix}1&2 \\ 3 & 4\end{bmatrix}\times\begin{bmatrix}a \\ b\end{bmatrix}=\begin{bmatrix}a+2b \\ 3a+4b\end{bmatrix} $$这里我们其实规定了两个测量方向：$$ y_1 = a+2b\\ y_2 = 3a+4b $$在这些方向上，会形成等值线，当$y_1$和$y_2$分别固定的时候，我们就有了等值线。它们的含义是：在同一条直线上的所有点，经过某一行向量的测量后，得到的值都相同。那么行向量是什么方向呢？很显然就是等值线变化最快的方向，也就是等值线的法线方向。行向量是和这些等值线是垂直的。所以，矩阵的每一行都可以这样理解：它画出了一套等值线。行向量本身那就是这套等值线的法线方向，也就是测量值增长最快的方向。总结一下，原矩阵在变换基向量的基础上，也暗含了用行向量在输入空间中铺设等值线这样一个变换；转置矩阵则把这些等值线的法线方向拿出来，当作新的生成方向来组合。事到如今，我们知道了转置在方阵上的含义，那么非方阵呢？其实只需要一句话来表示——行向量在输入空间里，负责测量输入；列向量在输出空间里，负责生成输出。一个瘦高矩阵，输入维度少，输出维度多，可以理解对输入做更多次测量，得到更多个数字。反之也可以同理理解。正交矩阵Takeaway:正交矩阵代表一类不改变长度、角度和形状的线性变换。首先给出正交矩阵的概念，一个正交矩阵记录为$A$，其必满足：$$ A^T=A^{-1} $$这一类矩阵的理解，我想直接通过其表示的变换展开，逐步推出它的定义。正如Takeaway里面说的，正交矩阵正交矩阵代表一类不改变长度、角度和形状的线性变换——也就是只有旋转和镜面反射变换。那么，这就表示，坐标系的网格，在变换前后，形状、大小是完全不变的。那么，这要求选择的基必须要长度都为1，必须也要都彼此垂直，假设我们的基是$p_1,p_2,\cdots,p_n$，那么我们就必须要有：$$ p_i\cdot p_j=0,i\neq j, \forall i,j\in[1,n] $$以及：$$ \text{Length}(p_i)=1,\forall i\in[1,n] $$这里我们还没引入范数的概念，那么就先用Length来表示吧，其实Length就是向量的坐标值每一个分量的平方和开根号。那么根据$A$矩阵所代表的线性变换类型，每一个等值线的法线方向，也是彼此垂直的，亦即——该矩阵的行向量也是彼此正交的。通过转置矩阵的含义我们知道，行向量是测量方向，是等值线增长最快的方向，那么其长度就是增长的速度，在标准坐标系下，你会发现每条坐标轴上的变化量，都是单位1的，那么该矩阵的行向量长度也是1，也就是说，$A$矩阵的转置矩阵$A^T$，也代表了一类不改变长度、角度和形状的线性变换。这么写，我自己看都难以理解，我们形式化表达一下，假设：$$ A=(p_1,p_2,\cdots,p_n) $$那么这就相当于把标准坐标系的第一个轴挪到$p_1$，第二个轴挪到$p_2$，……。每一个轴都和其他轴垂直，每一个轴上的单位刻度都是1。好，我们随便放一个向量：$$ Ax = x_1p_1+x_2p_2+\cdots+x_np_n $$那么每一个向量的长度是：$$ (x_1p_1+x_2p_2+\cdots+x_np…

【Rethink Math】矩阵论的几何理解：矩阵的相似变换
type: item
date: 2026-06-19T07:01:00+00:00
description: 推荐到知乎阅读此文。到这里我们就正式进入矩阵论的环节了，笔者参考的教材是《矩阵论简明教程（第三版）》。这一部分没有很好的参考资料，几何理解基本上都是笔者自己想的，如果有误，欢迎在评论区指出，我们一起学习，共同进步。相似矩阵Takeaway:相似矩阵描述了同一个线性变换在不同基下的表示。我们之前的视角是，把一个标准基下的向量$\vec{a}$通过变换$A$，变成一个新的向量$\vec{b}$。那么同样的变换$A$，用另外一组基来描述，是什么样子呢？也就是说，我们有一组标准基下的变换方式，要通过某种方法，求它在另一组基下的矩阵表示。举个例子，比如标准基下顺时针旋转90°的变换，用矩阵描述就是$A=\begin{bmatrix}0 & 1\\ -1 &0\end{bmatrix}$，那么标准基下的向量(1,1)，经过变换，就变成了标准基下的(1,-1)——这是我们之前就讨论过的内容，那么假设同样的一个向量，但是选的基不同，其坐标也会改变，比如选取基(1,0)和(1,1)，那么这个向量的坐标就变成了(0,1)，那么最终的变换结果，就应该是(2,-1)，很显然，我们之前的$A$没法在这组基上表示同样的变换，那么我们该怎么求？我们可以这样，我们首先把标准基下的坐标变到另一组基上，那么这一步变换就相当于做了一次线性变换：$$ Px=y $$这里$P$是线性变换，用来把标准基下的坐标转化为另一组基下的坐标，$x$是标准基下的坐标，$y$是另一组基下的坐标，这两个坐标实际上是描述了同一个向量。假设我们已知了另一组基下的相同线性变换的表示方法，记作$B$，那么在另一组基下，这个向量经过变换就变成了$By$，那么我们最后要求的是这个向量在标准基下的坐标，所以需要把基再变回来，就得到了$P^{-1}By$，那么又因为$Px=y$，所以这个向量最终变为了标准基下的$P^{-1}BPx$向量，这个变换和标准基下的$A$变换实际执行了同一个效果，那么我们就称$A$和$B$相似，也就是：$$ Ax=P^{-1}BPx $$相似对角化Takeaway:相似对角化也就是把一个矩阵所代表的线性变换，表达为另一组基下的缩放变换。相似对角化要求一个矩阵的线性无关的特征向量的数目，和阶数相等。相似对角化的对角矩阵为特征值组成，两个矩阵分别由特征向量变换得来。在讲相似对角化之前，我们先想想对角矩阵做了一件什么事情。我们依旧从标准坐标系xOy入手，这个坐标系下最常用的一组基是(1,0)和(0,1)，那么对角矩阵$\begin{bmatrix}a & 0 \\ 0 & b\end{bmatrix}$，就相当于把每个向量，x轴的分量，拉伸为原来的$a$倍，y轴方向拉伸为原来的$b$倍。这种变化改变了向量的方向，但也只是把向量的不同方向的长度进行缩放了，这样我们就可以一定程度上简化运算。在相似对角化之前，我们还需要在脑子里装上这样一件事——如果一个变换可以看作在另外一组基下的缩放，那么这个变换满足什么条件？这个条件也就是相似对角化的条件。那么，对于一个矩阵，我们可不可以在另一组基下，进行缩放，再变换回来呢？进行这样一件事，就是对一个矩阵进行相似对角化，即：$$ A = P^{-1}\text{diag}(\cdots)P $$现在问题就来了，我们的这组基该怎么找？如果找到了这组基，每个基方向上的缩放倍数又该如何确定？一个很显然的想法是，我们可以利用特征值和特征向量来完成这件事！因为特征向量是线性变换前后，不变的那些方向，而特征值恰好是缩放的倍数！好的，回到我们之前的问题，特征值和特征向量，满足什么条件，才可以相似对角化？一个很直觉的想法就是——线性无关的特征向量应该足够多，更准确地说，如果$A$是一个$n$阶矩阵，那么我们需要找到$n$个线性无关的特征向量。只有这样，这些特征向量才能组成整个$n$维空间的一组基。如果特征向量不够多，就说明我们找不到一整套坐标轴，使得每条坐标轴在变换之后仍然落在自己原来的方向上。此时这个变换就不能完全解释成“沿若干个方向分别缩放”。比如二维空间，如果只有一个线性无关的特征向量，那么这就说明，只有落在那个特征方向上的向量，才会被单纯缩放；其他方向上的向量会被拖拽、剪切或被进行一些其它的变换，不能作为独立缩放方向。到这里我们也很容易看出一个推论——如果一个矩阵有$n$个互不相同的特征值，那么它一定能相似对角化。这是因为，特征值代表某个方向上的缩放倍数，那么缩放倍数不同，那么方向也一定不同，那么这些特征向量一定是线性无关的。到这里，我们也可以得出相似对角化的计算方法，首先计算出特征向量，然后把特征向量看作新的一组基，然后在这组基上，把每个特征向量对应的特征值当作对角元素构建对角矩阵，这就确定了不同方向上缩放的倍数，最后再把坐标变回标准基下的坐标，就完成了…

【Rethink Math】矩阵论的几何理解：线性代数篇（二）
type: item
date: 2026-06-17T06:42:00+00:00
description: 线性代数势必要从几何层面理解，否则难以捕捉其妙处。推荐在知乎阅读本文这一部分的内容参考了3B1B的「线性代数的本质」一作品，加入了很多笔者自己的想法。逆矩阵、秩、列空间和零空间Takeaway:矩阵相乘代表线性变换的复合。逆矩阵将某矩阵变换得来的向量，变回标准基。一个空间的维度，就是这个空间中任意一组基所包含的向量个数。矩阵的秩就是指线性变换后的空间的维度。列向量张成的空间就是矩阵的列空间。零空间就是所有被矩阵 $A$ 压到零向量的输入向量组成的空间。列空间是变换保留下来的维度，零空间是变换压没的维度，二者之和为原维度。上期我们说到，矩阵代表的是一种变换，一种基的替换。那么将这种变换变回标准坐标系、标准基的变换，就叫做该矩阵的逆矩阵。我们先不仔细想这句看起来很冗长的话，我们先来考虑简单的情况，也就是——两个矩阵相乘代表什么？举个例子：$$ \begin{bmatrix}2 &0\\ 2&6\end{bmatrix}\times\begin{bmatrix}1&2\\3& 4\end{bmatrix}=\begin{bmatrix}2&4\\ 20&28\end{bmatrix} $$我们依旧认为矩阵代表线性变换，那么两个矩阵相乘，就代表两个变换的复合。举个例子，向量$\begin{bmatrix}1\\ 0\end{bmatrix}$经过等式左右侧的变换，结果是一致的。这里我们通常规定，先经历最右边的变换，再逐步进行左侧的变换，因为我们会通常写作$ABx=y$的形式，那么就先做$B$的变换。那么这样，我们就会发现一种特殊的变换复合，即复合之后相当于什么都没变：$$ \begin{bmatrix}2 &0\\ 2&6\end{bmatrix}\times\begin{bmatrix}\frac{1}{2}&0\\ -\frac{1}{6}& \frac{1}{6} \end{bmatrix}=\begin{bmatrix}1&0 \\ 0 & 1\end{bmatrix} $$那么这对应着，这两个矩阵所代表的线性变换，是彼此互逆的，就称作两个矩阵互为彼此的逆矩阵。也就是说，一个标准基下的向量经过这两次变换之后，还是原来的向量本身。那么为什么行列式等于0的矩阵没有逆矩阵呢？还记得我们上期提到的吗——行列式衡量变换前后有向面积的变化。如果行列式等于0，就表明一个形状在当前维度中没有面积，也就是降维了。很显然，无法通过一个线性变换将一个点变成一条线、一条线变成一个平面——这样的不存在性质导致了行列式为0的矩阵没有逆矩阵。更进一步地讲，一条线变成一个平面，相当于把线上的一个向量，变成了空间中的若干向量，这很显然是不可能通过线性变换做到的。那么我们如何评估降到了多少维呢？通过秩来衡量。我们先不直接触及这个概念，先从几何上考虑一下，降到多少维是什么意思，空间的维度是什么意思？如果是一维，那么说明向量可以在一个方向上自由延展；二维就是向量可以在两个方向自由延展。一个空间的维度，就是这个空间中任意一组基所包含的向量个数。一维空间就是数轴，我们需要一个向量就足以描述这个空间了；二维空间就是平面，两条线确定一个平面，那么我们需要两个向量来描述这个空间，所以是二维。矩阵的秩就是指线性变换后的空间的维度。如果秩为1，就表明变换将一个空间压缩到了一个数轴上；如果是2，就表示变换将空间变成了一个平面上。当我们把矩阵看作列向量的时候，它的秩就是这些列向量中的最大线性无关组的元素个数，也就是在这些列向量中找到一组列向量，它们之间线性无关，并且成员数是能找到的最大的。为什么这两个相等？因为最大线性无关组的成员个数，就表示这些向量最多能够在几个独立方向上产生贡献，表示矩阵变换后的空间最多能够在几个独立方向上延伸——这就是维度的概念。在线性代数的教材上，我们通常会采用阶梯消元法，也就是把矩阵化作行阶梯型，然后通过查非零行的个数获得秩。这是因为，每一行都有一个主元，这个主元代表了变换能够在新的方向肆意延伸。而一个主元对应一个非零行。到这里我们可以继续引入一个列空间的概念，我们将矩阵看作一种变换——把标准基换作矩阵的列向量，那么这些列向量张成的空间就是矩阵的列空间。形式化表达就是任意取一个向量$\vec{x}$，所有可能的$A\vec{x}$的集合，就是列空间了。通俗一点解释，就是原空间的所有向量，都经过$A$矩阵所表示的变换，变换后有一个能够覆盖到的区域，这个区域就叫做列空间：$$ \text{Column}(A)=\{y|Ax=y,\forall x\} $$当然，变换后，可能有很多向量被压缩到了零向量，那么这些输入向量的集合就叫做零空间：$$ \text{Null}(A)=\{x|Ax=0\} $$我们来仔细想一想这两个空间之间的联系。列空间是什么？其实就是变换之…