利用矩阵初等变换进行对角化

利用矩阵初等变换进行对角化目录矩阵初等变换对角化证明矩阵初等变换记某矩阵为 其中为维度为 n 的行向量 则行初等变换有以下三种 1 交换两行的位置 2 3 同样的 对应的列初等变换就是把行向量换成列向量即可 为什么这些变换被称为矩阵的初等变换呢 或者说这些操作有什么特点呢 如果我们把矩阵看成一个多元一次齐次线性方程组的系数矩阵的话 那么很显然 这些操作并不会改变该方程组的解空间 即加入某个向量是变换前的解 那么一定也是变换后的解 反

目录

矩阵初等变换

对角化

证明


矩阵初等变换

        记某矩阵为\begin{pmatrix} \alpha_{1}\\ ...\\ \alpha_{n} \end{pmatrix},其中\alpha_{1},...,\alpha_{n}为维度为n的行向量。则行初等变换有以下三种:

1. 交换两行的位置;

2. \alpha_{i}=k\cdot \alpha_{i}

3. \alpha_{i}=k\cdot \alpha_{j}+\alpha_{i}

同样的,对应的列初等变换就是把行向量换成列向量即可。

        为什么这些变换被称为矩阵的初等变换呢?或者说这些操作有什么特点呢?

        如果我们把矩阵看成一个多元一次齐次线性方程组的系数矩阵的话,那么很显然,这些操作并不会改变该方程组的解空间,即加入某个向量是变换前的解,那么一定也是变换后的解,反之亦然。因此,矩阵的初等变换(无论是行初等变换还是列初等变换)实际上就是不会改变解空间的简单变换(解空间实际上就是核空间)。这一特点对矩阵的后续研究有重要的意义。

对角化

命题:对于秩为k的nxn的矩阵A,一定可以通过矩阵初等变换成如下形式:

\begin{pmatrix} 1 &... &0 & ... &b_{1,n} \\ ...&... &... &... &... \\ 0& ...& 1 & ...& b_{k,n}\\ ...&... &... & ..& ...\\ 0 &... &0 &... &0 \end{pmatrix}=\begin{pmatrix} E_{k,k} &B_{k,n-k} \\ O_{n-k,k} & O_{n-k,n-k} \end{pmatrix}

即可以通过矩阵初等变换,让矩阵对角化。其中E_{k,k}表示kxk的单位矩阵,O_{i,j}表示ixj的元素为0的矩阵,B_{i,j}表示ixj的任意矩阵。

证明

1. 由于矩阵的秩为k,那么该方程组只有k个有效方程,并且这k个有效方程的系数向量是线性无关的。因为根据秩的定义,这n个方程都可以由这k个方程的线性组合得到,即这n个方程的解和这k个有效方程的解是完全一样的,因此,我们可以很容易的通过初等变换将系数矩阵变换成如下的形式:

\begin{pmatrix} M_{k,n}\\ O_{n-k,n} \end{pmatrix}

2. 接下来,我们只要证明M_{k,n}可以转成(E_{k,k},B_{k,n-k})即可。

a. 首先我们看第一个行向量\alpha_{1},由于是线性无关非零向量,因此必存在非零元素\alpha_{1,i},将第i列通过列初等变换和第一列进行互换,再将该行除以\alpha_{1,i},便将第一行第一列变成了1;然后将第一列除了第一个元素外的任意元素,记为\alpha_{j,1}都减去\alpha_{j,1}\cdot \alpha_{1},便可以将第一列除了第一个元素外,其他元素都变成0。

b. 然后再看变换后得到的第二个行向量,可知必存在非零元素。因为如果是全零的向量,那么因为该向量只经过初等变换,也就是跟其他行向量的线性组合得到的,由此可以推出该向量和其他行向量是线性相关的,这个和前提矛盾,因此必存在非零元素。同样的,将该非零元素所在的列和第二列互换,然后重复a的操作即可。直至第k个行向量,就可以将M_{k,n}转成(E_{k,k},B_{k,n-k})

        这里需要强调的是,假设上述操作已经进行到第i个行向量了,由于经过上述操作后,第i行的第1到i-1的元素全都是0,因此第i行和其他行的线性组合并不会影响到其他行的第1到i-1列的元素的值,也就是对之前进行的a,b操作得到的结果不会造成影响。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233634.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月3日 下午3:01
下一篇 2025年7月3日 下午3:22


相关推荐

  • 【Spark】Spark基础教程

    【Spark】Spark基础教程Spark最初由美国加州伯克利大学的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。Spark特点Spark具有如下几个主要特点:运行速度快:Spark使用先进的DAG(DirectedAcyclicGraph,有向无环图)执行引擎,以支持循环数据流与内存计算,基于内存的执行速度可比HadoopMapReduce快上百倍,…

    2022年5月4日
    51
  • C/C++中随机函数rand()和srand()的用法「建议收藏」

    C/C++中随机函数rand()和srand()的用法「建议收藏」一、rand()函数名:rand功能:随机数发生器用法:intrand(void);所在头文件:stdlib.h函数说明:rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。

    2022年4月29日
    44
  • 数仓分层理论_多元分层理论

    数仓分层理论_多元分层理论​数仓分层、元数据管理、数据质量管理

    2025年6月8日
    5
  • AI Ping:精准可靠的大模型服务性能评测平台

    AI Ping:精准可靠的大模型服务性能评测平台

    2026年3月12日
    3
  • 协方差的计算方法

    协方差的计算方法版权声明 本文绝大部分转自 CSDN 博主 lslrh 123 文章 在此感谢 原文链接 https blog csdn net lslrh 123 article details 协方差的定义对于一般的分布 直接代入 E X 之类的就可以计算出来了 但真给你一个具体数值的分布 要计算协方差矩阵 根据这个公式来计算 还真不容易反应过来 网上值得参考的资料也不多 这里用一个例子

    2025年11月30日
    5
  • C#ThreadPool.QueueUserWorkItem实例「建议收藏」

    C#ThreadPool.QueueUserWorkItem实例「建议收藏」今天学习线程池的时候发现,网上能搜到的都是很久以前的文档了,大家都是照搬过去,有没有考证都是问题。经过测试结果已经和他们说的不一样了,比如 Listactions=newList(){()=>{Console.WriteLine(“A-1”);},()=>{Conso

    2026年3月5日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号