漫步线性代数四——矩阵符号和矩阵乘法

2024-05-08 16:18

本文主要是介绍漫步线性代数四——矩阵符号和矩阵乘法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对于 3×3 的例子,我们能够写出所有的公式。可以列出消去步骤,一个方程减去另一个方程的倍数达到三角矩阵的形式。对于一个大的系统,这种跟踪消去的步骤太长了,所以我们需要更加简洁的记录方式。

我们现在引进矩阵符号来描述开始的系统,用矩阵乘法来描述计算步骤会更简单。注意三种不同类型的量都出现在例子中:

Nine coefficientsThree unknownsThree righthand sides2u4u2u++v6v7v++w2w===529(1)

右边是列向量 b 。左边是未知量u,v,w。另外,左边有九个系数(其中一个碰巧是零)。自然地,我们用一个向量来表示三个未知量:
The unknown is x=uvwThe solution is x=112

九个系数分为三行和三列,得到 3×3 的矩阵:
Coefficient matrixA=242167102

A 是一个方阵,因为方程个数等于未知量的个数。如果n个方程有 n 个未知量,那么我们有n×n矩阵。更一般地,可能 m 个方程有n个未知量。那么 A m n 列的长方形。它将是一个m×n矩阵。

矩阵互相相加,或乘以某个常数值,每一次执行一列的时候,效果和向量完全一样。事实上我们可以将向量看做矩阵的特殊情况;他们是只有一列的矩阵。和向量一样,如果两个矩阵形状相同时,他们才能执行加法:

Additon A+B230104+131212=301316

Multiplication 2A230104=460208

矩阵和向量相乘

我们想用三个未知量 u,v,w 重写方程,得到简化的矩阵形式 Ax=b 。全写出来就是,矩阵乘以向量等于向量:

Matrix form Ax=b242167102uvw=529(2)

右边 b 是非齐次项列向量。左边是A×x。我们准确的定义这个乘法以便于它能够重现最初的系统。 Ax 的第一项来自 A 的第一行乘以列向量x
Row times column[211]uvw=[2u+v+w]=[5](3)

乘积 Ax 的第二部分是 4u6v+0w ,来自于 A 的第二行。矩阵方程Ax=b等价于方程(1)中三个联立的方程组。

行乘列是所有矩阵乘法的基础。两个向量相乘得到一个数。这个数称为两个向量的内积。换句话说, 1×n 矩阵(行向量)和 n×1 矩阵(列向量)相乘得到一个 1×1 矩阵:

Inner product[211]112=[21+11+12]=[5]

这表明给出的解 x=(1,1,2) 满足第一个方程。

矩阵 A 和一个向量x相乘有两种方法。一种方法是一次乘以一行, A 的每行和x结合给出 Ax 的一部分。当 A 有三行是,存在三个内积:

Ax by rows131101614250=12+15+6032+05+3012+15+40=767(4)

通常这就是 Ax 的解释,但是第二种方法同样重要。事实上,它更重要!它是一次乘以一列。 Ax 乘积一下就计算出来,就像矩阵 A 三列的组合:
Ax by clumns2131+5101+0634=767(5)

答案就是两倍的第1列加5倍的第2列。它对应于线性方程组的列图像。如果右边 b 是7,6,7,那么解就是2,5,0。当然行图像也是如此(我们最终要做相同的乘法)。

列规则将会一遍又一遍的使用,现在我们在强调一遍:

1、Ax的乘积可以利用方程(5)中的列找出来,因此 Ax A 列的组合,其中系数是x的元素。

为了让 A×x n 维空间中,我们需要一个符号来表示A的每一项。第 i 行,第j列的元素用 aij 表示。第一个下标给出行数,第二个下标指示列。(在方程(4)中, a21 是3, a13 是6)如果 A 是一个m×n矩阵,然后索引从1到 m -有m行,索引 j 从1到n。合在一起,矩阵有 mn 个元素并且 amn 位于右下角。

一个下标对向量来说已经足够了。 x 的第j个元素用 xj 表示。(以上的乘法有 x1=2,x2=5,x3=0 )通常 x 写成列向量,就像n×1矩阵。但有时它写成一条线,如 x=(2,5,0) 。括号和逗号强调它不是 1×3 矩阵。而是一个列向量,它只是暂时躺着而已。

为了描述乘积 Ax ,我们使用“sigma”符号求和 Σ 表示和:

Sigma notationThe ith component of Ax isj=1naijxj

这个和取 A 的第i行。索引 j 取1到n的所有值,然后将结果加起来-和就是 ai1x1+ai2x2++ainxn

我们再次见到行的长度( A 的列数)必须匹配x的长度。一个 m×n 矩阵乘以 n 维向量(得到m维向量)。求和符号比啥都写满简单许多,但是矩阵符号要更好。(爱因斯坦用“张量符号”,其中重复的索引意味着求和。他写 aijxj ajixj ,我们不是爱因斯坦,所以保持用符号 Σ )

消元的矩阵形式

到目前为止,对方程组,我们有一种方便速记的形式 Ax=b 。 那么在消元过程中是怎么进行操作的呢?在我们的示例中,第一步是中用第二个方程减去第一个方程的2倍。对于右边就是, b 的第二个元素减去第一个元素的2倍。如果我们用初等矩阵(或消元矩阵)乘以b,会取得同样的效果:

Elementary matrixE=120010001

根据矩阵和向量乘法的规则得以证实:
Eb=120010001529=5129

5和9保持不变(因为 E 的行1,0,0和0,0,1)。第一次消元步骤后,得到新的第二个元素-12。

它很容易用矩阵E描述,它单独执行消元步骤。我们也注意到“单位矩阵”,不执行任何操作。

2、单位矩阵 I 主对角线上为1,其余地方为0,不改变向量的值。基本矩阵Eij表示第 i 行减去倍的 j 行。Eij包含第 i 行第j列的

I=100010001has Ib=bE31=10010001has E31b=b1b2b3b1

Ib=b 类似于乘1运算。典型的消元步骤是 E31 。重要的问题是:左边的 A 发生了什么?

为了保持相等,Ax=b两边必须使用相同的操作。换句话说,我们也必须用矩阵 E 乘以向量Ax。我们最初的矩阵 E 从第二行减去第一行的2倍,这一步之后,新的简单方程组(等价于旧的)就是E(Ax)=Eb。因为第一个主元下面都是零,所以它更简单。因为我们可以恢复到最初的方程组(通过第二行加上第一行的2倍)所以他们是等价的。所以这两个方程组具有完全相同的解 x

矩阵乘法

现在我们来看最重要的问题:我们如何计算两个矩阵相乘?我们可以从高斯消元法中得到部分线索:我们知道最初的系数矩阵A,消元矩阵 E ,而且还知道消元后的结果EA。我们希望并期望

E=120010001times A=242167102gives EA=202187122

矩阵 A 的第二行减去第一行的两倍。矩阵乘法和消元法的行操作比较一致。我们可以将结果写成E(Ax)=Eb (EA)x=Eb 。 精确地构造矩阵 EA 使得方程成立,括号不是必须的:
Matrix multiplication(EA×x)equals(E×Ax)We just write EAx

这是”结合律”,就像 2×(3×4)=(2×3)×4 。交换律似乎显而易见,所以很难想象它可能是错的。但是“交换律” 2×3=3×2 对于矩阵来说就不成立 EAAE

关于矩阵乘法还有另一项要求。我们知道如何计算 Ax ,一个矩阵和一个向量,新的定义应该也使它满足。当矩阵 B 只包含一个列x时,矩阵与矩阵 AB 的乘积应该和矩阵与向量的乘积 Ax 相同。更重要的是:当 B 包含几列b1,b2,b3时, AB 的列应该是 Ab1,Ab2,Ab3

Multiplication by columnsAB=Ab1b2b3=Ab1Ab2Ab3

我们的第一个要求与行有关,而这个与列有关。 A 的第三种方法是描述AB的每一项。事实上,只有一个可能的规则,不知道是谁发现了它,它恒成立,因为这个规则,我们不用让每对矩阵相乘。如果他们是方形的,他们肯定有相同的大小。如果是矩形的,他们形状肯定不一样; A 的列数必须等于B的行数。然后 A 可以成B的每一列。

如果 A m×n B n×p,那么可以做乘法。乘积 AB m×p 。现在我们找出 AB i j列的元素。

3、 AB i,j 项是 A 的第i行与 B 的第j列的内积。在图1中, AB 的第3,2项从3行,2列计算得到:

(AB)32=a31b12+a32b22+a33b32+a34b42(6)


这里写图片描述
图1: 3×4 的矩阵 A 乘以4×2的 矩阵 B 得到3×2的矩阵 AB

注意,当矩阵没有经过消元处理时我们写成 AB 。因为初等矩阵 E ,所以我们前面的示例中写成EA。之后我们有 PA LU LDU 。矩阵乘法的规则都是一样。

例1

AB=[2430][152100]=[1741800]

17 就是 (2)(1)+(3)(5) A 的第一行与B的第一列内积的结果。 8 就是(4)(2)+(0)(1) A 的第二行与B的第二列内积的结果。

B 的第三列是零,所以AB也是零。 B 包含三列,B分别乘以每一列。 AB 的每一列都是 A 列的组合。就像矩阵和向量乘法一样,A列的系数就是 B 中的元素。

例2

Row exchange matrix[0110][2738]=[7283]

例3:单位矩阵 I 不改变任何矩阵:

Identity matrixIA=AandBI=B

重要提示:乘法 AB 也可以一次计算一行。在例中1中, AB 的第一行可以使用 A 第一行的数字2和3。这些数字给出2[row 1]+3[row 2]=[17 1 0]。就像之前的消元法, AB 的每行是 B 行的组合。

4、(1)AB的元素是行和列的乘积:

(AB)ij=(row i of A)×(column j of B)

(2) AB 的每一列是矩阵和列的乘积:
column j of AB=A×(column j of B)

(3) AB 的每一行是行和矩阵的乘积:
row i of AB=(row of A)×B

这引出了矩阵乘法的一个关键性质。假设三个矩阵 A,B,C 的形状(可能是矩形)可以加倍, A,B 的行乘以 B,C 的列,那么关键性质就是:

5、矩阵乘法满足结合律: (AB)C=A(BC) ,写作 ABC

AB×C=A×BC 。如果 C 刚好是一个向量(只有一列的矩阵),这正好就是之前提到的(EA)x=E(Ax),这是矩阵乘法规则的基础。如果 C 有几列,我们可以一列列考虑,所利用几次法则。当计算几个矩阵乘法时,括号是没必要的。

还有两个性质需要提到-一个是矩阵乘法满足的,另一个是它不满足的。

6、矩阵乘法满足分配律
A(B+C)=AB+ACand(B+C)D=BD+CD

当然这些矩阵的形状必须匹配- B,C 有相同的形状,这样的话他们才可以相加。这个定律的证明太过无聊这里不再陈述。

下面这条性质就不满足了:

7、矩阵乘法不满足交换律:通常\ FEEF

例4:假设 E 是第二行减去第一行的2倍,F是第一行加到第三行上:

E=120010001andF=101010001

两个矩阵相乘得:
EF=121010001=FE

无论是哪种顺序 EF FE ,利用第一行改变了第二和第三行的值。

例5:假设 E 和上面一样,但G是第二行加到第三行上。现在改变他们的顺序,当先执行 E ,再执行G,在改变第三行之前第二行已经改变了。如果反过来,那么第三个等式不会受到第一行的影响,我们将会看到 EG 的(3,1)元素为零,而 GE 的是-2:

EF=100011001120010001=122011001butEG=120011001

因此 EGGE 。随便举个例子依然如此(大部分矩阵都不满足)。这里的矩阵是有意义的, EF=FE EGGE 是有原因的,我们有必要看看三个消元矩阵放一起会发生什么:
GEF=121011001andEFG=121011001

GFE 是消元的正确顺序。将最初的矩阵 A 变成了上三角矩阵U,我会在下一篇文章中再次讲述。

其他矩阵 EFG 更好。对于这个顺序, E 的-2,F的1和 G <script type="math/tex" id="MathJax-Element-369">G</script> 都未受到影响,他们直接得出乘积,而它却是错误的消元顺序。但幸运的是,它是右边消元步骤的逆(我也会在下一篇文章里讲解)。

注意,下三角矩阵的乘积依然是下三角矩阵。

这篇关于漫步线性代数四——矩阵符号和矩阵乘法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/970814

相关文章

【第十三课】区域经济可视化表达——符号表达与标注

一、前言 地图最直接的表达就是使用符号表达。使用符号可以把简单的点线面要 素渲染成最直观的地理符号,提高地图的可读性。只要掌握了 ArcGIS 符号制 作的技巧,分析符号并总结出规则,就可以制作符合要求的地图+符号。 (一)符号的选择与修改 符号的选择在制图中至关重要,使用符号选择器对话框可从多个可用样式 中选择符号,并且每个符号都有一个标签用来描述其图形特征,如颜色或类型, 利用这些标签可

轻松解决 linux平台 下编辑文档产生的 ^M 符号问题

一、^M:产生的原因:          windows平台下 使用“回车键”,则会在 行尾 产生 ^M 二、产生的后果:        在执行脚本时,shell解析器 会执行错误,弹出类似于:./XXXXX.sh: /bin/sh^M:bad interpreter:No such file or directory         ------解析器会将 末尾 带 ^M 的字段视为 文

FB是磁珠的符号,磁珠有很高的电阻率和磁导率,他等效于电阻和电感串联

磁珠有很高的电阻率和磁导率,他等效于电阻和电感串联,但电阻值和电感值都随频率变化。他比普通的电感有更好的高频滤波特性,在高频时呈现阻性,所以能在相当宽的频率范围内保持较高的阻抗,从而提高调频滤波效果。 作为电源滤波,可以使用电感。磁珠的电路符号就是电感但是型号上可以看出使用的是磁珠在电路功能上,磁珠和电感是原理相同的,只是频率特性不同罢了。   http://www.cnblogs.com/

推荐算法之矩阵分解实例

矩阵分解的数据利用的上篇文章的数据,协同过滤 用到的知识 python的surprise k折交叉验证 SVD SVDpp NMF 算法与结果可视化 # 可以使用上面提到的各种推荐系统算法from surprise import SVD,SVDpp,NMFfrom surprise import Datasetfrom surprise import print_perf

江协科技51单片机学习- p16 矩阵键盘

🚀write in front🚀   🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​  💬本系列哔哩哔哩江科大51单片机的视频为主以及自己的总结梳理📚  前言: 本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记,在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习

使用matlab的大坑,复数向量转置!!!!!变量区“转置变量“功能(共轭转置)、矩阵转置(默认也是共轭转置)、点转置

近期用verilog去做FFT相关的项目,需要用到matlab进行仿真然后和verilog出来的结果来做对比,然后计算误差。近期使用matlab犯了一个错误,极大的拖慢了项目进展,给我人都整emo了,因为怎么做仿真结果都不对,还好整体的代码都是我来写的,慢慢往下找就找到了问题的来源,全网没有看到多少人把这个愚蠢的错误写出来,我来引入一下。 代码错误的表现:复数向量的虚部被取反,正数变成负数,负数

「学转录组入门生信」第二周来获取表达量矩阵

我们第二周目标有四个: 整理数据RNA-seq格式了解数据质控数据比对read定量 首先,我们得要知道我们在转录组分析过程中会遇到很多格式,建议先通过搜索查找了解这些格式是什么 fasta/fas/fagtf/gffbedsam/bamcsv/tsv/txt 接着,我们会在分析过程中时刻检查我们的数据质量,所以你要尝试回答下面这几个问题 数据质控要在哪个阶段做不同阶段要看什么标准质控有哪

「单细胞转录组系列」如何从稀疏矩阵中提取部分数据进行分析

这一篇文章是回答知识星球中一位星友的提问,她的电脑内存有限,无法直接使用所有数据,只能分析部分数据。 数据来源: https://content.cruk.cam.ac.uk/jmlab/atlas_data.tar.gz 解压缩之后,得到下面数据 数据清单 其中raw_counts.mtx是以稀疏矩阵格式存放的表达量数据,文件为6.5G, 用普通的文本编辑器无法打开,

Strassen矩阵乘法简要解析(第4章:分治策略)

Strassen矩阵乘法简要解析 Strassen矩阵乘法具体描述如下: 两个n×n 阶的矩阵A与B的乘积是另一个n×n 阶矩阵C,C可表示为假如每一个C(i, j) 都用此公式计算,则计算C所需要的操作次数为n3 m+n2 (n- 1) a,其中m表示一次乘法,a 表示一次加法或减法。 为了使讨论简便,假设n 是2的幂(也就是说, n是1,2,4,8,1 6,...)。 首先,假设

C语言笔试题:实现把一个无符号整型数字的二进制序列反序后输出

目录 题目 实例 方法一:直接交换 方法二:间接交换 拓展 题目 编写一个函数,将一个无符号整数的所有位逆序(在32位机器下) 实例 例如有一个无符号整数  unsigned int num = 32; unsigned int 在32位系统中占4个字节(32位) 32的二进制数是:       0000 0000 0000 0000 0000 0000  0010