矩阵乘法和矩阵快速幂

本文深入解析矩阵乘法及矩阵快速幂的概念与应用,详细介绍了矩阵乘法的基本原理、矩阵快速幂的优化技巧,并通过实例展示如何利用矩阵快速幂解决特定问题,如斐波那契数列和蓝桥杯算法训练中的奇异虫群问题。

摘要

本文主要讲解矩阵乘法和矩阵快速幂。内容不难,都是定理,重点是矩阵乘法的应用。

蓝桥杯知识点汇总:
https://blog.csdn.net/GD_ONE/article/details/104061907

矩阵

数学上,一个 m × n {\displaystyle m\times n} m×n的矩阵是一个由 m m m行(row)n列(column)元素排列成的矩形阵列。矩阵里的元素可以是数字、符号或数学式。以下是一个由6个数字元素构成的2行3列的矩阵:

[ 1 9 − 13 20 5 − 6 ] {\displaystyle {\begin{bmatrix}1&9&-13\\20&5&-6\end{bmatrix}}} [12095136]
-------引用自维基百科。

知道了矩阵是什么后,看看什么是矩阵乘法。

矩阵乘法

数学中,矩阵乘法(英语:matrix multiplication)是一种根据两个矩阵得到第三个矩阵的二元运算,第三个矩阵即前两者的乘积,称为矩阵积(英语:matrix product)。设 A {\displaystyle A} A n × m {\displaystyle n\times m} n×m的矩阵, B {\displaystyle B} B m × p {\displaystyle m\times p} m×p的矩阵,则它们的矩阵积 A B {\displaystyle AB} AB n × p {\displaystyle n\times p} n×p的矩阵。 A {\displaystyle A} A中每一行的 m {\displaystyle m} m个元素都与 B {\displaystyle B} B中对应列的 m {\displaystyle m} m个元素对应相乘,这些乘积的和就是 A B {\displaystyle AB} AB中的一个元素。
-------引用自维基百科。

直接看图
在这里插入图片描述
矩阵乘法的代码实现就是直接模拟乘法过程,所以没什么好说的,直接给出代码:

public static void mut_mul(long[][] a, long[][] b, long[][] c){
   
    // c = a * b
		long[][] t = {
   
   {
   
   0, 0}, {
   
   0, 0}}; // 中间数组
		
		for(int i = 0; i < 2; i++)
			for(int j = 0; j < 2; j++)
				for(int k = 0; k < 2; k++
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值