文章目录
- 一、线性代数计算的函数
-
-
-
- [1. 矩阵和向量的乘法:`np.dot()`](#1. 矩阵和向量的乘法:
np.dot()
) - [2. 矩阵的逆:`np.linalg.inv(A)`](#2. 矩阵的逆:
np.linalg.inv(A)
) - [3. 矩阵的转置:`np.transpose(A)`](#3. 矩阵的转置:
np.transpose(A)
) - [4. 矩阵的行列式:`np.linalg.det(A)`](#4. 矩阵的行列式:
np.linalg.det(A)
) - [5. 矩阵的特征值和特征向量:`np.linalg.eig()`](#5. 矩阵的特征值和特征向量:
np.linalg.eig()
) - [6. 解线性方程组:`np.linalg.solve()`](#6. 解线性方程组:
np.linalg.solve()
) - [7,范数`np.linalg.norm(x, ord=None, axis=None, keepdims=False)`](#7,范数
np.linalg.norm(x, ord=None, axis=None, keepdims=False)
)
- [1. 矩阵和向量的乘法:`np.dot()`](#1. 矩阵和向量的乘法:
-
-
一、线性代数计算的函数
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,则结果为标量
python
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])