笔记
分块矩阵
乘法
若 A=A11A21⋮Ar1A12A22⋮Ar2⋯⋯⋱⋯A1sA2s⋮Ars,B=B11B21⋮Bs1B12B22⋮Bs2⋯⋯⋱⋯B1tB2t⋮Bst,则 C=AB=(Ckl)r×t,其中
Ckl=Ak1B1l+Ak2B2l+⋯+AksBsl=i=1∑sAkiBil
若 A=A11A21⋮An1OA22⋮An2⋯⋯⋱⋯OO⋮Ann,则
∣An×n∣=∣A11∣∣A22∣⋯∣Ann∣=i=1∏n∣Aii∣
证明:
对 A 进行变换得 A=B11B21⋮Bn1OB22⋮Bn2⋯⋯⋱⋯OO⋮Bnn,其中 Bii 为下三角矩阵。
则 ∣A∣=∣B11∣∣B22∣⋯∣Bnn∣,而 ∣Aij∣=∣Bij∣,从而得证。
这里的变换可不是瞎变换。
具体而言,对对角线上某个矩阵 Aii,对其进行行变换和列变换,会分别带动 Ai1,⋯,Ai,i−1 和 Ai+1,i,⋯,Ani(当然还有零矩阵,只不过变换对它们没有影响),只不过因为它们在三角形里面,所以没有影响。
转置
若 A=A11A21⋮Ar1A12A22⋮Ar2⋯⋯⋱⋯A1sA2s⋮Ars,则 A⊺=A11⊺A12⊺⋮A1s⊺A21⊺A22⊺⋮A2s⊺⋯⋯⋱⋯Ar1⊺Ar2⊺⋮Ars⊺。
初等变换
- 对调变换:交换矩阵的两行(列),记为 ri↔rj(ci↔cj)。
- 数乘变换:把矩阵的某一行(列)乘以一个非零常数 k,记为 kri(kci)。
- 倍加变换:把矩阵的某一行(列)的 k 倍加到另一行(列)上,记为 ri+krj(ci+kcj)。
单位矩阵 E 经过一次初等变换得到的矩阵称为初等矩阵。
- 初等对调矩阵:E(i,j)
- 初等倍乘矩阵:E(i(k))
- 初等倍加矩阵:E(i,j(k))
E(i,j(k))=[E(j,i(k))]⊺
若矩阵 A 经过有限次初等变换得到矩阵 B,则称 A 和 B 等价,记为 A→B。
显然,A→B⟺B→A。
梯形矩阵
行梯形矩阵
- 若有零行,则零行在最下方。
- 从第一行起,每行第一个非零元素(主元)所在的列号逐行递增。
行简化梯形矩阵
- 为行梯形矩阵。
- 主元为 1,且主元所在列的其他元素都为 0。
同理可定义列梯形矩阵和列简化梯形矩阵。
标准形矩阵
既为行简化梯形矩阵,又为列简化梯形矩阵。
可记作
[EOOO]
可知,解线性方程组时,将系数矩阵变为增广矩阵,原系数矩阵变为上三角矩阵时,增广矩阵即为行梯形矩阵;原系数矩阵变为单位矩阵时,即为行简化梯形矩阵。
定理
- 对矩阵 A 进行有限次初等行变化,可以得到行简化梯形矩阵。
- 对矩阵 A 进行有限次初等列变化,可以得到列简化梯形矩阵。
- 对矩阵 A 进行有限次初等行变化和初等列变化,可以得到标准形矩阵。
伴随矩阵 & 逆矩阵
伴随矩阵
伴随矩阵
设 A=[aij]n 为 n 阶方阵,Aij 是 aij 的代数余子式,则
A∗=[Aij]n⊺
称为 A 的伴随矩阵。
易得
AA∗=A∗A=∣A∣E
由此,我们可知 A−1=∣A∣A∗(A 可逆时)。
∣A∗∣=∣A∣n−1
证明:
∣A∗∣=∣A∣A−1=∣A∣n∣A∣−1=∣A∣n−1
(AB)∗=B∗A∗
逆矩阵
对 n 阶方阵 A,若存在 n 阶方阵 B,使 AB=BA=E,则称 A 为可逆矩阵,B 为 A 的逆矩阵,记为 A−1。
证明一下若存在 AB=CA=E,则 B=C。
AB=CA=E⟹CAB=CE⟹(CA)B=C⟹EB=C⟹B=C
逆矩阵的性质
以下均假设 A,B 可逆。
- (A−1)−1=A
- A−1=∣A∣−1
- 若 k=0,(kA)−1=k−1A−1
- (A⊺)−1=(A−1)⊺
- (AB)−1=B−1A−1
初等矩阵的逆
- E−1(i,j)=E(i,j)
- E−1(i(k))=E(i(k1))
- E−1(i,j(k))=E(i,j(−k))
从而有
λ1λ2⋱λn−1λn...λ2λ1−1=λ1−1λ2−1⋱λn−1=λ1−1λ2−1...λn−1
对一般的 2×2 矩阵,有
[acbd]−1=ad−bc[d−c−ba]=d−c−ba[d−c−ba]
KATEX 不支持 \iddots
,参考 StackExchange,稍加修改:
\newcommand\iddots{\mathinner{\kern{1.2mu}\raisebox{2mu}{.}\kern{3mu}\raisebox{7.4mu}{.}\kern{3mu}\raisebox{12.8mu}{.}\kern{1.2mu}}}
|
原本是稍加修改,最后不满意效果,自己又调间距调了一个小时。
想到高二时,调电子轨道表达式(是叫这个名字吧?)的 macro 的间距也是调了很久,最后没能弄出一个满意的效果,就勉强用着了。
前阵子还试过重新调,结果还是没能令我满意,而且缩放还会改效果。
这个矩阵的省略号,最后勉强算是和镜像重合了,见 issue 的图。调过程中发现矩阵两侧高度不同,不管是正常还是我调的,而且位置也会影响,着实闹心。
到此打住。
杂项
零幂矩阵
零幂矩阵
若 ∃k∈N,Jk=O,则称 J 为幂零矩阵。
显然零幂矩阵是奇异矩阵。
且有
(E−J)−1=i=0∑k−1Ji
证明:
(E−J)i=0∑k−1Ji=i=0∑k−1Ji−i=1∑kJi=J0−Jk=E
矩阵多项式
设 f(x)=i=0∑naixi,f(A)=O,则 f(t)=0⟹A−tE 可逆。
证明:
f(A)=O 可得
(A−tE)[i=1∑n(j=i∑ntj−iaj)Ai−1]+Ek=0∑ntkak=O
这起码是我一个月以前写的了,显然是跳步了,我也懒得检验或解释了。
总而言之,这一步就是将矩阵多项式提个公因式 A−tE。
还是解释一下吧。E 可以看作 A0,从而可以看作是把多项式提出一个 ax+b 的因式,外带一个常数项。
例如 x4+8x3+3x2+6x+2,打算提出一个 x+1,则形式应该为 (x+1)(ax3+bx2+cx+d)+e。
显然 a=1,那么三次项就有了一个 ax3=x3,还差 8x3−x3=7x3,由 bx2⋅x 提供,则 b=7。
同理,c=−4,d=10,e=−8。
也即 x4+8x3+3x2+6x+2=(x+1)(x3+7x2−4x+10)−8。
随即若 f(t)=k=0∑ntkak=0,则有
(A−tE)−1=−f(t)1i=1∑n(j=i∑ntj−iaj)Ai−1
这个命题不满足等价。也即 A−tE 可逆 ⟹f(t)=0。
例如 f(x)=x2−3x+2,A=2E 满足 f(A)=O,而且 t=1 时 A−tE=E 可逆,但 f(1)=0。
上面这个 tip 用了我自己一个宏来表示「无法推出」,定义为 \mathbin{\kern13mu\not\kern-13mu\implies}
,然而导致博文后面的内容都无法显示,原因不明。
上一次出现这个问题还是因为我用了 \fcolorbox
,我以为是里面的 $ ... $
的问题,把 \fcolorbox
换成了 \boxed
就解决了,不过就没了人教版教科书那样定理的颜色边框。而这次比较神奇。
\mathbin
出自 Class Assignment,意思是指明这个为 binary,也即「二元运算符」。看来是不可以在里面使用 Spacing,我大致试了几个都不行。然而有例外,比如 \par
的定义是 \mathbin{/\kern-5mu/}
,但是可以正常显示,如 //(这个用的不是宏,而是直接输入)。于是我猜测是不可以同时有 \not
。
真糟心,于是我只好把 Blog 的 \mathbin
全删了。
矩阵的分解
设 A 为 m×n 矩阵,r(A)=r,则存在 m 阶可逆矩阵 P 和 n 阶可逆矩阵 Q,使 A=PΛQ,其中
Λ=[ErOOO]
后记
这是本篇博文唯一一个二级标题,正文的二级标题我不知道怎么取,就干脆不要二级标题了(正文我一般不用一级标题,一级标题我一般默认为标题,除了「记事板」,一级标题作为年份)。
2023 年国家公祭日记
重新整理博客结构时,为了使目录不要太抽象,补了一个二级标题「笔记」在上面。
这篇看起来好像没啥特别的。实际上就内容而言确实,但是却特殊在本篇内容是我完全在 WSL 上完成的。
效率有提高吗?似乎没有,预览速度感觉差不多,也是内容一多就卡;UltiSnips 一开始的 Tabstop 似乎流畅了一点,也不知道是不是错觉,只不过到后面写多了还是会出现 Tabstop 迟滞、乱跳的现象。
不过我敢肯定写 LATEX 效率绝对是会快一点的。其一,我自己也测试过了,WSL 的 LATEX 编译速度比 Windows 快多了;其二,写 LATEX coc 会给补全提示,WSL 下补全菜单性能比 Windows 好多了,Windows 下遍历选项延迟非常明显,而 WSL 流畅多了。
WSL 还有点不同就是我开了 conceal,gVim 我是关着的,因为不知道为什么,一些字符无法显示,WSL 因为在终端就没问题。
效率下降的点也是有的。由于我的 WSLVim.ahk
的缺陷,我无法区分单独的 r
模式与 Normal 模式,导致如果简单替换一个汉字,WSL 还是得切语言,而且换完后还得切回来,这点确实是 gVim 比较厉害的。
至于双拼,大概现在只比以前全拼慢一点了吧,多熟练熟练。不过非常气愤的是 f: en
g: eng
h: ang
j: an
这四个韵母是我比较早就记住了的,但是呢还是老是打错(不是因为分不清楚,我普通话还算可以的吧,大部分我还是分得清楚的,主要是要打时老是要停下来想一想)。
还有一点,Windows 终端下新版输入法,我双拼如果打了很长还没选,发现前面打错了,左右键移动看不到光标的移动,导致我只能盲猜,或者删了重打。我估计全拼也有这个问题,只不过双拼格外严重,因为我开了自动展开,导致我删错一个,后面就模样大变了,我也猜不出删了哪个。
由于后面的笔记与本篇关联性稍有下降(这篇主要是杂七杂八的定义和犄角旮旯的笔记,后面大的要来了,秩有一堆东西,还有高斯消元法什么的),再加上本篇内容也比较长了,要是要预览就得注释一部分了,所以我就另开了一篇。
如图所示,便是我写笔记的布局了。
开两个浏览器,一个大概 2/3 屏预览,一个全屏查资料(比如我现在开着的就是 KATEX 函数大全,查一些可能忘记了的命令。
WSL 运行在 Windows Terminal 上,大概占 1/3 屏。
开个 _posts
文件夹,或是方便打开 gVim 或是看看以前的博文,或是弄些图片,或是给 _imagecompression.py
加个新文件夹什么的。
写完后,一般流程就是 Win + T 打开终端(也可以在 WSL 那里 Ctrl + Shift + 3,只不过就会有 UAC 了),然后直接一个 bpb
(blog publish),或者有时候想看看在博客的效果,用 blk
(blog look)。
然后 Win + R 输入 code
回车,打开 Blog 项目,commit 更新的内容,然后 push。
有时候开个小差,也可以用第二个浏览器去看点别的内容,或者打开 QQ 微信看看。
目前我对这套流程还是挺满意的,写笔记成为一个享受。然而今日午睡起来后,又玩手机玩了一个多小时才下床继续写。
可能会发现最近的笔记逻辑性比较差,不仅少了些必要的证明,也少了很多我个人的见解,因为我课本笔记都随便记的,这里一块那里一块,加上老师不是按课本讲的(课本那定义一个比一个抽象,像行列式、秩),而且已经过去蛮长时间了,我也记不清楚了,所以就只能这样了。
这便是临时抱佛脚的恶果吗。