python 线性代数:[6]逆矩阵/伴随矩阵
设A是数域上的一个n礴樽释亩阶方阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E。 则我们称B是A的逆矩阵,而A则被称为可逆矩阵。当矩阵A的行列式|A|不等于0时才存在可逆矩阵。而伴随矩阵的定义我 从网上找到了一个:![python 线性代数:[6]逆矩阵/伴随矩阵](https://exp-picture.cdn.bcebos.com/22c4fe36e29147e8422372c6b603bbea3f86581b.jpg)
先来求一下矩阵的逆,先引入numpy![python 线性代数:[6]逆矩阵/伴随矩阵](https://exp-picture.cdn.bcebos.com/6002c9d4483104eb8d6414bb092b74ee1d324e1b.jpg)
然后创建一个方阵A![python 线性代数:[6]逆矩阵/伴随矩阵](https://exp-picture.cdn.bcebos.com/506d92f1d8a72633cd478657c02c56ee7a7f441b.jpg)
使用linalg.det求得方阵的行列式![python 线性代数:[6]逆矩阵/伴随矩阵](https://exp-picture.cdn.bcebos.com/874f6275e5f4fcf560ce717a21d7726b0de2bd1b.jpg)
使用linalg.inv求得方阵A的逆矩阵![python 线性代数:[6]逆矩阵/伴随矩阵](https://exp-picture.cdn.bcebos.com/64a62a0f64781423297a3d8aaac2bbd6e0d0b21b.jpg)
接着我们利用公式:
numpy的计算方法:![python 线性代数:[6]逆矩阵/伴随矩阵](https://exp-picture.cdn.bcebos.com/555acf0ff2260d9a97cd5c2d622abab84340a51b.jpg)
以下是今天用到的所有代码
>>> import numpy as np
>>> A=np.array([[1,-2,1],[0,2,-1],[1,1,-2]])
>>> A
array([[ 1, -2, 1],
[ 0, 2, -1],
[ 1, 1, -2]])
>>>
>>>
>>> A_abs=np.linalg.det(A)
>>> A_abs
-3.0000000000000004
>>>
>>>
>>> B=np.linalg.inv(A)
>>> B
array([[ 1. , 1. , 0. ],
[ 0.33333333, 1. , -0.33333333],
[ 0.66666667, 1. , -0.66666667]])
>>>
>>>
>>> A_ni=B*A_abs
>>> A_ni
array([[-3., -3., -0.],
[-1., -3., 1.],
[-2., -3., 2.]])
>>> A_bansui=B*A_abs
>>> A_bansui
array([[-3., -3., -0.],
[-1., -3., 1.],
[-2., -3., 2.]])
>>>