当前位置:首页 > 大全 >

线性代数矩阵(线性代数矩阵怎么变换)

来源:原点资讯(www.yd166.com)时间:2022-12-21 22:19:15作者:YD166手机阅读>>

在本文中,我们将介绍矩阵的大部分基本运算,依次是矩阵的加减法、矩阵的标量乘法、矩阵与矩阵的乘法、求转置矩阵,以及深入了解矩阵的行列式运算。本文将不会涉及逆矩阵、矩阵的秩等概念,将来再探讨它们。

矩阵的加减法

矩阵的 加法减法 运算将接收两个矩阵作为输入,并输出一个新的矩阵。矩阵的加法和减法都是在分量级别上进行的,因此要进行加减的矩阵必须有着相同的维数。

为了避免重复编写加减法的代码,我们先创建一个可以接收运算函数的方法,这个方法将对两个矩阵的分量分别执行传入的某种运算。然后在加法、减法或者其它运算中直接调用它就行了:

class matrix { // ... componentWiseOperation(func, { rows }) { const newRows = rows.map((row, i) => row.map((element, j) => func(this.rows[i][j], element)) ) return new Matrix(...newRows) } add(other) { return this.componentWiseOperation((a, b) => a b, other) } subtract(other) { return this.componentWiseOperation((a, b) => a - b, other) } } const one = new Matrix( [1, 2], [3, 4] ) const other = new Matrix( [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 ] ] } 复制代码

矩阵的标量乘法

矩阵的标量乘法与向量的缩放类似,就是将矩阵中的每个元素都乘上标量:

class Matrix { // ... scaleBy(number) { const newRows = this.rows.map(row => row.map(element => element * number) ) return new Matrix(...newRows) } } const matrix = new Matrix( [2, 3], [4, 5] ) console.log(matrix.scaleBy(2)) // Matrix { rows: [ [ 4, 6 ], [ 8, 10 ] ] } 复制代码

矩阵乘法

AB 两个矩阵的维数是 兼容 的时候,就能对这两个矩阵进行矩阵乘法。所谓维数兼容,指的是 A 的列数与 B 的行数相同。矩阵的乘积 AB 是通过对 A 的每一行与矩阵 B 的每一列计算点积得到:

线性代数矩阵,线性代数矩阵怎么变换(1)

class Matrix { // ... multiply(other) { if (this.rows[0].length !== other.rows.length) { throw new Error('The number of columns of this matrix is not equal to the number of rows of the given matrix.') } const columns = other.columns() const newRows = this.rows.map(row => columns.map(column => sum(row.map((element, i) => element * column[i]))) ) return new Matrix(...newRows) } } const one = new Matrix( [3, -4], [0, -3], [6, -2], [-1, 1] ) const other = new Matrix( [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 视为先后应用 AB 两个线性变换矩阵。为了更好地理解这种概念,可以看一看我们的linear-algebra-demo。

下图中黄色的部分就是对红色方块应用线性变换 C 的结果。而线性变换 C 就是矩阵乘法 AB 的结果,其中 A 是做相对于 y 轴进行反射的变换矩阵, B 是做剪切变换的矩阵。

线性代数矩阵,线性代数矩阵怎么变换(2)

如果在矩阵乘法中调换 AB 的顺序,我们会得到一个不同的结果,因为相当于先应用了 B 的剪切变换,再应用 A 的反射变换:

线性代数矩阵,线性代数矩阵怎么变换(3)

转置

转置矩阵 由公式 定义。换句话说,我们通过关于矩阵的对角线对其进行翻转来得到转置矩阵。需要注意的是,矩阵对角线上的元素不受转置运算影响。

class Matrix { // ... transpose() { return new Matrix(...this.columns()) } } const matrix = new Matrix( [0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11] ) console.log(matrix.transpose()) // Matrix { // rows: [ // [ 0, 3, 6, 9 ], // [ 1, 4, 7, 10 ], // [ 2, 5, 8, 11 ] // ] // } 复制代码

行列式运算

矩阵的 行列式 运算将计算矩阵中的所有系数,最后输出一个数字。准确地说,行列式可以描述一个由矩阵行构成的向量的相对几何指标(比如在欧式空间中的有向面积、体积等空间概念)。更准确地说,矩阵 A 的行列式相当于告诉你由 A 的行定义的方块的体积。 矩阵的行列式运算如下所示:

线性代数矩阵,线性代数矩阵怎么变换(4)

首页 123下一页

栏目热文

2022考试试卷六年级数学(2022小学6年级数学试卷)

2022考试试卷六年级数学(2022小学6年级数学试卷)

2022六年级数学《综合测试卷》涵盖各种类型,替孩子存下来。具体如下:,...

2022-12-25 23:56:31查看全文 >>

玫瑰花瓣标本制作方法(玫瑰花瓣做标本教程)

玫瑰花瓣标本制作方法(玫瑰花瓣做标本教程)

想要留住美丽?自己动手制作鲜花标本吧花木君自然界的植物,一到花季,鲜花盛开,争芳斗艳,色彩绚丽,五彩缤纷,姹紫嫣红,娇润...

2023-04-24 03:12:51查看全文 >>

张钧甯个人资料和图片(张钧甯个人资料和图片短发)

张钧甯个人资料和图片(张钧甯个人资料和图片短发)

气质美女张钧甯(随笔杂谈)(七星桥上的作品)(张钧甯)张钧甯,出生于书香门弟之家,其父法学博士,其母文学硕士,其为法学硕...

2022-12-21 07:16:52查看全文 >>

上海地铁10号线运营时间表2020(上海地铁11号线时刻表早晚)

上海地铁10号线运营时间表2020(上海地铁11号线时刻表早晚)

申通地铁集团介绍,自2022年5月22日起,上海轨道交通3号线、6号线、10号线、16号线恢复运营,运营时段均为7:00...

2022-12-21 03:10:36查看全文 >>

道教回向文大全(道教放生回向文大全)

道教回向文大全(道教放生回向文大全)

四种未见著录的道教典籍--日本国东京大学东洋文化研究所图书馆藏书陈耀庭日本国东京大学东洋文化研究所是一个以亚洲文化作为主...

2022-12-10 13:54:54查看全文 >>

某某绝版了能卖多少钱(某某原版现价多少)

某某绝版了能卖多少钱(某某原版现价多少)

文/金错刀频道 周霜降你买过盲盒吗?就在前不久,靠着卖盲盒走上人生巅峰的泡泡玛特,在港交所上市了。上市第一天,市值直接突...

2022-12-29 04:01:30查看全文 >>

独角兽梗(独角兽表情包梗)

独角兽梗(独角兽表情包梗)

导语:名侦探柯南:被津津乐道的几个梗,小五郎钢铁脖子,小兰独角兽我们观看动漫作品,寻找其中蕴藏的梗也是一大乐趣,而柯南这...

2022-12-09 14:57:34查看全文 >>

手机上什么软件可以做照片拼图的(手机免费拼图照片用什么软件)

手机上什么软件可以做照片拼图的(手机免费拼图照片用什么软件)

很多朋友因为工作或生活需要,想要将几张图片弄成一张照片,本期文章就说说进行这种操作的方法。想要将几张照片弄成一张图片,肯...

2022-12-23 03:05:38查看全文 >>

男士手臂创意纹身(男士手臂纹身图片大全)

男士手臂创意纹身(男士手臂纹身图片大全)

纹身素材——男生包小臂,...

2022-12-11 05:31:04查看全文 >>

文档排行