摘要
本文主要讲解矩阵乘法和矩阵快速幂。内容不难,都是定理,重点是矩阵乘法的应用。
蓝桥杯知识点汇总:
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}}} [12095−13−6]
-------引用自维基百科。
知道了矩阵是什么后,看看什么是矩阵乘法。
矩阵乘法
数学中,矩阵乘法(英语: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++

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


被折叠的 条评论
为什么被折叠?



