数学问题——矩阵和矩阵快速幂
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(图的邻接矩阵幂的意义,数学期望,矩阵快速幂)
hdu-2256 Problem of Precision---矩阵快速幂+数学技巧