Maple中的快速模幂运算

时间:2014-12-04 01:19:39

标签: maple exponentiation

计算给定整数模数的整数矩阵的幂的快速方法是什么?

我试过了:

> M := Matrix([[1,1],[1,0]]); M ^ (10 ^ 12) mod 73;

但这非常慢,很可能Maple试图首先计算功率(用大数字),然后才取模73.我怎么能说服它为每次乘法做模数?

1 个答案:

答案 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