习题2.12

1.代码实现

点击查看代码
import numpy as np
from sympy import Matrix, symbols

# 定义一个矩阵
A = np.array([[-1,1,0],[-4,3,0],[1,0,2]])

# 使用numpy.linalg.eig求解特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(A)

print("数值解的特征值:", eigenvalues)
print("数值解的特征向量:\n", eigenvectors)


# 定义符号变量(虽然在这个例子中我们不需要显式地定义它们,但SymPy内部会使用)
# x, y = symbols('x y')  # 在这个例子中不需要

# 定义一个符号矩阵
A = Matrix([[4, 2], [1, 3]])

# 使用.eigenvects()方法求解特征值和特征向量(符号解)
eigenvects = A.eigenvects()

print("符号解的特征值和特征向量:")
for lambda_, multiplicity, vectors in eigenvects:
    print(f"特征值: {lambda_}, 多重性: {multiplicity}")
    for vector in vectors:
        print(f"特征向量: {vector}")
print("学号:3014")

2.运行结果

posted on 2024-10-15 16:58  克卜勒星球  阅读(5)  评论(0编辑  收藏  举报

导航