数学问题——矩阵和矩阵快速幂

Posted 牧空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数学问题——矩阵和矩阵快速幂相关的知识,希望对你有一定的参考价值。

方法

  • 使用二维数组存储矩阵
  • 矩阵的基础操作有相加,相乘,转置
  • 矩阵的幂以乘法为基础操作,矩阵快速幂的基础思想和普通快速幂相同,只不过初始量不是1,是单位矩阵

代码

相加和转置都非常简单,在此展示较为常用乘法

#define MAX 10
struct Matirx{
	int matrix[10][10];
	int col, row;
	Matrix(int c, int r):col(c),row(r) {};
}

Matrix Multiply(Matrix x, Matirx y){
	Matrix res(x.row, t,col);
	for(int i = 0; i < res.row; i++){
		for(int j = 0; j < res.col; j++){
			res.matrix[i][j] = 0;
			for(int k = 0; k < x.col; k++){
				res.matrix[i][j] += x.matrix[i][k] * y.matrix[k][j];
			}
		}
	}
	return res;
}

以上是关于数学问题——矩阵和矩阵快速幂的主要内容,如果未能解决你的问题,请参考以下文章

AtCoder Beginner Contest 199 F - Graph Smoothing(图的邻接矩阵幂的意义,数学期望,矩阵快速幂)

探索(数学)(矩阵快速幂)(快速乘)

[luoguP1962] 斐波那契数列(矩阵快速幂)

hdu-2256 Problem of Precision---矩阵快速幂+数学技巧

做题SRM701 Div1 Hard - FibonacciStringSum——数学和式&矩阵快速幂

CCF 201312-4有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)