【线代&NumPy】 特征值分解
2023-09-14 09:15:59 时间
import numpy as np
# 打印A的函数
def pprint(msg, A):
print("---", msg, "---")
(n,m) = A.shape
for i in range(0, n):
line = ""
for j in range(0, m):
line += "{0:.2f}".format(A[i,j]) + "\t"
print(line)
print("")
print("特征值分解\n")
A = np.array([[3.0, 1.0], [2.0, 2.0]])
w, S = np.linalg.eig(A)
L = np.diag(w)
pprint("矩阵B ", A)
pprint("特征矩阵 L", L)
pprint("特征向量矩阵 S", S)
pprint("S*L*S^{-1}", np.matmul(np.matmul(S,L), np.linalg.inv(S)))
B = np.array([[1.0, 1.0, 0.0], [1.0, 3.0, 1.0], [2.0, -1.0, 1.0]])
w, S = np.linalg.eig(B)
L = np.diag(w)
pprint("矩阵B", B)
pprint("特征矩阵 L", L)
pprint("特征向量矩阵 S", S)
pprint("S*L*S^{-1}", np.matmul(np.matmul(S,L), np.linalg.inv(S)))
🚩 运行结果:
特征值分解--- 矩阵B ---
3.00 1.00
2.00 2.00--- 特征矩阵 L ---
4.00 0.00
0.00 1.00--- 特征向量矩阵 S ---
0.71 -0.45
0.71 0.89--- S*L*S^{-1} ---
3.00 1.00
2.00 2.00--- 矩阵B ---
1.00 1.00 0.00
1.00 3.00 1.00
2.00 -1.00 1.00--- 特征矩阵 L ---
3.36+0.00j 0.00+0.00j 0.00+0.00j
0.00+0.00j 0.82+0.90j 0.00+0.00j
0.00+0.00j 0.00+0.00j 0.82-0.90j--- 特征向量矩阵 S ---
0.39+0.00j -0.19+0.29j -0.19-0.29j
0.92+0.00j -0.22-0.22j -0.22+0.22j
-0.06+0.00j 0.88+0.00j 0.88-0.00j--- S*L*S^{-1} ---
1.00-0.00j 1.00+0.00j -0.00-0.00j
1.00+0.00j 3.00-0.00j 1.00-0.00j
2.00+0.00j -1.00-0.00j 1.00-0.00j
相关文章
- eBGP&iBGP 总结
- share a story on OSPF & BGP
- 今日头条&58转转笔试
- PLSQL连Oracle数据库Could not load "……binoci.dll"
- DataScience&ML:基于heart disease心脏病分类预测数据集利用决策数算法基于graphviz/eli5/pdpbox/shap库实现模型可解释性(全局/部分/局部解释)之详细攻略
- 智能优化算法——灰狼优化算法(Python&Matlab实现)
- 基于蒙特卡洛法的规模化电动车有序充放电及负荷预测(Python&Matlab实现)
- org.json.JSONException: A JSONObject text must begin with '{' at character 1 of {解决方法
- json&pickle序列化
- Shell脚本———— /dev/null 2>&1详解
- 【Python-Numpy】numpy.expand_dims()的解析与使用
- 【Python-Numpy】numpy.random.binomial()的解析与使用
- [spring学习]11、AOP使用,注解&xml配置
- Kubernetes Cephfs & Ceph RBD 在k8s中的适用场景讨论及数据库性能压测
- 【线代&NumPy】第十二章 - 奇异值课后练习 | 奇异值分解 SVD | 简述并提供代码
- 【线代&NumPy】第十一章 - 正交性2课后练习 | 离散傅里叶变换 | 逆离散傅里叶变换 | 简述并提供代码
- 【线代&NumPy】第一章 - 线代概要课后练习 | .array 和 .shape | 简述并提供代码
- 【线代&NumPy】第十章 - 正交性课后练习 | 施密特正交化 | QR分解法 | 简述并提供代码
- 【线代&NumPy】第六章 - 向量1课后练习 | 向量计算 | 求两向量夹角 | 求正投影 | 简述并提供代码