在本文中,我们将介绍矩阵的大部分基本运算,依次是矩阵的加减法、矩阵的标量乘法、矩阵与矩阵的乘法、求转置矩阵,以及深入了解矩阵的行列式运算。本文将不会涉及逆矩阵、矩阵的秩等概念,将来再探讨它们。
矩阵的加法与减法运算将接收两个矩阵作为输入,并输出一个新的矩阵。矩阵的加法和减法都是在分量级别上进行的,因此要进行加减的矩阵必须有着相同的维数。
为了避免重复编写加减法的代码,我们先创建一个可以接收运算函数的 *** ,这个 *** 将对两个矩阵的分量分别执行传入的某种运算。然后在加法、减法或者其它运算中直接调用它就行了:
classMatrix{//...componentWiseOperation(func,{rows}){constnewRows=rows.map((row,i)=>row.map((element,j)=>func(this.rows[i][j],element)))returnnewMatrix(...newRows)}add(other){returnthis.componentWiseOperation((a,b)=>a+b,other)}subtract(other){returnthis.componentWiseOperation((a,b)=>a-b,other)}}constone=newMatrix([1,2],[3,4])constother=newMatrix([5,6],[7,8])console.log(one.add(other))//Matrix{rows:[[6,8],[10,12]]}console.log(other.subtract(one))//Matrix{rows:[[4,4],[4,4]]}复制代码
矩阵的标量乘法与向量的缩放类似,就是将矩阵中的每个米素都乘上标量:
classMatrix{//...scaleBy(number){constnewRows=this.rows.map(row=>row.map(element=>element*number))returnnewMatrix(...newRows)}}constmatrix=newMatrix([2,3],[4,5])console.log(matrix.scaleBy(2))//Matrix{rows:[[4,6],[8,10]]}复制代码
当A、B两个矩阵的维数是兼容的时候,就能对这两个矩阵进行矩阵乘法。所谓维数兼容,指的是A的列数与B的行数相同。矩阵的乘积AB是通过对A的每一行与矩阵B的每一列计算点积得到:
classMatrix{//...multiply(other){if(this.rows[0].length!==other.rows.length){thrownewError('Thenumberofcolumnsofthi *** atrixisnotequaltothenumberofrowsofthegivenmatrix.')}constcolumns=other.columns()constnewRows=this.rows.map(row=>columns.map(column=>sum(row.map((element,i)=>element*column[i]))))returnnewMatrix(...newRows)}}constone=newMatrix([3,-4],[0,-3],[6,-2],[-1,1])constother=newMatrix([3,2,-4],[4,-3,5])console.log(one.multiply(other))//Matrix{//rows://[[-7,18,-32],//[-12,9,-15],//[10,18,-34],//[1,-5,9]]}复制代码
我们可以把矩阵乘法AB视为先后应用A和B两个线性变换矩阵。为了更好地理解这种概念,可以看一看我们的linear-algebra-demo。
下图中黄色的部分就是对红色方块应用线性变换C的结果。而线性变换C就是矩阵乘法AB的结果,其中A是做相对于 y 轴进行反射的变换矩阵,B是做剪切变换的矩阵。
本文导读目录: 1、李毅吧412事件 2、黑客攻击的动机有哪些 3、什么是黑客攻击?为什么要攻击?怎么攻击的? 4、黑客攻击原理 5、黑客攻击的目的是什么? 6、ddos攻击原理是...
可以,操作方法如下:1、首先点击手机桌面中的查找朋友,如下图所示。2、然后在打开的软件页面中,点击添加朋友,如下。 如果你老公的手机是移动的,你可以拨打10086定制,有一个服务,我忘了叫什么,可以定...
本文导读目录: 1、【英雄就是在了解了这个世界的真相后依然爱他】这句话其实是自己想出来的,但是同学说在那部作品里看见过 2、米开朗基罗传里有说过世界上只有一种英雄主义就是在认清生活真相后依然热爱生...
古时候,当有些人过世的情况下小辈要戴孝守夜,人死之后也有停尸七天的风俗习惯(如今有一些乡村地域也也有这类风俗习惯吧)这和烧头七仿佛有一些类似,头七是指过世的第七天。古代大家觉得逝者灵魂会于头七回家,而...
...
本文导读目录: 1、加密的wifi怎么解锁? 2、怎样才能破wifi密码 3、如何攻破wifi密码 4、黑客是用什么方式盗取wifi密码的 5、黑客怎么修改Wi-Fi密码 加密的wi...