NumPy基础:线性代数

时间:2020-05-22
本文章向大家介绍NumPy基础:线性代数,主要包括NumPy基础:线性代数使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import numpy as np
from numpy.linalg import inv, qr, eig, det, pinv, svd, lstsq, solve
from numpy.matlib import randn, trace

x = np.array([[1,2,3],[4,5,6]])
y = np.array([[6,23],[-1,7],[8,9]])

print(x.dot(y)) # np.dot(x,y)
'''
1*6+2*(-1)+3*8=28 
[[ 28  64]   
 [ 67 181]]
'''

x = np.array([[1,2,3],[4,5,6],[7,8,9]])
# 以一维数组的形式返回方阵对角线元素
print(np.diag(x))  # [1 5 9]
# 矩阵乘法 print(np.dot(x,y)) ''' [[ 30 36 42] [ 66 81 96] [102 126 150]] '''
# 计算对角线元素的和 print(trace(x)) # 15
# 计算矩阵行列式 det(x)

# 计算方阵的本征值和本征向量 eig(x)
# 计算方阵的逆 inv(x)
# 就算矩阵的Moose-Penrose的逆 pinv(x)
# 计算QR分解 qr(x)
# 计算奇异值分解(SVD) svd(x)
# 解线性方程组Ax = b ,其中A为一个方阵 A = np.array([[1,1,1],[0,2,5],[2,5,1]]) x = np.array([4.29411765,4.17647059,-2.47058824]) b = np.array([6,-4,27]) print(solve(A,b)) # [4.29411765,4.17647059,-2.47058824]

# 计算Ax = b的最小乘解 print(lstsq(A,b))

原文地址:https://www.cnblogs.com/nicole-zhang/p/12931197.html