python实现矩阵计算
时间: 2023-12-06 11:37:39 浏览: 40
以下是Python实现矩阵计算的方法:
1.使用NumPy库进行矩阵计算
```python
import numpy as np
# 创建矩阵
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# 矩阵加法
c = a + b
print("矩阵加法结果:\n", c)
# 矩阵减法
d = a - b
print("矩阵减法结果:\n", d)
# 矩阵乘法
e = np.dot(a, b)
print("矩阵乘法结果:\n", e)
# 矩阵转置
f = np.transpose(a)
print("矩阵转置结果:\n", f)
# 矩阵求逆
g = np.linalg.inv(a)
print("矩阵求逆结果:\n", g)
# 矩阵行列式
h = np.linalg.det(a)
print("矩阵行列式结果:\n", h)
```
2.使用Python自带的列表进行矩阵计算
```python
# 创建矩阵
a = [[1, 2], [3, 4]]
b = [[5, 6], [7, 8]]
# 矩阵加法
c = [[a[i][j] + b[i][j] for j in range(len(a[0]))] for i in range(len(a))]
print("矩阵加法结果:\n", c)
# 矩阵减法
d = [[a[i][j] - b[i][j] for j in range(len(a[0]))] for i in range(len(a))]
print("矩阵减法结果:\n", d)
# 矩阵乘法
e = [[sum([a[i][k] * b[k][j] for k in range(len(a[0]))]) for j in range(len(b[0]))] for i in range(len(a))]
print("矩阵乘法结果:\n", e)
# 矩阵转置
f = [[a[j][i] for j in range(len(a))] for i in range(len(a[0]))]
print("矩阵转置结果:\n", f)
# 矩阵求逆
g = [[0] * len(a) for i in range(len(a))]
for i in range(len(a)):
for j in range(len(a)):
g[i][j] = (-1) ** (i + j) * (a[(j + 1) % len(a)][(i + 1) % len(a)] * a[(j + 2) % len(a)][(i + 2) % len(a)] - a[(j + 1) % len(a)][(i + 2) % len(a)] * a[(j + 2) % len(a)][(i + 1) % len(a)])
g = [[g[i][j] / np.linalg.det(a) for j in range(len(a))] for i in range(len(a))]
print("矩阵求逆结果:\n", g)
# 矩阵行列式
h = a[0][0] * a[1][1] - a[0][1] * a[1][0]
print("矩阵行列式结果:\n", h)
```