np.linalg.eig
时间: 2023-10-14 21:18:25 浏览: 36
np.linalg.eig() 是 NumPy 库中用于计算矩阵特征值和特征向量的函数。给定一个方阵,它将返回一个包含特征值的数组和一个包含相应特征向量的数组。
函数原型如下:
```python
numpy.linalg.eig(a)
```
其中,参数 a 为输入的方阵,返回值为:
- w: 特征值
- v: 归一化的(单位)特征向量矩阵,第 i 列是与 w[i] 相对应的特征向量。
例如,对于一个 2x2 的矩阵:
```python
import numpy as np
a = np.array([[1, 2], [2, 1]])
w, v = np.linalg.eig(a)
print("特征值:", w)
print("特征向量:\n", v)
```
输出结果为:
```
特征值: [ 3. -1.]
特征向量:
[[ 0.70710678 -0.70710678]
[ 0.70710678 0.70710678]]
```
相关问题
np.linalg.eig函数
np.linalg.eig函数是NumPy中用于计算矩阵特征值和特征向量的函数。它的使用方法为:
```python
import numpy as np
# 生成一个矩阵
A = np.array([[1, 2], [3, 4]])
# 计算特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(A)
print('特征值:', eigenvalues)
print('特征向量:', eigenvectors)
```
输出结果为:
```
特征值: [-0.37228132 5.37228132]
特征向量: [[-0.82456484 -0.41597356]
[ 0.56576746 -0.90937671]]
```
其中,特征值和特征向量分别保存在`eigenvalues`和`eigenvectors`变量中。
np.linalg.eig eigh
`np.linalg.eig`函数是NumPy库中用于计算普通方阵的特征值和特征向量的函数。它可以接受一个方阵作为输入,并返回一个包含特征值和特征向量的元组。
而`np.linalg.eigh`函数则是用于计算对称方阵的特征值和特征向量的函数。它与`np.linalg.eig`类似,但是针对对称矩阵的特征值计算进行了优化。对于对称方阵,`np.linalg.eigh`通常比`np.linalg.eig`更快且更精确。
如果你的矩阵是对称的,可以使用`np.linalg.eigh`函数来计算特征值和特征向量。否则,可以使用`np.linalg.eig`函数来计算。