6.12 谱分解

这篇具有很好参考价值的文章主要介绍了6.12 谱分解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

计算方法

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

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

  把矩阵分解为这种形式就是谱分解Spectral Decompostion。所以谱分解挺容易的,求出特征值和特征向量就行了。
  以下是一个矩阵谱分解的例子:
( 3 0 0 0 0 2 0 0 0 0 − 2 0 0 0 0 − 1 ) = 3 ( 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + 2 ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) − 2 ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) − ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ) \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 =3 1000000000000000 +2 0000010000000000 2 0000000000100000 0000000000000001

代码实现

  特征值可以用海森堡法求解,特征向量可以用齐次方程组求解的方法求得,最后注意单位化就行了。以下是python代码:文章来源地址https://www.toymoban.com/news/detail-459123.html

    # 谱分解
    def spectral_decomposition(self):
        # 求特征值
        from com.youngthing.mathalgorithm.linearalgebra.hessenberg import Matrix as M
        eigen_values = M(self.__vectors).eigen_values()
        spectral_matrices = []
        for i, e in enumerate(eigen_values):
            # 单纯矩阵的几何重数为1
            eigen_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

到了这里,关于6.12 谱分解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 矩阵分析与计算学习记录-矩阵分解

    本章重点内容: 满秩分解:存在性、方法 三角分解:Doolittle分解、两种求解方法、cholesky分解 QR分解:定义、Householder变换、Givens变换、Schmidt正交化方法求QR分解、上Hessenberg矩阵 奇异值分解     下面看个例子,对矩阵进行满秩分解   矩阵的三角分解是最基本的一种矩阵分解

    2024年02月01日
    浏览(33)
  • 矩阵计算复杂度(简洁版)(Computational complexity of matrix)

    This blog mainly focuses on the complexity of matrix calculation. I will introduce this topic in three parts: main results, analysis, and proof, code. Let ,  and invertible matrix . Then we have following computational complexity : (1)  ; (2)  ; (3) ; The usual computation for integer multiplication has a complexity of . This means that there is

    2023年04月13日
    浏览(39)
  • FPGA HLS Matrix_MUL 矩阵乘法的计算与优化

    设置clock,10表示一个周期10ns,带宽100M vivado工具比较保守,计算需要的延迟是14,实际优化可以在10,设置大一点,优化的计算更多,一般约束设置大一点在30-50 选择开发板 xc7z020clg400-1 Source:描述功能模块的cpp和h代码 Test Bench:测试代码的 main.cpp matrix_mul.h #ifndef __xxxx__ #def

    2024年02月09日
    浏览(31)
  • STM32平台下官方DMP库6.12超详细移植教程

    Motion Driver官方库:Motion_Driver_6.12 STM32工程源码:STM32F103C8-软件MPU6050(DMP) MPU6050软件I2C驱动,带OLED显示,移植了匿名地面站,可显示姿态信息(匿名地面站通信协议6.0版本,本人使用测试的匿名地面站版本V6.56版本) —————————————————————————

    2024年02月15日
    浏览(27)
  • Linux内存从0到1学习笔记(6.12 应用程序是如何申请内存的呢?)

        前面提到了应用程序大多基于glibc的malloc/free进行内存的分配。这里不讨论共享内存,因为共享内存都是预先分配好的,所以由共享内存mmap和shm所设计的内存泄漏比较少见。     接下来我们从应用调用的维度来看下,应用程序都有哪些调用入口,以及它们是如何申请和释

    2024年02月03日
    浏览(51)
  • 最优化方法(三)——矩阵QR分解

    1.熟练掌握 QR 分解 Gram–Schmidt方法; 2.掌握 Householder 方 法 ; 3. 能够判断 矩阵是否可逆 ,并 求出其逆矩阵 。 读取附件 MatrixA.mat 文件中的 矩阵 A , 利用 Gram–Schmidt(GS) 算法对A进行QR分解 。 (1)   验证GS是否 能稳定 进行QR分解矩阵A ,其 Q矩阵 是否正交? (2) 实现 Householder

    2024年01月24日
    浏览(29)
  • 最优化方法实验三--矩阵QR分解

    1.熟练掌握 QR 分解 Gram–Schmidt方法; 2.掌握 Householder 方 法 ; 3. 能够判断 矩阵是否可逆 ,并 求出其逆矩阵 。 1 .1向量投影 向量的投影包含了两层意思:①正交关系:矢量与投影的差称为误差,误差和投影正交;②最短距离:投影空间中所有矢量中,与原矢量距离最近的,

    2024年02月22日
    浏览(33)
  • python:多分类-计算混淆矩阵confusion_matrix、precision、recall、f1-score分数

    多分类,计算混淆矩阵confusion_matrix,以及accuracy、precision、recall、f1-score分数。 1)使用sklearn计算并画出 混淆矩阵(confusion_matrix) ; 2)使用sklearn计算 accuracy(accuracy_score) ; 3)使用sklearn计算多分类的 precision、recall、f1-score分数 。以及计算每个类别的precision、recall、f1-

    2024年02月06日
    浏览(33)
  • C#,数值计算,矩阵的乔莱斯基分解(Cholesky decomposition)算法与源代码

    安德烈·路易斯·乔尔斯基出生于法国波尔多以北的查伦特斯海域的蒙古扬。他在波尔多参加了Lycée e,并于1892年11月14日获得学士学位的第一部分,于1893年7月24日获得第二部分。1895年10月15日,乔尔斯基进入莱科尔理工学院,在当年223名入学学生中排名第88位。他在莱科尔理工

    2024年02月22日
    浏览(31)
  • pytorch3d旋转矩阵转四元数transforms.matrix_to_quaternion函数隐藏的大坑及其解决方法

      在pytorch旋转矩阵转四元数及各种旋转表示方式之间的转换实现代码这篇博客里,我提到可以使用pytorch3d实现批量旋转表示方法之间的转换。但是最近在使用它的matrix_to_quaternion函数的时候,发现了一个隐藏的巨大bug:它不会确保输出的四元数中的那个实数w恒为正。这样就

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包