• 用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
    
  • 相关阅读:
    实现可折叠的列表
    ajax知识点补充
    Ajax 完整教程
    从页面左边飞入页面动画效果
    文字闪烁
    点击按钮之后等待60秒
    [SCOI2016]萌萌哒
    [HNOI2011]卡农
    [NOI2015]寿司晚宴
    【bzoj 3489】A simple rmq problem
  • 原文地址:https://www.cnblogs.com/wangzheming35/p/12912170.html
Copyright © 2020-2023  润新知