首页 > 其他分享 >代数余子式和伴随矩阵

代数余子式和伴随矩阵

时间:2022-08-18 22:01:37浏览次数:57  
标签:prime det 矩阵 ij vec 代数 余子式

代数余子式

给定 \(n\) 阶方阵 \(A=(a_{ij})\),定义 \(a_{ij}\) 的余子式 \(M_{ij}\) 为 \(A\) 划去第 \(i\) 行第 \(j\) 列后的行列式,\(a_{ij}\) 的代数余子式 \(A_{ij}=(−1)^{i+j}M_{ij}\) 。

代数余子式可以用于行列式的求值,比如按第 \(r\) 行展开:

\[\det A=\sum_{c=1}^na_{rc}A_{rc} \]

按第 \(c\) 列展开是同理的。

伴随矩阵

定义

在 \((1)\) 式中,如果把 \(a_{rc}\) 中的 \(r\) 替换成 \(i≠r\),则该乘积对应了将 \(A\) 的第 \(i\) 行替换成第 \(r\) 行后的行列式——该行列式有两行相等,所以它等于 \(0\) 。

所以我们有 \(\sum_{c=1}^na_{ic}A_{jc}=\det A \cdot [i=j]\),把它写成矩阵乘法就是:

\[A(A_{ij})^{\mathrm T}=\det A \cdot I_n \]

我们定义 \(A^*=(A_{ij})^{\mathrm T}\) 是 \(A\) 的伴随矩阵。

同样的结论对列也成立,所以 \(AA^*=A^*A=\det A \cdot I_n\) 。

计算

  • 如果 \(r(A)=n\),用高斯消元法分别求出 \(\det A\) 和 \(A−1\),\(A^*=\det A \cdot A^{-1}\) 。

  • 如果 \(r(A)⩽n−2\),\(A\) 的任意 \(n−1\) 阶子式都为 \(0\),所以 \(A^*=O\) 。

  • 如果 \(r(A)=n−1\):

假设 \(A\) 的列向量组为 \(\vec{c}_{1}, \vec{c}_{2}, \ldots, \vec{c}_{n}\) 。

由它们线性相关,可知存在不全为 \(0\) 的实数 \(q_{1}, q_{2}, \ldots, q_{n}\) 满足 \(\sum_{i=1}^{n} q_{i} \vec{c}_{i}=\overrightarrow{0}\) 。不妨设 \(q_{c} \neq 0\) 。

考虑同行两余子式 \(M_{r i}\) 和 \(M_{r c}\) 的关系,不妨讨论 \(i<c\) 的情况,\(i>c\) 类似。不难发现,如果我们将 \(M_{r i}\) 的第 \(i\) 至 \(c-2\) 列向右推移,而第 \(c-1\) 列移动到第 \(i\) 列,唯一的不同点是 \(M_{r i}\) 的第 \(i\) 列为 \(\vec{c}_{c}\) 删去第 \(r\) 行,\(M_{r c}\) 的第 \(i\) 列为 \(\vec{c}_{i}\) 删去第 \(r\) 行。

联系上述线性相关式,可设 \(M^{\prime}\) 表示在 \(M_{r i}\) 进行推移的基础上,把第 \(i\) 列乘以 \(q_{c \prime}\) 并与 \(M_{r c}\) 的第 \(i\) 列的 \(q_{i}\) 倍相加,所得到的 \(n-1\) 阶行列式。

那么 \(M^{\prime}=q_{c}(-1)^{c-i} M_{r i}+q_{i} M_{r c}\) 。

最后,将 \(M^{\prime}\) 的第 \(i\) 列依次加上其对应 “原行列式的第 \(j \notin\{i, c\}\) 列” 的列的 \(q_{j}\) 倍。

这样,\(M^{\prime}\) 的值不变,而第 \(i\) 列全为 \(0\) 。这说明了 \(q_{c}(-1)^{c-i} M_{r i}+q_{i} M_{r c}=M^{\prime}=0\) 。

所以

\[q_{c} A_{r i}-q_{i} A_{r c}=(-1)^{r+c}\left(q_{c}(-1)^{c-i} M_{r i}-q_{i} M_{r c}\right)=0 \]

\[A_{r i}=\frac{q_{i}}{q_{c}} A_{r c} \]

同样的结论对列也成立。

于是对于列向量 \(\vec{p}=\left(p_{1} p_{2} \cdots p_{n}\right)^{\mathrm{T}}\) 和行向量 \(\vec{q}=\left(q_{1} q_{2} \cdots q_{n}\right)\) 使得 \(A\vec{p}=\overrightarrow{0}, \vec{q} A=\overrightarrow{0}\) ,不妨设 \(p_{r}, q_{c} \neq 0\) ,就有 \(A_{i j}=\frac{p_{i} q_{j}}{p_{r} q_{c}} A_{r c}\) 。

\(\vec{p}\) 与 \(\vec{q}\) 都可以通过高斯消元法解方程组解出,而代数余子式 \(A_{r c}\) 也可以通过高斯消元法求出。

综上所述,求一个矩阵的伴随矩阵,时间复杂度为 \(O\left(n^{3}\right)\) 。

标签:prime,det,矩阵,ij,vec,代数,余子式
From: https://www.cnblogs.com/A-Quark/p/16600271.html

相关文章

  • [LeetCode] 1314. Matrix Block Sum 矩阵区域和
    Givena mxn matrix mat andaninteger k,return amatrix answer whereeach answer[i][j] isthesumofallelements mat[r][c] for:i-k<=r<=......
  • LeetCode 螺旋矩阵 II 算法题解 All In One
    LeetCode螺旋矩阵II算法题解AllInOnejs/ts生成螺旋矩阵螺旋矩阵原理图解动态赋值arr[i]//动态更新indexleti=0;while(left<=right&&t......
  • 混淆矩阵与模型评估
    1.混淆矩阵通常对于二分类模型,我们的预测结果与实际情况两两组合,会得到4种结果。这4中结果组成了混淆矩阵。以0,1作为两种类别。如下:用P(Positive)、N(Negative......
  • 相似矩阵
    定义A~B,即存在可逆矩阵P,使得P^(-1)AP=B 性质1、传递性,A~B,B~C,则A~C2、对称性,若A~B<=>B~A3、反身性,A~A 若A~B则...1、特征多项式相同,即|lamdaE-A|=|lamdaE-B|,AB......
  • 归档:220813 | 社恐铁锹的第一次新知讲授:矩阵快速幂
    铁锹:呃,其实我的名字是英文缩写,不是铁锹,你们不要再给我乱起外号了什么是矩阵?一个\(n\timesm\)的矩阵是由数组成的\(n\)行\(m\)列的方阵。什么是矩阵乘法?假设有......
  • 算法:螺旋矩阵
    问题给你一个m行n列的矩阵matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素。解决//采用宏观调度的方式//可以看作n层进行操作,每层从左上角、右下角的a......
  • Albert理论详解:用矩阵分解与跨层参数共享减少参数量
    1.介绍Albert是Bert的一个变种,它在Bert的基础上减少了参数量,使整个模型更加的“轻量化”,同时也保持了Bert的性能,但值得注意的是,Albert虽然显著地减少了参数量,但并没有显著......
  • C++ 特殊矩阵的压缩存储算法
    1.前言什么是特殊矩阵?C++,一般使用二维数组存储矩阵数据。在实际存储时,会发现矩阵中有许多值相同的数据或有许多零数据,且分布呈现出一定的规律,称这类型的矩阵为特殊矩阵......
  • NC16645 [NOIP2007]矩阵取数游戏
    题目链接题目题目描述帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下:1.每次取数时须从每行各取走一个元素,......
  • 洛谷 P6789 - 寒妖王(子集卷积+矩阵树定理)
    洛谷题面传送门像极了我验的那道牛客多校(第六场CForest)……考虑对于每条边,计算其在最大生成基环森林中的概率,乘以边权求和就是答案。现在问题在于如何计算每条边在最大......