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

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


相关推荐

  • 使用 Windows Live Writer[通俗易懂]

    使用 Windows Live Writer[通俗易懂]导航1.安装2.配置3.使用入门4.技巧1.安装绿色版下载地址:http://www.xdowns.com/soft/1/16/2007/Soft_38256.html2.配置以下内容是配置CSDN博客(其他的BLOG配置自己摸索):1.在WindowsLiveWriter,点击菜单“日志/添加日志账户”

    2022年10月7日
    2
  • vscode css自动补全_vscode怎么运行html文件

    vscode css自动补全_vscode怎么运行html文件当我vscode新建html文件时,用!+table键结果发现毫无反应?嗯???[/手动黑人问号]万能的某度来了>>>>>>>>>>>>>>>>>第一步:进入设置界面,搜索seting.json第二步:配置seting.json文件: “emmet.trigg…

    2022年8月22日
    5
  • LARS(最小角回归)

    LARS(最小角回归)优缺点LARS是一个适用于高维数据的回归算法。优点: 特别适合于特征维度n远高于样本数m的情况。 算法的最坏计算复杂度和最小二乘法类似,但是其计算速度几乎和前向选择算法一样 可以产生分段线性结果的完整路径,这在模型的交叉验证中极为有用 缺点:由于LARS的迭代方向是根据目标的残差而定,所以该算法对样本的噪声极为敏感。…

    2022年4月20日
    38
  • Java多线程——基本概念「建议收藏」

    Java多线程——基本概念「建议收藏」线程和多线程程序:是一段静态的代码,是应用软件执行的蓝本进程:是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程线程:是比进程更小的执行单位。进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念主线程:(每个Java程序都有一个…

    2022年5月13日
    37
  • linux中如何杀掉一个进程_linux系统杀死所有进程命令

    linux中如何杀掉一个进程_linux系统杀死所有进程命令方法一:sudokillall-9netease-cloud-music这种方法,必须要写全称。sudonetease-cloud-musicQStandardPaths:XDG_RUNTIME_DIRnotset,defaultingto’/tmp/runtime-root’05-23,14:29:48[Error][…

    2022年9月29日
    0
  • 【毕业季】这四年一路走来都很值得——老学长の忠告

    【毕业季】这四年一路走来都很值得——老学长の忠告大家好,我是路飞!又是一年毕业季,大学四年还没来得及好好体验校园生活,就匆忙收尾了!这四年时光里,有过目标和追求,也有过遗憾和不舍,从四年前刚踏入大学校门时满怀的憧憬和期待,到现在终于结束了自己长达十几年的学生身份,离开校园踏入社会。正式作为一个在互联网苟且偷生,为了生活和前途而努力的。…

    2022年7月25日
    8

发表回复

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

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