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

利用矩阵初等变换进行对角化目录矩阵初等变换对角化证明矩阵初等变换记某矩阵为 其中为维度为 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android取消toast_android重写toast

    android取消toast_android重写toast本文实例讲述了AndroidToast通知用法。分享给大家供大家参考,具体如下:Toast在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失。1.默认用法Toast.makeText(getApplicationContext(),”默认Toast样式”,Toast.LENGTH_SHORT).show();2.Fragment中的用法Toast.makeText(getActivity…

    2025年11月6日
    1
  • Java实现对List去重

    Java实现对List去重方式一,使用for循环遍历去除List中的重复元素代码如下 publicstaticvoidmain(String[]args){Test07test07=newTest07();System.out.println(test07.getList());}publicListgetList(){…

    2022年5月25日
    41
  • 零拷贝是什么_file.copy()

    零拷贝是什么_file.copy()一、DMAio读写有两种方式:中断 DMA用户进程发起数据读取请求 系统调度为该进程分配cpu cpu向io控制器(ide,scsi)发送io请求 用户进程等待io完成,让出cpu 系统调度cpu执行其他任务 数据写入至io控制器的缓冲寄存器 缓冲寄存器满了向cpu发出中断信号 cpu读取数据至内存通过中断,cpu需要拷贝数据。2、DMA用户进程发起…

    2022年9月21日
    2
  • ORA12154和TNS03505监听错误的解决方法「建议收藏」

    ORA12154和TNS03505监听错误的解决方法「建议收藏」原ORA-12154和TNS-03505监听错误的解决方法https://blog.csdn.net/tianlesoftware/article/details/5716028版权声明:https://blog.csdn.net/tianlesoftware/article/details/5716028之前在一台测试机上装了GridControl,今天在这台机器上添加了一个监听,…

    2022年7月24日
    6
  • 911完整记录_入院记录书写

    911完整记录_入院记录书写本文记录了打PSU的全过程,意在体会数据库打PSU补丁的整个过程。1.OPatch替换为最新版本2.数据库软件应用19121551补丁程序3.数据库应用补丁4.验证PSU补丁是否应用成功1.OPatch替换为最新版本[oracle@DBusr2]$iduid=500(oracle)gid=500(oinstall)组=500(oinstall),501(dba)环境=…

    2022年10月15日
    3
  • parsererror是什么意思中文翻译python-Python etree.ParserError方法代码示例

    parsererror是什么意思中文翻译python-Python etree.ParserError方法代码示例本文整理汇总了Python中lxml.etree.ParserError方法的典型用法代码示例。如果您正苦于以下问题:Pythonetree.ParserError方法的具体用法?Pythonetree.ParserError怎么用?Pythonetree.ParserError使用的例子?那么恭喜您,这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在模块lxml.e…

    2022年6月24日
    45

发表回复

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

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