python-np.linalg-线性代数

发布于:2024-03-30 ⋅ 阅读:(67) ⋅ 点赞:(0)

一、线性代数计算的函数

np.linalg是NumPy库中用于线性代数运算的子模块。

1. 矩阵和向量的乘法:np.dot()
2. 矩阵的逆:np.linalg.inv(A)

矩阵必须是方阵且可逆,否则会抛出LinAlgError异常。

3. 矩阵的转置:np.transpose(A)
4. 矩阵的行列式:np.linalg.det(A)
5. 矩阵的特征值和特征向量:np.linalg.eig()

linalg模块中,eigvals()函数可以计算矩阵的特征值,而eig()函数可以返回一个包含特征值和对应的特征向量的元组

6. 解线性方程组:np.linalg.solve()
7,范数np.linalg.norm(x, ord=None, axis=None, keepdims=False)

参数解释:

  • x:要计算范数的向量或矩阵
  • ord:范数的类型,默认为None,表示计算向量的二范数。可以设置为1、2、np.inf等不同的值,分别对应不同的范数计算方式
  • axis:指定沿着哪个轴计算范数,对于矩阵而言,可以选择0计算列向量的范数,1计算行向量的范数
  • keepdims:是否保持计算结果的维度,如果设置为True,则结果会保持与输入的维度相同,如果设置为False,则结果为标量
import numpy as np

# 创建一个向量
v = np.array([1, 2, 3])

# 计算向量v的二范数
norm_v = np.linalg.norm(v)

print(norm_v)

输出结果:
3.7416573867739413

# 创建一个矩阵
A = np.array([[1, 2], [3, 4]])

# 计算矩阵A的Frobenius范数,并保持维度
norm_A = np.linalg.norm(A, ord='fro', keepdims=True)

print(norm_A)

输出结果:
array([5.47722558])

网站公告

今日签到

点亮在社区的每一天
去签到