鉴于最近复习线性代数计算量较大,且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://zxbcw.cn/post/187046/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)