python矩阵的特征向量
时间: 2025-01-16 15:59:13 浏览: 44
### 使用 NumPy 和 SciPy 计算矩阵的特征向量
在 Python 中,`NumPy` 提供了一个方便的方法来计算矩阵的特征值和特征向量。具体来说,可以通过 `numpy.linalg.eig` 函数实现这一目标[^1]。
#### 定义并初始化矩阵
为了展示如何使用此功能,先定义一个简单的 2×2 方阵作为例子:
```python
import numpy as np
A = np.array([[4, 2],
[1, 3]])
```
#### 调用 linalg.eig 方法获取特征值与特征向量
通过调用 `np.linalg.eig()` 可以返回两个对象:一个是包含所有特征值的一维数组;另一个是由对应于这些特征值的列组成的二维数组,即特征向量矩阵。
```python
w, v = np.linalg.eig(A)
print("Eigenvalues:", w)
print("Eigenvectors:\n", v)
```
这里 `w` 表示的是特征值 `(…, M)` 数组,而 `v[:, i]` 是对应的第 `i` 个特征向量。
#### 特征值和特征向量的概念解释
在线性代数里,如果存在某个非零向量 \( \mathbf{v} \),使得对于给定的方阵 A 来说有 \( A\mathbf{v}=λ\mathbf{v}\),那么这个 λ 就被称为 A 的一个特征值,相应的非零向量 \( \mathbf{v} \) 则是属于该特征值的一个特征向量[^2]。
#### 验证结果
可以验证上述得到的结果是否满足定义中的条件:
```python
for i in range(len(w)):
lhs = np.dot(A, v[:, i])
rhs = w[i]*v[:, i]
print(f"Verification for eigenvalue {w[i]}:")
print("Left hand side (Av): ", lhs)
print("Right hand side (λv): ", rhs)
print("Difference: ", lhs-rhs)
```
这段代码会打印出每一对特征值及其相应特征向量之间的关系,并确认它们确实符合原始定义的要求。
阅读全文
相关推荐

















