用python检查矩阵的计算

鉴于最近复习线性代数计算量较大,且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
原文地址:https://www.cnblogs.com/wangzheming35/p/12912170.html