NumPy基础教程之np.linalg模块详解

分类:知识百科 日期: 点击:0

np.linalg模块是NumPy中提供的一个数学函数库,它提供了一系列线性代数函数,可以用来解决各种线性代数问题。np.linalg模块提供的函数可以用来求解矩阵的行列式、特征值、特征向量、逆矩阵、解线性方程组等,是科学计算中经常使用的线性代数函数。

np.linalg模块中最常用的函数有:

  • np.linalg.det:求解矩阵的行列式
  • np.linalg.eig:求解矩阵的特征值和特征向量
  • np.linalg.inv:求解矩阵的逆矩阵
  • np.linalg.solve:求解线性方程组

下面给出np.linalg模块中几个常用函数的使用方法:

求解矩阵的行列式

import numpy as np

# 定义一个3x3的矩阵
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 计算矩阵A的行列式
detA = np.linalg.det(A)

# 输出行列式
print(detA)

输出结果:

-9.51619735392994e-16

求解矩阵的特征值和特征向量

import numpy as np

# 定义一个3x3的矩阵
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 计算矩阵A的特征值和特征向量
eigvals, eigvecs = np.linalg.eig(A)

# 输出特征值和特征向量
print(eigvals)
print(eigvecs)

输出结果:

[ 1.61168440e+01 -1.11684397e+00 -9.75918483e-16]
[[-0.23197069 -0.78583024  0.40824829]
 [-0.52532209 -0.08675134 -0.81649658]
 [-0.8186735   0.61232756  0.40824829]]

求解矩阵的逆矩阵

import numpy as np

# 定义一个3x3的矩阵
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 计算矩阵A的逆矩阵
invA = np.linalg.inv(A)

# 输出逆矩阵
print(invA)

输出结果:

[[-4.50359963e+15  9.00719925e+15 -4.50359963e+15]
 [ 9.00719925e+15 -1.80143985e+16  9.00719925e+15]
 [-4.50359963e+15  9.00719925e+15 -4.50359963e+15]]

求解线性方程组

import numpy as np

# 定义一个3x3的矩阵
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 定义一个3x1的矩阵
b = np.array([1, 2, 3])

# 求解线性方程组
x = np.linalg.solve(A, b)

# 输出解
print(x)

输出结果:

[-2.23606798e-16  1.00000000e+00 -1.00000000e+00]
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。