整除和同余相关理论

这篇博客深入探讨数论中的 Lucas 定理及其在处理模运算中的应用,包括利用唯一分解定理解决非质数模的同余问题。此外,还介绍了 BSGS 算法、中国剩余定理、原根和二次剩余的理论与求解方法,是理解数论基础与进阶的宝贵资料。

下面的所有知识均属数论范畴。


LucasLucasLucas 定理

ppp质数时有:

Cnm mod p=Cn/pm/p∗Cn  mod  pm  mod  p mod p C_n^m \bmod p= C_{n / p}^{m / p} * C_{n~\bmod~p}^{m~\bmod~p} \bmod p Cnmmodp=Cn/pm/pCn mod pm mod pmodp

代码就不贴了 (实际上是懒)


如果 ppp 不为质数呢?

那么我们先用唯一分解定理将 ppp 分解:
p=∑ki∈Primekiαi p = \sum_{k_i \in Prime} k_i^{\alpha_i} p=kiPrimekiαi
然后把原式拆分为若干个同余方程,最后用中国剩余定理合并即可。

现在我们讨论如何求 Cnm mod kiαiC_n^m \bmod k_i^{\alpha_i}Cnmmodkiαi,而 Cnm=n!m!(n−m)!C_n^m = \frac{n!}{m!(n - m)!}Cnm=m!(nm)!n!,所以问题本质上是求阶乘的取模

设我们要求的是 P! mod  kiαiP! \bmod~k_i^{\alpha_i}P!mod kiαi,那么我们可以把 P!P!P! 包含的所有 kik_iki 质因子取出,由于剩下的数与模数互质,所以我们就可以直接求逆元了。

所以最终要求的问题是求:

n!kiβ1m!kiβ2⋅(n−m)!kiβ3⋅kiβ1−β2−β3 mod kiαi \frac{\frac{n!}{k_i^{\beta_1}}}{\frac{m!}{k_i^{\beta_2}} \cdot \frac{(n - m)!}{k_i^{\beta_3}}} \cdot k_i^{\beta_1 - \beta_2 - \beta_3}\bmod k_i^{\alpha_i} kiβ2m!kiβ3(nm)!kiβ1n!kiβ1β2β3modkiαi

不过我们还是先从研究 P! mod  kiαiP! \bmod~k_i^{\alpha_i}P!mod kiαi 开始。

OI−wikiOI-wikiOIwiki,我们用 22! mod 3222! \bmod 3^222!mod32 举例。

我们知道:
22!=1×2×3×4×5×6×7×8×9×10×11×12×13×14×15×16×17×18×19×20×21×22. 22! = 1\times2\times3\times4\times5\times6\times7\times8\times9\times10\times11\times12\times13\times14\times15\times16\times17\times18\times19\times20\times21\times22. 22!=1×2×3×4×5×6×7×8×9×10×11×12×13×14×15×16×17×18×19×20×21×22.

我们把 333 的倍数提出来,化简一下有:
22!=37×(1×2×3×4×5×6×7)×(1×2×4×5×7×8×10×11×13×14×16×17×19×20×22) 22! = 3^7\times(1\times2\times3\times4\times5\times6\times7) \times(1\times2\times4\times5\times7\times8\times10\times11\times13\times14\times16\times17\times19\times20\times22) 22!=37×(1×2×3×4×5×6×7)×(1×2×4×5×7×8×10×11×13×14×16×17×19×20×22)

第一个部分是 kik_iki⌊Pki⌋\lfloor\frac{P}{k_i}\rfloorkiP 次幂,这个部分只需要记录指数,不需要求具体的值

第二个部分是 ⌊Pki⌋!\lfloor\frac{P}{k_i}\rfloor!kiP!,可以递归求解;

第三个部分是 1×2×4×5×7×8×10×11×13×14×16×171\times2\times4\times5\times7\times8\times10\times11\times13\times14\times16\times171×2×4×5×7×8×10×11×13×14×16×17,仔细观察可以发现:
1×2×4×5×7×8≡10×11×13×14×16×17 ( mod  kiαi) 1\times2\times4\times5\times7\times8 \equiv10\times11\times13\times14\times16\times17~(\bmod~k_i^{\alpha_i}) 1×2×4×5×7×810×11×13×14×16×17 (mod kiαi)
形式化地,有:(t∈Z+t \in Z_+tZ+
∏i=1,gcd⁡(i,ki)=1kiαii≡∏i=1,gcd⁡(i,ki)=1kiαi(i+tkiαi) ( mod kiαi) \prod_{i = 1,\gcd(i, k_i) = 1}^{k_i^{\alpha_i}} i \equiv \prod_{i = 1,\gcd(i, k_i) = 1}^{k_i^{\alpha_i}} (i + tk_i^{\alpha_i}) ~(\bmod k_i^{\alpha_i}) i=1,gcd(i,ki)=1kiαiii=1,gcd(i,ki)=

【博士论文复现】【阻抗建模、验证扫频法】光伏并网逆变器扫频稳定性分析(包含锁相环电流环)(Simulink仿真实现)内容概要:本文档是一份关于“光伏并网逆变器扫频稳定性分析”的Simulink仿真实现资源,重点复现博士论文中的阻抗建模扫频法验证过程,涵盖锁相环电流环等关键控制环节。通过构建详细的逆变器模型,采用小信号扰动方法进行频域扫描,获取系统输出阻抗特性,并结合奈奎斯特稳定判据分析并网系统的稳定性,帮助深入理解光伏发电系统在弱电网条件下的动态行为失稳机理。; 适合人群:具备电力电子、自动控制理论基础,熟悉Simulink仿真环境,从事新能源发电、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握光伏并网逆变器的阻抗建模方法;②学习基于扫频法的系统稳定性分析流程;③复现高水平学术论文中的关键技术环节,支撑科研项目或学位论文工作;④为实际工程中并网逆变器的稳定性问题提供仿真分析手段。; 阅读建议:建议读者结合相关理论教材原始论文,逐步运行并调试提供的Simulink模型,重点关注锁相环电流控制器参数对系统阻抗特性的影响,通过改变电网强度等条件观察系统稳定性变化,深化对阻抗分析法的理解应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值