1. 程式人生 > >數論筆記 · 佩爾方程(連分數)

數論筆記 · 佩爾方程(連分數)

佩爾方程實際上並不是佩爾提出的,而是費爾馬提出,卻被尤拉誤記為佩爾提出,因此佩爾方程的名稱沿用至今。身為不定方程的特殊一類,佩爾方程與連分數,二次型,代數論等等有著重要的聯絡,因而是數論中最經典的篇章之一。令d 為非平方數的正整數,那麼佩爾方程(Pell Equation)為:

        數論筆記 <wbr>路 <wbr>佩爾方程

  * 連分數 *

    在對佩爾方程進行深入瞭解之前,先來看看與該方程不可分離的連分數:

       數論筆記 <wbr>路 <wbr>佩爾方程

由於篇幅的原因,通常記為

        數論筆記 <wbr>路 <wbr>佩爾方程

其中 pnqn 稱為連分數之多項式,對於任意的a 均為一次式,它們的比值稱為第 n 個漸進值漸進分數。對於漸進值來講,有著遞迴關係式:

        數論筆記 <wbr>路 <wbr>佩爾方程

        數論筆記 <wbr>路 <wbr>佩爾方程

    由數學歸納法可以得到關係式:

     數論筆記 <wbr>路 <wbr>佩爾方程

在華羅庚的《數論導引》中介紹了連分數一些性質定理,例如:有理數必可表示為有限連分數,無理數的連分數表示法唯一等等。

 * 佩爾方程 *

    注意到在上述多項式的遞迴表示中,具有決定多項式數值作用的關鍵的 an 並沒有計算公式。此時回來看佩爾方程,根據數論中的定理:

   定理1:對於正整數p、q ,如果有

        數論筆記 <wbr>路 <wbr>佩爾方程

則比值 p/q 必為 a 的一個漸進值。

    因此可以得出推論:對於佩爾方程,其全部的根的集合為:

        數論筆記 <wbr>路 <wbr>佩爾方程

由遞迴方程式

        數論筆記 <wbr>路 <wbr>佩爾方程

可以得到

        數論筆記 <wbr>路 <wbr>佩爾方程

    而判斷二次不定方程有解的充分必要條件有下述定理表述:

   定理2:二次不定方程

        數論筆記 <wbr>路 <wbr>佩爾方程

常有解,二次方程

        數論筆記 <wbr>路 <wbr>佩爾方程

不可解的充要條件為:

        數論筆記 <wbr>路 <wbr>佩爾方程

    根據上述定理,由數學歸納法可以得到關係式:

        數論筆記 <wbr>路 <wbr>佩爾方程


       數論筆記 <wbr>路 <wbr>佩爾方程


        數論筆記 <wbr>路 <wbr>佩爾方程

這樣就可以根據 p、q、P、Q 的遞迴關係式計算出根式形式的無理數的連分數展開。

 * 迴圈連分數 *
    迴圈連分數指的是連分數表示式中存在迴圈節。根據數論中的基本定理:一個連分數為迴圈連分數的充分必要條件為此數是一有理係數二次不可化方程的根。因此根式形式的無理數均為迴圈連分數,且具有獨特的性質:

        數論筆記 <wbr>路 <wbr>佩爾方程

    通過迴圈表示,可以求解得到佩爾方程的最小整數解:

        數論筆記 <wbr>路 <wbr>佩爾方程


 * 佩爾型方程 *

    更加複雜的佩爾形式的方程:

        數論筆記 <wbr>路 <wbr>佩爾方程 


假設 p、q 為上述方程的解,考慮其對應的佩爾方程極其基礎解系:

        數論筆記 <wbr>路 <wbr>佩爾方程

則有

        數論筆記 <wbr>路 <wbr>佩爾方程

當 (p,q) 為包含所有基礎解,這樣所有的解集由下式遞迴構成


        數論筆記 <wbr>路 <wbr>佩爾方程

計算佩爾型方程的互不等價的基本解集主要依賴 PQA 演算法和 Lagrange-Matthews-Mollin 演算法。

   PQA演算法:

    對佩爾方程做表

        數論筆記 <wbr>路 <wbr>佩爾方程

各項遞迴按照佩爾方程遞迴關係計算得到。其中各項初始值為: a 的初始值 a0 相當於佩爾方程中的 a1 ,p0 = a0 * Q0 - P0 ,q0 = 1 ,p1 = a1 * p0 + Q0 ,q1 = a1 。表的遞迴計算到Q 的第一個週期或者 |Q|=1 。值得注意的是,此時 a 的遞迴方程式中,a0 不能先取整,因為若K是負數,則會導致錯誤的計算。

    這樣就可以進行佩爾型方程基本解集的計算:按照 K^2 D 的關係有:

 CASE K^2<D

    P0 = 0 ,Q0 = 1 作為初始值帶入 PQA 演算法,當 Kn = K 時得到所有基本解集。

 CASE K^2>D : LMM Algorithm

    When f>0 , listm = K / f^2

    For each m , find all z :-|m|/2 <z <= |m|/2,and z^2 = D modulo |m|

    For each z , P0 = z ,Q0 = |m| as initial value inPQA algorithm:

        If Qn+1 * sign(m) = 1 , thenf*(Pn,Qn) is solution.

        If Qn+1 * sign(m) = -1 , thenf*(Pn,Qn) is solution ofx^2 - Dy^2 = -K .

          If x^2 - Dy^2 = -1 has primitive solution(u,v) , then f*(uPn+DvQn,vPn+uQn) is solution.

    根據遞迴,該基本解集的每一個元素都可以產生無窮的解集,綜合起來就是佩爾型方程的解集。