假设矩阵A为[1, -2, 1; 0, 2, -8; -4, 5, 9],编程实现求取矩阵A的特征值和特征向量,并进行SVD分解,并求取当B为[0, 8, -9]时线性方程组AX=B的解。
时间: 2024-02-24 16:54:37 浏览: 100
基于Python实现TF-IDF矩阵表示(人工智能实验)【100011921】
以下是 Python 代码实现:
```python
import numpy as np
# 定义矩阵 A
A = np.array([[1, -2, 1], [0, 2, -8], [-4, 5, 9]])
# 求取特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(A)
print("特征值为:", eigenvalues)
print("特征向量为:\n", eigenvectors)
# 进行 SVD 分解
U, s, Vh = np.linalg.svd(A)
print("左奇异矩阵 U 为:\n", U)
print("奇异值为:", s)
print("右奇异矩阵 V 的共轭转置为:\n", Vh)
# 求解线性方程组 AX=B
B = np.array([0, 8, -9])
X = np.linalg.solve(A, B)
print("线性方程组 AX=B 的解为:", X)
```
其中,求解特征值和特征向量使用了 `numpy.linalg.eig()` 函数;进行 SVD 分解使用了 `numpy.linalg.svd()` 函数;求解线性方程组使用了 `numpy.linalg.solve()` 函数。
你可以直接复制上述代码,在 Python 环境中执行并进行测试。
阅读全文