用python检查矩阵的计算

Posted 我在吃大西瓜呢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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

以上是关于用python检查矩阵的计算的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python 中并行化以下代码片段?

用cupy(python)计算矩阵的行列式

Python代码阅读(第41篇):矩阵转置

使用np.array的Python中的矩阵和数组

如何计算python中的大规模逆矩阵

为啥用 numpy 计算 2×2 矩阵的特征向量会使我的 Python 会话崩溃?