鉴于最近复习线性代数计算量较大,且1800答案常常忽略一些逆阵、行列式的计算答案,故用Python写出矩阵的简单计算程序,便于检查出错的步骤。
1、行列式
可自行更改阶数
from numpy import *
# 求行列式 ,建议:取小数点前整数
A = array([[3, 1, 1, 1],
[1, 3, 1, 1],
[1, 1, 3, 1],
[1, 1, 1, 3]])
B = linalg.det(A)
print(B)
# 48.000000000000014 正确答案:48
2、矩阵相乘
注意要内标相同
from numpy import *
# 求矩阵相乘
A = array([[1, -1, 1],
[1, 1, 0],
[-1, 0, 1]])
B = array([[3, 0, 0],
[0, 0, 0],
[0, 0, 0]])
# N=AB
N = dot(A, B)
# N=BA,则 N = dot(B, A)
print(N)
# 正确答案:
# [ 3 0 0]
# [ 3 0 0]
# [-3 0 0]
3、逆矩阵
自行判断|A|≠0,这里 A∗ = A−1 · |A|
from numpy import *
# 求逆矩阵 ,建议:取小数点后一位化为分数
A = mat([[1, -1, 1],
[1, 1, 0],
[-1, 0, 1]])
B = A.I
print(B)
# [ 0.33333333 0.33333333 -0.33333333]
# [-0.33333333 0.66666667 0.33333333]
# [ 0.33333333 0.33333333 0.66666667]
# 0.333≈ 1/3 ,0.667≈ 2/3
以上就是本文的全部内容,希望对大家的学习有所帮助。