当前位置:网站首页>线性代数学习笔记3-1:矩阵与线性变换、常见矩阵(逆矩阵、伴随矩阵、正交矩阵等)
线性代数学习笔记3-1:矩阵与线性变换、常见矩阵(逆矩阵、伴随矩阵、正交矩阵等)
2022-08-02 03:11:00 【Insomnia_X】
说明:接下来的内容,主要以二维空间举例说明,便于想象,理解后很容易推广到三维空间的情况
线性变换
之前说过,线性映射就是把向量映射成向量;而当线性映射发生在同一坐标系中,称为线性变换
“变换”就是“函数(映射)”,“变换”这个说法,暗示以运动的观点来可视化函数的输入-输出关系
变换的可视化
经过某个线性变换后,为了实现“可视化”(清楚地看出原来的点“变换”到了什么位置),我们同时考虑原空间中的所有向量,并用运动的视角观察其变换
tips. 之前提过的技巧是,向量过多时,为避免过于混乱,此时简单用一个点代表一个向量,以便追踪变换前后的相对位置
最后,我们再把一个个点连成线,线和线交错为网格,观察网格的变化,就把握了整个空间(包括坐标轴)的线性变换
复杂的变换常给人挤压和变形空间的感觉(例如复数域的 f ( z ) = e z f(z)=e^z f(z)=ez等变换,图中白线为原来的x和y坐标轴)
好在线性代数中只研究特殊类型的变换——线性变换
线性变换
之前提过线性的含义:①可加性②比例性
由此很容易得到线性变换的特性:①变换后原点位置不变②空间中任意直线在变换后仍为直线
最终,线性变换可以简单理解为“原点不变,且保持各网格线平行且等距分布”的变换,这是线性性(可加性和齐次性)在二维空间中的体现
矩阵:表示线性变换的工具
如何定量表示某种线性变换?
实际上,只要知道变换后的基向量 i \boldsymbol i i和 j \boldsymbol j j对应在原坐标系下的新坐标,即可唯一表征一种线性变换
原理:一个线性变换,由它对基向量的作用唯一确定(其他的一般向量,跟随着基向量的变换而变换)
理解:
向量v在变换前为 v = a i + b j \boldsymbol{v=ai+bj} v=ai+bj,则变换后为 v ′ = a i ′ + b j ′ \boldsymbol{v'=ai'+bj'} v′=ai′+bj′
也即:任意向量是基向量的线性组合,由于是线性变换(可加性和比例性),变换后仍有相同的线性组合关系(用于缩放基向量的标量是相同的)
ps. 之前说过,“标量”就是指向量中的一个个数字,我们将其视为对基向量的缩放因子
由此可得:
一个线性变换可以通过它对基向量的作用来完全描述
(从而矩阵向量乘法才有了合理性,因为变换前的任意向量都是基向量的线性组合,故变换后的任意向量也是变换的基向量的线性组合)
这就是说,在基向量 i = [ 1 0 ] \boldsymbol i=\begin{bmatrix}1&0\end{bmatrix} i=[10]和 j = [ 0 1 ] \boldsymbol j=\begin{bmatrix}0&1\end{bmatrix} j=[01]下如果向量 v = [ x y ] \boldsymbol v=\begin{bmatrix}x&y\end{bmatrix} v=[xy]
又知道,经过线性变换后,两个基向量变为变为 i ′ = [ a c ] \boldsymbol i'=\begin{bmatrix}a&c\end{bmatrix} i′=[ac]和 j ′ = [ b d ] \boldsymbol j'=\begin{bmatrix}b&d\end{bmatrix} j′=[bd]
那么,向量 v \boldsymbol v v在线性变换后的新坐标为(注意,这里的坐标仍然是基于原坐标系) v ′ = x i ′ + y j ′ = x [ a c ] + y [ b d ] = [ a x + b y c x + d y ] \boldsymbol v'=x\boldsymbol i'+y\boldsymbol j'=x\begin{bmatrix}a\\c\end{bmatrix}+y\begin{bmatrix}b\\d\end{bmatrix}=\begin{bmatrix}ax+by\\cx+dy\end{bmatrix} v′=xi′+yj′=x[ac]+y[bd]=[ax+bycx+dy]
这正是矩阵乘法!
如图,矩阵向量相乘,几何意义就是:
任意向量做线性变换,就是基向量做线性变换,然后再(根据原来的坐标缩放)叠加
另外注意,上图告诉我们:计算矩阵乘法有两种方式,手算时显然用第一种”列向量的线性组合“更容易计算
- 矩阵与向量的乘法,可以理解为矩阵各个列向量的线性组合
- 同样的,1 x m的行向量,与m x n的矩阵相乘,可以理解为矩阵各个行向量的线性组合
这样的观点非常重要,一定要习惯将矩阵线向量乘法视为向量的线性组合
矩阵
由上可知:
我们将基向量在变换后的新坐标作为列向量放置,构成一个矩阵,这个矩阵就对应了整个抽象的线性变换过程
矩阵对应一个线性变换
给出线性变换对应的矩阵,就知道了任意向量经过线性变换后的新坐标,具体做法是矩阵与列向量相乘
线性变换对应一个矩阵
反过来,给出某线性变换对应的矩阵,我们也能从列向量中读出坐标轴经历的变换,又由于是线性变换,我们就进而了解了整个空间中发生了怎样的变换
- 矩阵的第一列的列向量,就是基向量 i ′ \boldsymbol i' i′的新下标,第二列的列向量,就是基向量 j ′ \boldsymbol j' j′的新下标
例如,这样的矩阵表示,基向量 i ′ \boldsymbol i' i′的新下标为(1, 0),基向量 j ′ \boldsymbol j' j′的新下标为(1, 1),在原来的直角坐标系下画出,可以看出这是一种剪切/切变变换
对线性变换的理解
- 注意,这里我们用矩阵乘以原来的列向量,得到的新向量的坐标是在原坐标系下的坐标,可以用它与原向量的坐标进行对比,看出两者在同一坐标系下的相对变换,由此我们把线性变换理解为“坐标系不变,但是向量的坐标发生改变”;
- 我们发现,这里虽然基向量(坐标系)变了,但线性变换后,向量在坐标系中的相对坐标不变(仍使用原来的标量),这就是说,线性变换也可理解为“向量仍是那个向量,但线性变换后坐标轴变了”
总结:线性变换两个含义是,变换空间里的向量,空间坐标系不变;或者变换坐标系而向量不变。两者是相对的,结果等价
另:矩阵列线性相关的线性变换——降维
如果线性变换的矩阵中,列线性相关,就说明经历该线性变换后,整个空间维度降低(具体而言,变换后的新基向量的张成空间span的维度比原来低)
例如,原来是二维空间,如果矩阵中列向量线性相关,等价于变换后新的基向量线性相关,即它们在一条直线上,那么整个张成空间就是一条线了(维度从二维降低为一维)
矩阵与矩阵相乘的意义
前面知道了,矩阵与向量相乘,代表向量经历了某种线性变换,从一个向量变换到另一个向量
那么,矩阵之间的乘法,又代表什么?
考虑相继发生的两次线性变换,第一次为旋转变换,第二次为剪切/切变变换。
它们总体的等效线性变换是怎样的呢?
我们将变换分开来处理:①首先用旋转变换的矩阵左乘原向量,得到新向量(中间结果);②再用切边变换的矩阵左乘中间结果,就得到最终的新向量
当然,也可以定义矩阵的乘法,先将两个矩阵相乘,用得到的新矩阵同样可以代表这两次变换的总体等效变换(理解:右边的第一个矩阵,给出第一次变换后的基向量坐标,我们对其进行第二次变换,就可以得到基向量经过两次变换后,最终的坐标)
可见,矩阵相乘的意义是,两个线性变换的相继作用(连读变换坐标系)
注意:最先发生的变换,其对应的矩阵要放在右边,因为先发生的变换,应该优先与右侧的那个列向量结合
几类特殊的矩阵
有一些矩阵,其对应的线性变换较为特别
单位矩阵 I \mathbf I I
在线性变换后,感觉“什么也没做”,对应的矩阵就是 单位矩阵 I \mathbf I I
(从列向量观点来看,什么也不做的变换,那么其“变换”后的各个基向量坐标与原来相同,列向量放置后得到的矩阵仅对角线上元素为1,其余元素都为0)
逆矩阵 A − 1 \mathbf A^{-1} A−1
应用 矩阵 A \mathbf A A,发生某个线性变换后,空间会被拉伸/压缩变形;
我们进行“逆变换”,在变换后,将其恢复到原状,对应的矩阵就是逆矩阵 A − 1 \mathbf A^{-1} A−1
总体而言,两次变换的总效果是“什么也没做”,即 A A − 1 = I \mathbf A\mathbf A^{-1}=\mathbf I AA−1=I
伴随矩阵
而伴随矩阵与逆矩阵密切相关,两者之间只差一个系数 d e t ( A ) = ∣ A ∣ det(\mathbf A)=|\mathbf A| det(A)=∣A∣
而伴随矩阵 A ∗ \mathbf A^* A∗可以直接从原矩阵 A \mathbf A A求出:伴随矩阵的每个元素就是原矩阵 A \mathbf A A对应位置上的元素原矩阵 a i j a_{ij} aij的代数余子式(划去本行本列后的矩阵的行列式)
则逆矩阵为 A − 1 = A ∗ ∣ A ∣ \mathbf A^{-1}=\frac{\mathbf A^*}{|\mathbf A|} A−1=∣A∣A∗
注意, d e t ( A ) = ∣ A ∣ = 0 det(\mathbf A)=|\mathbf A|=0 det(A)=∣A∣=0(不满秩)时,逆矩阵不存在,意义是:由于原变换为压缩维度的变换,不存在对应的反向升维的矩阵(一对多映射就不是函数了)
伴随矩阵的几何意义:伴随矩阵在几何空间的意义
奇异矩阵
方阵 A \mathbf A A满足 d e t ( A ) = 0 * A det(\mathbf A)=0\iff\mathbf A det(A)=0*A为奇异矩阵 * A \iff\mathbf A *A不是可逆矩阵
否则, A \mathbf A A为非奇异矩阵
正交矩阵
方阵 A \mathbf A A满足 A T A = A A T = E \boldsymbol{A}^{\mathrm{T}} \boldsymbol{A}=\boldsymbol{A} \boldsymbol{A}^{\mathrm{T}} =\boldsymbol{E} ATA=AAT=E,也即 A − 1 = A T \boldsymbol A^{-1}=\boldsymbol A^{\mathrm{T}} A−1=AT,称为正交矩阵
另外对于复矩阵有以下的概念推广:
复共轭转置/Hermite转置
A H = ( A ˉ ) T \mathbf A^{H}=(\bar{\mathbf A})^{\mathrm{T}} AH=(Aˉ)T
Hermite矩阵
理解为对称阵的复数推广
- A H = A \boldsymbol A^{H}=\boldsymbol A AH=A,矩阵 A \mathbf A A为Hermite矩阵
- A H = − A \boldsymbol A^{H}=-\boldsymbol A AH=−A,矩阵 A \mathbf A A为反Hermite矩阵
酉矩阵
理解为正交矩阵的复数推广
方阵 A \mathbf A A满足 A H A = A A H = E \boldsymbol{A}^{\mathrm{H}} \boldsymbol{A}=\boldsymbol{A} \boldsymbol{A}^{\mathrm{H}} =\boldsymbol{E} AHA=AAH=E,也即 A − 1 = A H \boldsymbol A^{-1}=\boldsymbol A^{\mathrm{H}} A−1=AH,称为酉矩阵
正规矩阵
其限制比 正交矩阵 弱一些
- 方阵 A \mathbf A A满足 A A H = A H A \boldsymbol{A} \boldsymbol{A}^{\mathrm{H}}=\boldsymbol{A}^{\mathrm{H}} \boldsymbol{A} AAH=AHA,称为正规矩阵
- 方阵 A \mathbf A A满足 A A T = A T A \boldsymbol{A} \boldsymbol{A}^{\mathrm{T}}=\boldsymbol{A}^{\mathrm{T}} \boldsymbol{A} AAT=ATA,称为实正规矩阵
补充说明:非方阵的情况
之前只讨论了方阵,但对于非方阵也是相同的道理:
比如一个3x2的矩阵
- 它有两列,代表变换前的基向量只有两个
- 每个列向量有三行,代表变换之后的基向量,其坐标是三维的(变换后的基向量用三个独立坐标来描述)
注意,这里不要认为是从二维到三维的“升维”:
- 函数(映射)不可能做到升维(一对多),而是应该将原来的二维坐标系视为“三维空间的子空间”(在三维空间中描述的一个二维空间)
- 考察这个矩阵的列空间(见后续文章),由于变换后仍只有两个线性无关的基向量,故列空间是(三维空间中的)二维平面,也因此,这个矩阵是满秩的(线性变换后空间没有被压缩,输入空间的维数=列空间的维数),这是同一维度的变换,而非升维
同理,一个2x3的矩阵就代表三维空间到二维空间的变换(这里则可以理解为压缩降维,类似于投影的计算)
再进一步,一个1x2的矩阵将二维平面压缩到一维直线上,这里可以和“点积”的投影结合理解(点积对应 [ 1 , 0 ] [1,0] [1,0]矩阵)
考虑对于从二维空间到数轴的线性变换(压缩投影)
- 本质上,我们用1×2的矩阵来代表这个线性变换(矩阵中的数值仍然是通过基向量i和j投影到该数轴上的坐标来给出的)
- 又因为“矩阵向量乘积”(1×2的矩阵左乘向量)的计算,等效为“转置矩阵并求点积”(两个列向量对应坐标相乘相加)
也就是说,对于任何二维到一维的线性变换,在某种程度上,“应用变换”和“与向量v做点积”是等价的,而这个v向量恰好就是矩阵的转置(几何意义就是做投影)
在这里我们把向量看做线性变换的物质载体(向量仿佛是线性变换的概念性符号)。毕竟,想象从向量到向量的投影,比想象到空间中整个坐标系的变换更加容易
总结
- 线性变换是一种操纵空间和变换坐标轴的手段,它保持原点固定且网格平行等距。
- 可以简单的用一个矩阵来清楚的描述这个线性变换,该矩阵的列向量对应基向量变换后的坐标
- 将矩阵与向量的乘法,理解为矩阵各个列向量的线性组合,可帮助理解几何意义
- 矩阵给出了描述线性变换的语言(看到矩阵,脑海中就可以解读为对空间的缩放和偏斜等线性变换),而矩阵向量乘法可以计算线性变换作用于向量的效果
- 矩阵乘法对应于多次连续的线性变换,乘法的结果对应其总体等效的线性变换
- 今后应该从几何意义的层面来理解矩阵,看到矩阵乘法后先在脑海中思考相应的线性变换效果,然后再算出矩阵相乘的数值
这样的思维会让一些证明也变得简单,例如矩阵的乘法结合律: ( A B ) C = A ( B C ) \mathbf {(AB)C=A(BC)} (AB)C=A(BC),从连续的线性变换来解读,一个是先做C变换,再做(B变换,A变换),另一个是先做(C变换,B变换),再做A变换,变换顺序都一致,两者当然就等效了
边栏推荐
猜你喜欢
随机推荐
小程序(开发必备常识)1
JunitTest单元测试
基于可逆网络的单一图像超分辨率
2W字!梳理50道经典计算机网络面试题(收藏版)
VPS8702 VPSC(源特科技)电源管理(PMIC) 封装SOT23-6
Lua安装及常用命令使用
(转帖)HashCode总结(2)
关于#sql#的问题:该怎么写sql语句,
线性代数学习笔记3-2:矩阵乘法的理解
基于优化的多核局部费舍尔判别分析的故障分类
线性代数学习笔记2-2:向量空间、子空间、最大无关组、基、秩与空间维数
深度学习:目标检测入门知识
iVX低代码平台系列详解 -- 概述篇(二)
Week 304 Dunk
每日练习------有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
TRICK第二弹
EF Core:基于关系的复杂查询 区分IEnumerable和IQueryable
就瞎写=感想
JSP WebSehll backdoor script
* Compare version numbers