【数学】矩阵与矩阵乘法

embedded/2024/9/23 20:44:33/

矩阵

定义一个 n × m n\times m n×m矩阵如下:
[ a 1 , 1 ⋯ a 1 , m ⋮ ⋱ ⋮ a n , 1 ⋯ a n , m ] \begin{bmatrix}a_{1,1}&\cdots&a_{1,m}\\\vdots&\ddots&\vdots\\a_{n,1}&\cdots&a_{n,m}\end{bmatrix} a1,1an,1a1,man,m

单位矩阵

单位矩阵 A = [ 1 ⋱ 1 ] A=\begin{bmatrix}1&&\\&\ddots&\\&&1\end{bmatrix} A= 11

矩阵乘法

一般来说,矩阵乘法需要左侧矩阵的列数要等于右侧矩阵的行数。
设两个矩阵分别为 a × b a\times b a×b A A A b × c b\times c b×c B B B
那么设 A × B = C A\times B=C A×B=C,则 C C C a × c a\times c a×c 的。
对于 i ∈ [ 1 , a ] i\in[1,a] i[1,a] j ∈ [ 1 , c ] j\in[1,c] j[1,c] C i , j = ∑ k ∈ [ 1 , b ] A i , k ⋅ B k , j C_{i,j}=\sum\limits_{k\in[1,b]}A_{i,k}\cdot B_{k,j} Ci,j=k[1,b]Ai,kBk,j

一些性质

矩阵乘法满足结合律,但不满足交换律,读者不妨自证。

代码

就是矩阵结构体的板子

struct mtrx{int n,m,a[N][N];void init(){n=0;m=0;memset(a,0,sizeof(a));}void init_one(int x){init();n=m=x;for (int i=1;i<=x;i++) a[i][i]=1;}
}
mtrx operator*(mtrx a,mtrx b){mtrx c;c.init();c.n=a.n;c.m=b.m;for (int i=1;i<=c.n;i++) for (int k=1;k<=a.m;k++) for (int j=1;j<=c.m;j++)c.a[i][j]+=a.a[i][k]*b.a[k][j];return c;
}

http://www.ppmy.cn/embedded/37013.html

相关文章

Unity射击游戏开发教程:(10)创建主界面

主界面开发 玩游戏时,主菜单是事后才想到要做的。实际上几乎每个游戏都有一个主界面。如果你点击打开游戏并立即开始游戏,你会感到非常惊讶。本文将讨论如何创建带有启动新游戏的交互式按钮的主界面/主菜单。 主菜单将是一个全新的场景。我们将添加一个 UI 图像元素,并在图像…

Spring Task 定时任务没有定时执行是为什么?

目录 SpringBoot 定时任务的原理任务一直阻塞会怎么样&#xff1f;多个定时任务的执行具有相同表达式的定时任务&#xff0c;它们的执行顺序如何&#xff1f;Spring Task 和 Linux crontab 的 cron 语法区别&#xff1f;在 cron 语法中容易犯的错误Async 异步注解原理及作用并发…

JavaScript异步编程——03-Ajax传输json和XML

Ajax 传输 JSON JSON 的语法 JSON(JavaScript Object Notation)&#xff1a;是 ECMAScript 的子集。作用是进行数据的交换。语法更为简洁&#xff0c;网络传输、机器解析都更为迅速。 语法规则&#xff1a; 数据在键值对中 数据由逗号分隔 花括号保存对象 方括号保存数组…

算法精讲:选择排序

基本思想 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在待排序的数列的最前端,直到所有元素排完。 排序过程 初始关键字:【3 1 5 4 2】 第一趟排序后:1【3 5 4 2】 第二趟排序后:1 2【5 4 3】 第三趟排序后:1 2 3【4 5】 最终结果:1 2 3 4 5…

Actions和Mutations

在Vuex中&#xff0c;actions和mutations都是用来改变store中的状态的方法&#xff0c;它们之间的区别如下&#xff1a; Mutations&#xff1a;用于同步地修改state的方法。它们接收state作为第一个参数&#xff0c;并且可以接收额外的参数作为payload。Mutations应该是纯函数&…

yum仓库及NFS共享

yum简介 yum是一个基于RPM包&#xff08;是Red-Hat Package Manager红帽软件包管理器的缩写&#xff09;构建的软件更新机制&#xff0c;能够自动解决软件包之间的依赖关系。 yum 实现过程 先在yum服务器上创建 yum repository&#xff08;仓库&#xff09;&#xff0c;在仓…

使用双指针解决问题题集(二)

1. 有效三角形的个数 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 示例 2: 输入: nums [4,2,3,4] 输出: 4 题解&a…

学习软考----数据库系统工程师24

关系数据库设计基础知识 函数依赖 码 多值依赖 性质