matlab非同秩矩阵相乘_线性代数精华——讲透矩阵的初等变换与矩阵的秩

这篇文章和大家聊聊矩阵的初等变换和矩阵的秩

矩阵的初等变换这个概念可能在很多人听来有些陌生,但其实我们早在初中的解多元方程组的时候就用过它。只不过在课本当中,这种方法叫做消元法。我们先来看一个课本里的例子:

904809844d5eead7effd0bee4ad432cf.png

假设我们要解这个方程,怎么做呢?

首先,我们把(1)式加到(2)式,把(4)式加到(3)式,把(1)式乘6加到(4)式可以得到:

53ba04d1cb4fc7e514aa9c9921430d78.png

我们再把(4)式减去(2)式乘5,可以解出x4=−3:

104f922ce797b1d364d35c26cd4d679f.png

我们把x4=−3带入,可以解出x1, x2, x3。

277a40d035c1bf8cdae0e255b1d740ab.png

因为消元之后,方程组的数量少于变量的数量,我们无法解出所有的变量。其中的x3可以取任何值。

上面这个计算的方法我们都非常熟悉,如果我们用一个矩阵来表示所有的次数,那么这个矩阵D可以写成:

d0cbf2c89693b43104175b5d628404da.png

那么,我们刚才消元的过程,其实就是对这个矩阵做初等变换。我们把这个过程总结一下,矩阵的初等变换操作包含以下三种:

  1. 对调两行
  2. 以数k,k≠0乘上某行的所有元素
  3. 以数k,k≠0乘上某行所有元素并加到另一行

以上的三种都是针对行为单位的,因此上面的三种变换也称为“行变换”。同样我们也可以对列做如上的三种操作,称为“列变换”。行变换和列变换结合就是矩阵的初等变换。

同样,我们可以对D这个矩阵使用刚才我们上述的初等变换操作,将它变成如下这个结果:

edfa29c9163106504804bb042855aec9.png

它就对应方程组:

7c7978e48459df21668f9d3588e73416.png

Dt矩阵是经过初等行变换的结果,我们还可以再对它进行列变换,将它变得更简单,我们只要交换第三和第三列,之后就可以通过初等列变换把第五列消除,之后它就变成了下面这个样子:

1189d053aafd82c2eedab3cdec4d2c36.png

我们用数据归纳法可以很容易证明,所有的m*n的矩阵经过一系列初等变换,都可以变成如下的形式:

02b02700e1e06e65d964b84e63057bb8.png

r就是最简矩阵当中非零行的行数,它也被称为矩阵的秩。我们把A矩阵的秩记作: R(A)

之前我们在介绍行列式的时候说过,行列式还存在多种性质。其中之一就是一个矩阵经过初等变换,它的行列式保持不变。我们又知道,如果行列式当中存在某一行或者某一列全部为0,那么它的行列式为0。

所以,我们可以得到,对于n阶矩阵A而言,如果它的秩R(A)

再根据我们前文当中有关可逆矩阵的定义,可以得到,可逆矩阵的秩就等于矩阵的阶数,不可逆矩阵的秩小于矩阵的阶数。所以,可逆矩阵又称为满秩矩阵,不可逆矩阵(奇异矩阵)又称为降秩矩阵。

之前我们在复习行列式以及逆矩阵的时候,总觉得少了些什么,现在有了矩阵的秩的概念之后,这些知识就能串起来了。

代码计算

同样,numpy当中也继承了计算矩阵秩的工具。我们可以很轻松的用一行代码算出矩阵的秩,这样我们在判断矩阵是否可逆的时候,就不需要通过行列式来判断了。因为矩阵秩的计算要比行列式的计算快得多。

import numpy as npnp.linalg.matrix_rank(a)
59bb0945ec73f540d6c3b2bbf4ea9a6c.png

有了矩阵秩的概念之后,我们后续的很多内容介绍起来都方便了许多,它也是矩阵领域当中非常重要的概念之一。

线性方程组的解

我们理解了矩阵的秩的概念之后,我们现学现用,看看它在线性方程组上的应用。

我们之前在介绍行列式的时候,曾经介绍过n元n个等式的方程组的解,可以用行列式表示。但是现实当中我们遇见的方程组并不一定是n元n等式的,我们推广到一般的情况来看。假设当下有一个n元m个等式的方程组:

25387252821bbb36f62a5c87ff3912d6.png

我们可以将它写成矩阵相乘的形式:Ax = b

ecc8c09c1daed29783a2d1498a926afe.png

我们利用系数矩阵A和增广矩阵B=(A,b)的秩,可以和方便地看出线性方程组是否有解。我们先来看结论:

  1. 当R(A) < R(B)时无解
  2. 当R(A) = R(B) = n时,有唯一解
  3. 当R(A) = R(B) < n时,有无数解

证明的过程也很简单,主要就是利用矩阵秩和最简矩阵的定义。

我们假设R(A)=r,并将B矩阵化简成最简形式,假设得到的结果是:

4699599ef52ce5f9267fe3fab72d69ad.png

(1) 显然,当R(A) < R(B)时,那么矩阵Bf中的dr+1 = 1,那么第r + 1行对应的方程0 = 1矛盾,所以方程无解。

(2) 如果R(A) = R(B) = r = n,那么矩阵Bf中的dr+1 = 0,并且 bij都不出现,所以我们可以直接写出方程组的解:

c821009aefe37618a143562613afeab2.png

此时,方程组有唯一解

(3) 如果R(A) = R(B) = r < n,则B中的dr+1=0,我们写出对应的解:

a13a6aedffcf35a5b4c005677294e7ce.png
4e4cdf719d3cef1423501a85ec16fee0.png

由于参数c1, c2, ... cn-r可以取任意值,所以方程有无数解。上面写出的解的形式即是线性方程组的通解

齐次线性方程组

如果我们将上面的线性方程组的常数项都置为0,就称为齐次线性方程组,如下:

bfa6092b17e90d6c9d4bfba7fbbba7c6.png

齐次方程组最大的特点就是当x=0时一定有解,称为方程组的零解。我们还通过增广矩阵来判断,写出来其实还是刚才一样的形式:

a5b0cd404c1773bbdc5f97d761b23254.png

和非齐次线性方程组不同的是,我们可以断定dr+1=0,如此一来就不存在无解的情况。这个时候我们要判断的就是方程组是否存在非零解,我们一样通过矩阵的秩来判断,判断的条件也很简单,如果R(A) = n,则不存在非零解,如果R(A) < n,则存在无数组非零解。

我们先写出R(A) = n的情况,这时候的矩阵Bf为:

f04fc20fd7ef565e3b468798b146d98e.png

也就是说:

27bab1c39780d3655a2219db5316005b.png
2eb0b14cb8711974df2378d2fd8cc578.png

当R(A) < n时方程组和非齐次方程组类似,唯一不同的是可以确定di=0 (i=1, 2, ...n),我们直接带入之前的通项公式,可以得到:

ca0afda031e8914455f602d504451e37.png

线性方程组的解的公式和计算本身其实并不重要。因为在实际的算法领域,用到的也不多。但是理解线性方程组对于理解后面的向量以及线性空间非常有帮助,文中的公式看着恐怖,但冷静下来真的去试着理解一下,会发现也就那么回事。


衷心希望大家学有收获,如果喜欢本文,请顺手给个关注吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win10桌面的图标都不见了怎么办 Win10电脑桌面图标找回方法

在使用电脑的过程中&#xff0c;有时会出现桌面上的图标都不见了的情况&#xff0c;这时应该怎么办呢?一般这种情况我们需要分为两种来考虑&#xff0c;下面小编就带着大家一起看看怎么解决吧! 方法一&#xff1a; 1、首先看下你的桌面是否还有任务栏&#xff0c;如果还有&a…

手持巡检仪_专业的三防产品设计-电力巡检仪设计

我个人认为所有科技的发展都是建立在人们的需求而产生的。让人们更加方便快捷舒适。在电力巡检的问题上&#xff0c;为了减少值班员抄表和记录因此设计出这款电力巡检仪设计。用于记录设备的运行、检修、备用状态,可查询当天的漏检项目情况&#xff0c;确保点检内容无遗漏&…

Win10怎么禁用系统更新服务 Win10禁用系统更新服务教程

win10默认开启了自动更新的功能&#xff0c;通过win10自动更新可以更好的完善win10系统&#xff0c;降低安全风险。不过有网友担心win10更新会与硬件不兼容&#xff0c;想禁用更新服务&#xff0c;因此想了解如何禁用win10自动更新。下面小编就教下大家禁用win10更新服务的方法…

thinkphp v5.0.11漏洞_ThinkPHP5丨远程代码执行漏洞动态分析

ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的&#xff0c;在保持出色的性能和至简代码的同时&#xff0c;也注重易用性。但是简洁易操作也会出现漏洞&#xff0c;之前ThinkPHP官方修复了一个严重的远程代码执行漏洞。这个漏洞的主要原因是由于框架对控制器名没有…

电脑提示0xc0000719设备未迁移如何解决

我们经常会使用usb硬盘传输文件&#xff0c;但是可能会遇到系统提示0xc0000719设备未迁移&#xff0c;导致文件传输失败&#xff0c;这是怎么回事?可能是硬盘出现了问题&#xff0c;也可能是插口损坏&#xff0c;下面我们就来看看解决的方法。 电脑提示0xc0000719设备未迁移如…

本地提交spark_Spark 数据本地化级别

​​RDD 源码大家可以看到源码中的第五条注释说明&#xff0c;翻译过来的大概意思是提供一系列的最佳计算位置。我之前一直不太清楚 spark 是如何内部实现的&#xff0c;今天就带领大家来看一看 spark 的本地数据化级别在任务执行中的演变过程。1 数据的本地化级别有哪些&#…

Win11怎么设置桌面软件小图标 Win11设置桌面软件小图标教程

Win10系统升级Win11系统之后&#xff0c;用户发现Win11比Win10多了非常多的功能&#xff0c;特别是一些可以自定义的功能&#xff0c;这是都是微软为了让用户有更好的体验感&#xff0c;让用户可以根据自己的喜欢进行设置调节&#xff0c;下面就给大家带来Win11桌面软件设置小图…

街舞中的rolling机器人_首家!爆点!奈雪の茶、蛙小侠..开业倒计时!街舞PK…这个六一就差你来围观了...

说起济南的各大shopping mall世茂广场绝对是最得人心的总能迅速集结当下最火爆的品牌各种线上线下活动也是搞得新颖又有趣五一的“刘看山”还没结束呢这就马不停蹄的要上新活动了前方预警⚠奈雪の茶等一大波新店又要入驻啦 还有 “奔跑吧爸爸”亲子活动、街舞大赛 ……统统都在…

Win11系统自动暂停更新后想继续怎么办 Win11系统重新启动更新教程

因为Win10系统跟Win11系统还是差别很大的原因&#xff0c;系统出现了问题很多人都不知道再怎么解决&#xff0c;有的用户就遇到Win11系统自动更新后突然暂停了想继续更新但是不知道去哪里操作的问题&#xff0c;下面给大家带来Win11系统自动暂停更新后如何继续更新的教程。 教…

简述isodata算法的原理_基于UWB技术的室内定位方法简述

1. UWB室内定位概述&#xff1a;UWB室内定位技术与传统通信技术有极大的差异&#xff0c;它不需要使用传统通信体制中的载波&#xff0c;而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据&#xff0c;从而具有GHz量级的带宽。超宽带室内定位可用于各个领域的室内精…

如何在Win11重置系统中保留个人文件 Win11重置系统保留个人文件方法

Win1系统是目前很多用户都在使用的电脑操作系统&#xff0c;但是最近安装的Win11系统有很多bug&#xff0c;很多用户想重置系统&#xff0c;但是不知道如何保留个人文件&#xff0c;下面小编就为大家详细的介绍一下&#xff0c;有需要的快来看看吧! Win11重置系统保留个人文件…

slider获取点击 unity_Unity基础 | 70分钟带你轻松入门

Hello . 大家好今天给大家分享Unity3D的基础入门我是麦田这次录制的教程是面向零基础&#xff0c;想上手Unity的同学。所以就做了这一次大串讲。(只此一回&#xff0c;别无分号了。)时长1小时10分钟&#xff0c;我的建议是一口气看完。(因为我也是一口气讲完的)大家可以点击文末…

win7电脑文件夹属性没有安全选项的解决方法

在win7系统中&#xff0c;我们可以在文件夹属性的安全选项里对文件夹进行修改、读取、写入等权限的设置&#xff0c;但是很多朋友在准备设置权限时发现安全选项找不到了&#xff0c;这时候我们可以通过输入命令的方式将它找回来&#xff0c;下面一起来看看win7电脑文件夹属性没…

达梦数据库导入oracle数据_达梦数据库助力加速石油石化行业数字化转型升级

2020中国石油石化企业信息技术交流大会暨数字化转型、智能化发展高峰论坛于10月22日-23日在北京召开&#xff0c;武汉达梦数据库有限公司(简称达梦公司)作为国产数据库代表企业受邀参与此次活动&#xff0c;并以“国产数据库能源行业解决方案”为主题报告&#xff0c;为来宾介绍…

win7宽带已连接但是有感叹号无法上网的解决方法

网络图标显示感叹号是很常见的问题&#xff0c;可是有些win7 32位旗舰版用户已经连拨号连接成功了&#xff0c;也显示“已连接”&#xff0c;可是网络图标依旧还有感叹号&#xff0c;并且提示无网络访问&#xff0c;网页也打不开&#xff0c;网络诊断后提示dns服务器未响应或者…

在lcd屏幕上窗口显示一个bitmap_SmartDrop——LED/LCD大屏内容投屏管理软件

产品简介SmartDrop是飞画推出的一款针对拼接大屏(LCD/LED)进行内容投屏管理的播控软件&#xff0c;支持LCD/LED两种应用环境&#xff0c;用户可以根据屏幕的使用场景进行选择安装LCD-Drop或LED-Drop。SmartDrop支持超高分辨率&#xff0c;显示窗口分辨率自定义,远程可视化控制&…

Win7系统桌面右下角托盘图标不显示原因和解决方法

有位Ghost win7系统用户说开机桌面右下角托盘图标不见了&#xff0c;不显示托盘图标对操作有所影响&#xff0c;每次需要点击“←”按钮才可以显示&#xff0c;过一会又自动消失&#xff0c;什么原因导致的呢?出现这样的情况是由于系统中设置了隐藏任务栏图标。针对此问题&…

复杂电路简化经典例题_【中考物理】电路简化的10大原则和7大步骤

电路问题是初中物理比较难的知识&#xff0c;也是中考很重要的一部分。很多同学遇到电路类的题目&#xff0c;摆在面前的第一个问题就是不会简化电路图。今天给大家分享电路简化的10大原则和7大步骤&#xff0c;希望能够帮你解决这个难题&#xff01;电路简化的10大基本原则初中…

猎豹浏览器截图在哪 猎豹浏览器如何截图

猎豹浏览器是一款非常不错网页浏览器&#xff0c;一般用户在网页上看到喜欢的画面时会选用一些截图软件来截取画面&#xff0c;若是电脑上没有截图软件&#xff0c;也不方便使用QQ截图的话&#xff0c;那不妨试试浏览器自带的截图功能&#xff0c;可能很多用户并不知道有这么一…

贪吃蛇的编程python_python实现贪吃蛇游戏

本文实例为大家分享了python实现贪吃蛇游戏的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下本文稍作改动&#xff0c;修复一些bug&#xff0c;原文链接&#xff1a;python实现贪吃蛇游戏#!/usr/bin/env python#__*__ coding: utf-8 __*__import pygame,sys,time,ran…