zoukankan      html  css  js  c++  java
  • 关于孙子定理(中国剩余定理)及其证明

    孙子定理的内容:

    给出以下的一元线性同余方程组:

    $(S):egin{cases}xequiv a_1pmod{m_1}\xequiv a_2pmod{m_2}\ldots\xequiv a_npmod{m_n}end{cases}$

    假设整数$m_1,m_2,ldots ,m_n$两两互质,则对任意的整数:$a_1,a_2,ldots a_n$,方程组$(S)$有解,并且通解可以用如下方式构造得到:

    设$M=m_1 imes m_2 imes ldots imes m_n=prod_{i=1}^n m_i$,并设$M_i=frac{M}{m_i},forall iin egin{Bmatrix}1,2,ldots nend{Bmatrix}$

    设$t_i=M_i^{-1}$为$M_i$模$m_i$的数论倒数($t_i$为$M_i$模$m_i$意义下的逆元),即$M_it_iequiv 1pmod{m_i},forall iin egin{Bmatrix}1,2,ldots ,nend{Bmatrix}$.

    方程组$(S)$的通解形式为$x=a_1t_1M_1+a_2t_2M_2+ldots a_nt_nM_n+kM=kM+sum_{i=1}^n a_it_iM_i,kin Z$.

    在模$M$的意义下,方程组$(S)$只有一个解:$x=egin{pmatrix} sum_{i=1}^n a_it_iM_iend{pmatrix} pmod{M}$

    证明:

     从假设可知,对任何$iin egin{Bmatrix}1,2,ldots ,nend{Bmatrix},j e i,gcd(m_i,m_j)=1$,所以$gcd(m_i,M_i)=1$.

    这说明存在整数$t_i$使得$t_iM_iequiv 1pmod{m_i}$.这样的$y_i$叫做$M_i$模$m_i$的数论倒数。

    考察乘积$a_it_iM_i$可知:

    $$a_it_iM_iequiv a_i imes 1equiv a_ipmod{m_i}$$

    $$forall jin egin{Bmatrix}1,2,ldots ,nend{Bmatrix},j e i,a_it_iM_iequiv 0pmod{m_j}$$

    所以$x=a_1t_1M_1+a_2t_2M_2+ldots +a_nt_nM_n$满足:

    $$forall iin egin{Bmatrix} 1,2,dots ,nend{Bmatrix},x=a_it_iM_i+sum_{j e i}a_jt_jM_jequiv a_i+sum_{j e i}0equiv a_ipmod{m_i}$$

    这说明$x$就是方程组$(S)$的一个解。

    另外,假设$x_1$和$x_2$都是方程组$(S)$的解,那么:

    $$forall iin egin{Bmatrix}1,2,ldots ,nend{Bmatrix},x_1-x_2equiv 0pmod{m_i}$$

    而$m_1,m_2,ldots m_n$两两互质,这说明$M=prod_{i=1}^n m_imid x_1-x_2$,所以方程组$(S)$的任何两个解之间必然相差$M$的整数倍。而另一方面,$x=a_1t_1M_1+a_2t_2M_2+ldots a_nt_nM_n$是一个解,同时所有格式为:

    $$a_1t_1M_1+a_2t_2M_2+ldots a_nt_nM_n+kM=kM+sum_{i=1}^n a_it_iM_i,kin Z$$

    的整数也是方程组$(S)$的解。所以方程组所有的解的集合就是:$egin{Bmatrix} kM+sum_{i=1}^n a_it_iM_i,kin Zend{Bmatrix}$. 

  • 相关阅读:
    MySQL ——索引原理与慢查询优化(Day45)
    mysql 练习题(Day44)
    MySQL 多表查询(Day43)
    MySQL 单表查询(Day42)
    MySQL -表完整性约束(Day41)
    回调函数
    进程池
    共享数据, 信号量(了解),事件(了解)
    管道
    python并发编程之多进程
  • 原文地址:https://www.cnblogs.com/JDFZ-ZZ/p/12079151.html
Copyright © 2011-2022 走看看