伴随矩阵的求法,伴随矩阵的行列式

2024-05-1101:46:57综合资讯0

我们继续探索线性代数的世界,告别行列式,迈向矩阵的领域。
矩阵的定义:
矩阵是一个由若干个数字按照顺序排列而成的表格。例如,一个 m n 的矩阵包含 m 行和 n 列的数字,从而形成一个 m n 的表格。
矩阵运算:
矩阵运算拥有几个重要性质:
矩阵加法满足结合律和交换律。
矩阵乘法不满足交换律。
一个 m n 的矩阵与一个 n k 的矩阵相乘,结果是一个 m k 的矩阵。
虽然矩阵乘法看起来有些复杂,但仔细理解其原理,就会发现并非如此。假设 A 和 B 分别是一个 m n 和 n k 的矩阵:
矩阵乘法原理:
A 的每一行与 B 的每一列相乘,得到一个标量。然后将这些标量排列成一个 m 行 k 列的矩阵,这就是 A 与 B 的乘积。
逆矩阵:
接下来,我们介绍逆矩阵。如果一个 n 阶方阵 A 存在一个矩阵 B,使得 A⋅B 等于单位矩阵 I,则称 B 为 A 的逆矩阵。
伴随矩阵:
计算逆矩阵需要引入伴随矩阵的概念。伴随矩阵是通过将每个元素替换为其代数余子式得到的矩阵,也就是 A_ij 被替换为 C_ij。
伴随矩阵定理:
伴随矩阵有一个重要定理:
A⋅adj(A) = I
其中 I 是 n 阶单位矩阵,对角线元素均为 1,其余元素均为 0。
逆矩阵的求解:
根据伴随矩阵定理,我们可以求解矩阵的逆矩阵:
A^(-1) = adj(A)/det(A)
其中 det(A) 为 A 的行列式。

显然,AA 也是一个 n 阶的矩阵,令结果为 B。我们写出 B 矩阵当中的每一项 B_{ij}

i=j 时,

在上一篇文章当中,我们介绍过,矩阵中的某一行与它对应的代数余子式的乘积为行列式的值:

这点其实没什么需要证明的,我们把式子展开就可以得到了。为了方便观察,我们用三阶行列式举例。

我们令

我们以 B12 为例:

<img image_type="1" img_height="58" img_width="488" mime_type="image/png" src="https://p3-sign.toutiaoimg.com/pgc-image/0004b90d08e04d599aeaa9c7b071d798~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1714972148&x-signature=oppWcWVb8Rmlx%2F86HLBeA7SDD6Y%3

回顾代数余子式的定义,此式可表示为下列矩阵行列式沿第一行展开的结果:

根据行列式性质,若某n阶行列式中存在两行或两列相同,则行列式值为0。

类似地,展开其他Bij可证明:

故B=|A|I,利用相同方法亦可证明A∗A=|A|I

为何如此大费周章地证明伴随矩阵?目的在于为求解逆矩阵做准备。掌握伴随矩阵的此性质后,求逆矩阵将更为简便。

在求解之前,先了解逆矩阵定义。

若存在方阵B,使得AB=BA=I,则称B为A的逆矩阵。

在我们介绍逆矩阵计算方法前,需要明确,逆矩阵不等于矩阵转置。矩阵转置操作是将矩阵的行与列调换,在线性代数中,矩阵A的转置记作AT,而A的逆矩阵记作A−1,两者看似相似,易混淆。

我们之前证明了AA∗=|A|I,当矩阵A的行列式|A|不为0时,显然有:

根据逆矩阵定义:

若|A|=0,将如何处理?

行列式为0的矩阵称为奇异矩阵,奇异矩阵没有逆矩阵。一个矩阵拥有逆矩阵的前提是其为非奇异矩阵。

以上为逆矩阵推导过程和计算方法,在实际应用中,我们不必如此繁琐。由于Python的numpy库已封装了现成的计算工具,我们只需直接调用即可,使用方法与之前的行列式计算类似:

通过调用np.linalg.inv方法获取逆矩阵:

注意,如果a为奇异矩阵,则在计算逆矩阵时会报错。在此之前,我们需要先计算矩阵的行列式,判断其是否为奇异矩阵。对行列式计算方法不