当前位置: 首页 > news >正文

6.10 谱分解

文章目录

  • 计算方法
  • 代码实现

计算方法

  单纯矩阵normal matrix指的是符号ATA=AATA^TA=AA^TATA=AAT的矩阵,他们的特征值互异。此外,单纯矩阵还有个特点,他们的特征空间彼此正交。
  对于单纯矩阵,存在以下的谱定理Spectral theorem

单纯矩阵可以分解为以下矩阵相加的形式:
A=∑i=1nλiviviHA=\sum_{i=1}^n\lambda_iv_iv_i^H A=i=1nλiviviH
公式中,viv_ivi是特征值λi\lambda_iλi对应的单位特征向量。

  把矩阵分解为这种形式就是谱分解Spectral Decompostion。所以谱分解挺容易的,求出特征值和特征向量就行了。
  以下是一个矩阵谱分解的例子:
(3000020000−20000−1)=3(1000000000000000)+2(0000010000000000)−2(0000000000100000)−(0000000000000001)\begin{pmatrix}3 & 0 & 0 & 0\\ 0 & 2 & 0 & 0\\ 0 & 0 & -2 & 0\\ 0 & 0 & 0 & -1\\ \end{pmatrix}\\ = 3 \begin{pmatrix}1 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ \end{pmatrix}+2 \begin{pmatrix}0 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ \end{pmatrix} -2 \begin{pmatrix}0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 0\\ \end{pmatrix} -\begin{pmatrix}0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 1\\ \end{pmatrix} 3000020000200001=31000000000000000+20000010000000000200000000001000000000000000000001

代码实现

  特征值可以用海森堡法求解,特征向量可以用齐次方程组求解的方法求得,最后注意单位化就行了。以下是python代码:

    # 谱分解def spectral_decomposition(self):# 求特征值from com.youngthing.mathalgorithm.linearalgebra.hessenberg import Matrix as Meigen_values = M(self.__vectors).eigen_values()spectral_matrices = []for i, e in enumerate(eigen_values):# 单纯矩阵的几何重数为1eigen_vector = self.eigen_vector(e)[0]vector_len = Matrix.vector_len(eigen_vector)eigen_vector = matrix_utils.mul_num(eigen_vector, 1 / vector_len)x = Matrix([eigen_vector])spectral_matrices.append(x * x.transpose_matrix())return eigen_values, spectral_matrices
http://www.lryc.cn/news/5650.html

相关文章:

  • MySQL入门篇-MySQL 行转列小结
  • 项目管理常见的十大难题及其症状
  • 技术方案模板
  • MySQL中对于单表和多表的操作
  • MFI认证
  • Vue中mixins的使用
  • 【PyQt】PyQt学习(一)框架介绍+环境搭建
  • 浅谈前端设计模式:策略模式和状态模式的异同点
  • 线性杂双功能PEG试剂OPSS-PEG-Acid,OPSS-PEG-COOH,巯基吡啶聚乙二醇羧基
  • 开发微服务电商项目演示(四)
  • 【C语言学习笔记】:静态库
  • 社科院与杜兰大学中外合作办学金融管理硕士——30+的年龄在职读研有必要吗?
  • 2.13作业【设备树解析,按自己理解】
  • 《NFL星计划》:巴尔的摩乌鸦·橄榄1号位
  • Allegro如何设置自动保存和自动保存的时间操作指导
  • Kotlin实现简单音乐播放器
  • ShardingSphere-Proxy 数据库协议交互解读
  • 基于ubuntu20.4的wine的MDK5软件的安装
  • Jmeter之直连数据库框架搭建简介
  • 备战蓝桥杯【高精度乘法和高精度除法】
  • 火眼审阅 | 基于NLP和OCR识别技术赋能合同审阅
  • 关于在集合中对象比较属性值的问题
  • java微信小程序旅游管理系统
  • 2023年要跟踪的11个销售管理关键指标
  • MongoDB--》基本常用命令使用
  • js浮点数四则运算精度丢失以及toFixed()精度丢失解决方法
  • 高姿态下的面部表情识别系统
  • English Learning - Day59 作业打卡 2023.2.13 周一
  • 图机器学习
  • ArcGIS中ArcMap创建渔网Create Fishnet:生成指定大小的格网矢量文件