计算给定整数模数的整数矩阵的幂的快速方法是什么?
我试过了:
> M := Matrix([[1,1],[1,0]]); M ^ (10 ^ 12) mod 73;
但这非常慢,很可能Maple试图首先计算功率(用大数字),然后才取模73.我怎么能说服它为每次乘法做模数?
答案 0 :(得分:1)
restart:
M := Matrix([[1,1],[1,0]]):
str:=time[real]():
LinearAlgebra:-Modular:-MatrixPower(73, M, 10^12);
[46 46]
[ ]
[46 0]
time[real]()-str;
0.040