Mathematica计算乘法阶数

 时间:2024-10-18 10:00:05

1、首先,在Mathematica中我们可以直接使用FindInstance求出同余方程特解,或者使用Reduce尝试嫫绑臾潜求通解。其中形如X^n≡c(mod m),c与m互素的这一类方程,其背后的原理是求出x^n≡c(mod m)的一个特解,然后求出y^n≡1(mod m)的通解,相乘即得到原方程全部解。

Mathematica计算乘法阶数

2、而阶数的数学定义如图所示。注意a和m要互素。互素时A集合一定非空。阶数一定存在。

Mathematica计算乘法阶数

3、在Mathematica中,可以使用PowerMod[x,n,m]代替Mod[x^n,m],它们含义相同,但是幂模的计算可以比模余优化一些。

Mathematica计算乘法阶数

4、如图是手算阶数的过程。依次计算幂模,带入n为1~9,发现当n=6时,幂模是1.也就是说x模m(5模7)的阶数是6.

Mathematica计算乘法阶数

5、如图是使用Mathematica的乘法阶数函数MultiplicativeOrder直接计算阶数的过程。

Mathematica计算乘法阶数

6、如果a与m互素,那么a^k与m同样互素。要计算a^k模m的乘法阶数,首先我们可以使用Mathematica暴力求解如图。

Mathematica计算乘法阶数

7、我们也可以根据推导得出a^k模m的阶数为L/GCD[L,k],其中L是a模m的阶数。带入比较,与暴力解法所得阶数相同。

Mathematica计算乘法阶数
  • Matlab制作视频并转换成gif动态图的两种方法
  • matlab怎么改成中文
  • 怎么用Mathematica进行方形矩阵的运算?
  • matlab中cell元胞数组的使用方法和实例
  • matlab如何调用函数
  • 热门搜索
    电脑经常蓝屏怎么解决 温馨提示怎么写 花印怎么样 富德生命人寿怎么样 股票怎么赚钱 社保基数怎么算 皮肤干燥瘙痒怎么办 笔记本电脑开机黑屏怎么办 怎么设置自动回复 电熨斗怎么用