zoukankan      html  css  js  c++  java
  • numpy线性代数与求解线性方程

    线性代数

    numpy.linalg模块包含线性代数的函数, 可以求逆矩阵,求特征值,解线性方程组及求行列式

    计算逆矩阵

    Key_Function

    np.linalg.inv函数, 求出给定矩阵的逆矩阵

    np.mat函数, 创建矩阵

    Code

    import numpy as np
    
    A = np.mat("0 1 2; 1 0 3; 4 -3 8")
    print(A)
    '''
    [[ 0  1  2]
     [ 1  0  3]
     [ 4 -3  8]]
    '''
    
    inverse = np.linalg.inv(A)
    print(inverse)
    '''
    [[-4.5  7.  -1.5]
     [-2.   4.  -1. ]
     [ 1.5 -2.   0.5]]
    '''
    
    print(A * inverse)
    '''
    [[ 1.  0.  0.]
     [ 0.  1.  0.]
     [ 0.  0.  1.]]
    '''

    求解线性方程组

    矩阵可以对向量进行线性变换

    Key_Function

    np.linalg.solve函数, 求解形如Ax=b的线性方程组, 其中A为矩阵, b为一维或二维的数组, x是未知变量

    np.dot函数, 计算两个数组的点积, 即内积

    Code

    import numpy as np
    
    A = np.mat("1 -2 1; 0 2 -8; -4 5 9")
    print(A)
    '''
    [[ 1 -2  1]
     [ 0  2 -8]
     [-4  5  9]]
    '''
    
    b = np.array([0, 8, -9])
    print(b)
    '''
    [ 0  8 -9]
    '''
    
    x = np.linalg.solve(A, b)
    print(x)
    # [ 29.  16.   3.]
    
    print(np.dot(A, x))
    # [[ 0.  8. -9.]]
  • 相关阅读:
    bash 学习笔记5
    zookeeper启动脚本修改
    java enmu 使用说明
    bash 学习笔记4
    zookeep集群搭建说明
    bash 学习笔记3
    集群配置问题
    hadoop hdfs 总结(1)
    bash 学习笔记6
    bash pitfall
  • 原文地址:https://www.cnblogs.com/draven123/p/11406788.html
Copyright © 2011-2022 走看看