北京学区房
首先,得有个方阵。记住了,必须得是方阵,就是行数跟列数一样多,方方正正的。比如一个 3x3 的矩阵 A。
计算伴随矩阵这活儿,就像是给原矩阵A里的每个“住户”(也就是每个元素)都找个“替身”,这替身不是随随便便找的,得按规矩来,这个规矩的核心就是代数余子式。
咱们先得弄明白余子式(Minor)是个啥。想象一下,你的矩阵A是个小区,每个元素 Aᵢⱼ 就住在第 i 排第 j 列的房子里。要找 Aᵢⱼ 的余子式 Mᵢⱼ,你得狠下心来,把这一整排(第 i 行)和这一整列(第 j 列)都给“封锁”了,也就是从原矩阵里“删除”掉。剩下的那些没被封锁的元素,它们自己又能组成一个新的小矩阵。好了,这新组成的小矩阵的行列式的值,就叫做 Aᵢⱼ 的余子式 Mᵢⱼ。
比如说,有个 3x3 的矩阵:
A =
[ a₁₁ a₁₂ a₁₃ ]
[ a₂₁ a₂₂ a₂₃ ]
[ a₃₁ a₃₂ a₃₃ ]
想找元素 a₂₃ (第二行第三列那个)的余子式 M₂₃?那就把第二行和第三列划掉:
[ a₁₁ a₁₂ ~~a₁₃~~ ]
[ ~~a₂₁~~ ~~a₂₂~~ ~~a₂₃~~ ]
[ a₃₁ a₃₂ ~~a₃₃~~ ]
剩下的是:
[ a₁₁ a₁₂ ]
[ a₃₁ a₃₂ ]
M₂₃ 就是这个 2x2 矩阵的行列式: M₂₃ = a₁₁a₃₂ - a₁₂a₃₁。
这只是余子式,离代数余子式(Cofactor)还差一步,但这一步非常关键,因为它带上了符号。代数余子式 Cᵢⱼ 的计算公式是:Cᵢⱼ = (-1)ⁱ⁺ʲ Mᵢⱼ。
看到那个 `(-1)ⁱ⁺ʲ` 了吗?这个神秘的符号决定了是在余子式前面加个正号还是负号。它跟这个元素在矩阵里的“位置”有关(行号 i 和列号 j)。如果行号加列号 (i+j) 是个偶数,那 `(-1)ⁱ⁺ʲ` 就是 1,代数余子式 Cᵢⱼ 就等于余子式 Mᵢⱼ。如果行号加列号 (i+j) 是个奇数,那 `(-1)ⁱ⁺ʲ` 就是 -1,代数余子式 Cᵢⱼ 就是 Mᵢⱼ 的相反数,也就是 -Mᵢⱼ。
你可以想象一个符号方阵,从左上角开始,像棋盘一样正负交替:
[ + - + ]
[ - + - ]
[ + - + ]
...依此类推。对于 3x3 矩阵,a₁₁ 位置是 1+1=2(偶数),所以是 +。a₁₂ 位置是 1+2=3(奇数),所以是 -。a₂₃ 位置是 2+3=5(奇数),所以是 -。懂了吗?你算出余子式 Mᵢⱼ 后,看看它所在的位置是“+”还是“-”,如果是“-”,就在前面加个负号,得到 Cᵢⱼ。
好了,现在你有了给矩阵A里的每个元素 aᵢⱼ 都算出了它的代数余子式 Cᵢⱼ 的本事。接下来,咱们用这些代数余子式,原地组成一个新的矩阵。这个新矩阵可不是随便摆的,原来 aᵢⱼ 在哪儿,它的代数余子式 Cᵢⱼ 就搁在哪儿。把所有的 Cᵢⱼ 按照它们对应的 aᵢⱼ 的位置摆好,就得到了一个余子矩阵(Cofactor Matrix),咱们叫它 C 吧。
C =
[ C₁₁ C₁₂ C₁₃ ]
[ C₂₁ C₂₂ C₂₃ ]
[ C₃₁ C₃₂ C₃₃ ]
...以此类推,如果你的原矩阵是 n x n 的,这个余子矩阵也是 n x n 的。
哎呀,到这儿还没完呢!伴随矩阵 Adjoint(A),或者有的书里写 A,它不是这个余子矩阵 C 本身。它是余子矩阵 C 的转置(Transpose)。
转置是个啥操作?简单说,就是把矩阵的行变成列,列变成行。原来第一行的数据,现在变成第一列;原来第二行的数据,现在变成第二列... 以此类推。就像把一个躺着的矩阵给竖起来,或者说沿着主对角线(从左上到右下那条线)给“翻个面儿”。
所以,伴随矩阵 adj(A) = Cᵀ。
如果 C 是上面那个余子矩阵:
C =
[ C₁₁ C₁₂ C₁₃ ]
[ C₂₁ C₂₂ C₂₃ ]
[ C₃₁ C₃₂ C₃₃ ]
那么它的转置 Cᵀ,也就是伴随矩阵 adj(A),就是:
adj(A) =
[ C₁₁ C₂₁ C₃₁ ]
[ C₁₂ C₂₂ C₃₂ ]
[ C₁₃ C₂₃ C₃₃ ]
看清楚了吗?原来 C 的第一行 (C₁₁, C₁₂, C₁₃) 变成了 adj(A) 的第一列;原来 C 的第二行 (C₂₁, C₂₂, C₂₃) 变成了 adj(A) 的第二列,以此类推。元素 C₂₃ 原来在 C 的第二行第三列,转置后它就跑到了 adj(A) 的第三行第二列。
整个过程,拆开看,其实不难理解,就是有点机械,特别是矩阵维数高了以后,算每个余子式里的行列式,那真是个体力活儿,而且巨容易出错,特别是那个符号!当年我学这块儿的时候,就是栽在这符号上了,算得心烦意乱,最后发现答案不对,十有八九是哪个地方的正负号搞错了。所以做的时候,务必小心翼翼,像个强迫症患者似的,一步步核对。
总结一下这怎么算的门道:
1. 给原方阵 A 里的每个元素定位 (i, j)。
2. “划掉”它所在的第 i 行和第 j 列,得到一个小一号的矩阵。
3. 计算这个小矩阵的行列式,得到余子式 Mᵢⱼ。
4. 根据位置 (i, j),计算 (-1)ⁱ⁺ʲ,然后用它乘以余子式 Mᵢⱼ,得到代数余子式 Cᵢⱼ。
5. 把所有元素的代数余子式 Cᵢⱼ 按照原元素 aᵢⱼ 的位置排好,组成余子矩阵 C。
6. 把余子矩阵 C 进行转置,行变列,列变行,得到的就是大名鼎鼎的伴随矩阵 adj(A)。
瞧,步骤就这么几条,但每一步里面都藏着细节。特别是那个行列式计算,如果原矩阵是 4x4 的,你的余子式就是 3x3 的行列式;如果是 5x5,余子式就是 4x4 行列式... 层层嵌套,就像剥洋葱,一层一层往里算。高维矩阵手算伴随矩阵?那真是对耐心和细心度的极限挑战,现代社会嘛,这种苦力活儿咱就交给电脑吧,各种数学软件分分钟给你算出来,比如 MATLAB、Python 的 NumPy 库什么的,敲个命令就行。但作为学生或者想弄懂原理的人,自己上手算个 3x3 的,亲身体验一下这个流程,绝对印象深刻,而且能帮你理解行列式、代数余子式这些概念的真正含义,非常有益。
所以,伴随矩阵怎么算?说穿了,就是一步步地,从原矩阵的每一个角落出发,算出它的“符号化了的行列式替身”(代数余子式),然后把这些替身排好队,最后再整个儿“翻个身”。记住这个过程,记住那些核心概念:余子式、代数余子式、余子矩阵、转置。理解了这些,伴随矩阵就算是被你给“拿捏”住了。它不是玄学,只是有点繁琐的数学操作而已。下次再遇到它,就别犯怵了,按部就班地来,没啥大不了的。
相关问答