首页 > 其他分享 >矩阵乘法和矩阵快速幂

矩阵乘法和矩阵快速幂

时间:2023-12-24 21:45:38浏览次数:22  
标签:begin end 矩阵 times pmatrix 快速 乘法

1机房今天晚上不知道为啥把洛谷也关了,AC自动机没题做了,教练您做的好啊

那么就冲一个矩阵乘法和快速幂吧,开了提高OJ之后还有几道需要矩阵乘法的AC自动机没写,后面再冲一下状压虽然已经冲过了

矩阵

矩阵思想来源于线性方程组

如方程组

\[\begin{equation} \begin{cases} 7x_1+8x_2+9x_3=13 \\ 4x_1+5x_2+6x_3=12 \\ x_1+2x_2+3x_3=11 \end{cases} \end{equation} \]

写成矩阵乘法

\[\begin{equation} \begin{pmatrix} 7 & 8 & 9 \\ 4 & 5 & 6 \\ 1 & 2 & 3 \end{pmatrix}\begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix}=\begin{pmatrix} 13 \\ 12 \\ 11 \end{pmatrix} \end{equation} \]

简记

\[Ax=b \]

即未知数列向量 \(x\),左乘矩阵 \(A\),得到列向量 \(b\)

矩阵乘法

矩阵相乘只有在第一个矩阵的列数和第二个矩阵的行数相同时才有意义

\(A\) 为 \(p \times m\) 的矩阵, \(B\) 为 \(m \times q\) 的矩阵,设矩阵 \(C\) 为矩阵 \(A\) 与 \(B\) 的乘积,

那么对于\(C_{i,j}\)可以表示为

\[C_{i,j}=\sum _{k=1} ^ {m} A_{i,k}\times B_{k,j} \]

\(C_{i,j}\) 就是由矩阵 \(A\) 第 \(i\) 行 \(m\) 个数与矩阵 \(B\) 第 \(j\) 列 \(m\) 个数分别 相乘再相加 得到的

矩阵乘法满足结合律却不满足相对律

也就是说

\[A\times B \times C=A \times (B \times C) \neq A \times C \times B \]

这是非常显而易见的

利用结合律,矩阵乘法可以利用 快速幂 的思想来优化,也就是矩阵快速幂

没时间了后面的过两天再写

标签:begin,end,矩阵,times,pmatrix,快速,乘法
From: https://www.cnblogs.com/LuoTianYi66ccff/p/17924867.html

相关文章

  • WorkPlus超级APP助力企业节省IT人力成本,实现快速移动化
    在信息化时代,移动应用已经成为企业发展的重要组成部分。然而,开发和维护原生客户端的成本却相对较高,需要大量的iOS、安卓和桌面端工程师。为了解决这一问题,WorkPlus作为一个功能完备的超级APP,为企业节约了大量的IT人力成本。通过使用WorkPlus,企业不需要额外雇佣iOS、安卓和桌面端工......
  • 零基础快速上手HarmonyOS ArkTS开发2---ArkTS开发实践
    ArkTS开发实践:接着上一次https://www.cnblogs.com/webor2006/p/17729244.html继续,在上一次对于ArkTS的基础知识进行了学习,依照官方的课程计划,还有两个具体的小案例需要来实践实践:实践出真知,还是非常有意义的,可以将零碎知识进行一个串连,下面就正式开撸。实践一:可刷新的排行榜......
  • 快速幂
    快速幂(Exponentiationbysquaring)或者叫平方求幂,是一种求幂函数算法。它可以以O(logN)的时间复杂度求任意乘方。引入如何求8的6次方?常规算法:privatedoublepow(doublex,inty){doubleresult=1;for(inti=0;i<y;i++){result*=x;}......
  • MyBatisPlus简介及快速搭建
    一、简介MyBatisPlus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强,不做改变,为简化开发,提高效率而生。特性及官网链接(简称苞米豆):可在IDEA中安装以下插件:MybatisX:支持跳转,自动补全生成SQL;dynamic-datasource:基于SpringBoot的多数据源组件,功能强悍,支持Seat......
  • 详解十大经典排序算法(六):快速排序(QuickSort)
    算法原理分区(Partition):选择一个基准元素,将数组分为两个子数组,小于基准的放在左边,大于基2准的放在右边。递归排序:对左右两个子数组分别进行快速排序。合并:不需要实际的合并操作,因为在分解和递归排序阶段已经完成了排序。算法描述快速排序是一种基于分治思想的高效排序算法,由英国......
  • 算法学习笔记五一快速排序
    目录什么是快速排序算法思想示例代码什么是快速排序快速排序(Quicksort)是一种常用的排序算法,它的基本思想是通过分治的策略将一个大问题划分为多个小问题来解决。它的平均时间复杂度为O(nlogn),最坏情况(有序情况)为O(n^2)。是一种高效的排序算法。算法思想选择一个基准元素(pivot......
  • 一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器
    前言经常看到有小伙伴在技术群里问有没有什么好用且快速的开发框架推荐的,今天就给大家分享一款基于MITLicense协议开源、免费的.NETCore快速开发框架、支持多种前端UI、内置代码生成器、一款高效开发的利器:WalkingTec.Mvvm框架(简称WTM)。官方项目介绍WalkingTec.Mvvm框架(简称W......
  • golang快速入门:并发编程(一)
    进程、线程和协程进程:是操作系统中的一个执行实体,它拥有独立的内存空间和系统资源。每个进程都是独立运行的,它们之间相互隔离,通过进程间通信(IPC)来进行数据交换。每个进程都有自己的地址空间、堆栈和文件描述符等。进程之间的切换开销较大,因为需要保存和恢复整个进程的状态。线程:是......
  • 快速数论变换 | NTT 初学
    快速数论变换|NTT初学前置FFT原根阶:称满足同余方程\(a^x\equiv1\modm\)的最小正整数解\(x\)为\(a\)的模\(m\)的阶,记为\(Ord_ma\)。观察到本质就是最短循环节,同时该同余方程类似于欧拉定理:\[a^{\varphi(m)}\equiv1\modm,a\botm\]那么显然两者的关系是......
  • 【快速应用开发】看看RedwoodJS
    自我介绍做一个简单介绍,酒架年近48,有20多年IT工作经历,目前在一家500强做企业架构.因为工作需要,另外也因为兴趣涉猎比较广,为了自己学习建立了三个博客,分别是【全球IT瞭望】,【架构师酒馆】和【开发者开聊】,有更多的内容分享,谢谢大家收藏。企业架构师需要比较广泛的知识面,了解一个企业......