扩展欧几里得归纳算法中的推导公式解释

在《程序设计艺术》中关于扩展欧几里得归纳算法中有个公式:

   a = a' - qa; b = b' -qa,推导如下:

  (1)根据:https://www.math.cmu.edu/~bkell/21110-2010s/extended-euclidean.html

            中的除法算法: n = qd  + r 且 0<= r < d ; =》r = n -qd; 

    根据对如下数字序列观察:

序号a        bcdqr

除法公式余数表达

(注:m=1769; n=551)

10117695513116116=m+(-3)n
21-355111648787 = -4m + 13n
3-4131168712929 = 5m +(-16)n
45-16872930

       可以看出如下规律:  

              d为当前最终值,c1,c2,c3...cn序列可以看出前一段的值;其中 d_{i}=r_{i-1}; ci=ri-2;     

                 (a_{i}, b_{i}, c_{i}, d_{i} )为 a,b, c, d的上一阶段的值;     

m=1769; n=551
116=m+(-3)n a1 m + b1n =c1 a’m + b'n =c
87 = -4m + 13na2m + b2n = c2
29 = 5m +(-16)n        a3m + b3n =c3
0= 5m +(-16) n               am+bn =dam+bn = d

             等式: a'm+b'n =c (公式1)和 am+bn= d(公式2)总是成立。 将c = qd+r代入得出:

                   a'm + b'n = q(am+bn) + r =>r = (a'-qa)m + (b'-qb)n  (公式3)。

                   公式3不改变 公式1和2的形式, 即公式1和2成立,则3也成立(注:公式3表示当前的值)。  

         上述是数学归纳证明,下面找递推公式,就是找出 (a_{i}, b_{i}, c_{i}, d_{i},q_{i} ) <--(a_{i-1},b_{i-1},c_{i-1},,d_{i-1}, q_{i-1})之间的关系:

    由上述关系1:d_{i}=r_{i-1}    ==》d_{i}c_{i-1}-q_{i-1}d_{i-1}

     由上述关系2:c_{i-1} =d_{i-2}   ==》 d_{i}=d_{i-2}-q_{i-1}d_{i-1} 进一步推导出:

                  d_{i} = (a_{i-2} - q_{i-1}a_{i-1}) m + (b_{i-2} -q_{i-1}b_{i-1})n   (I)

             同时:   d_{i} = a_{i}m +  b_{i}n    (II);

       由上可以推导出: a_{i}=    a_{i-2} - q_{i-1}a_{i-1}

                                     b_{i} =   b_{i-2} -q_{i-1}b_{i-1}

即a m + b n = d  的系数 a,b的递推公式
 

       

       


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值