Pell方程解法+連分數自己整理

來源:互聯網
上載者:User

1、首先學習一下連分數。

      連分數:維基百科。

     連分數表示的演算法會學習一下。

    

 

考慮實數 r。設 i 是 r 的整數部分,而 f 是它的小數部分。則 r 的連分數表示是 [i; …],這裡的“…”是 1/f 的連分數表示。習慣上用分號取代第一個逗號。

要計算實數 r 的連分數表示,寫下 r 的整數部分(技術上 floor)。從 r 減去這個整數部分。如果差為 0 則停止;否則找到這個差的倒數並重複。這個過程將終止,若且唯若 r 是有理數。

找出 3.245 的連分數
停止  
3.245 的連分數是 [3; 4, 12, 4]

數 3.245 還可以表示為連分數展開 [3; 4, 12, 3, 1];參見下面的有限連分數。

這個演算法適合於實數,但如果用浮點數實現的話,可能導致數值災難。作為替代,任何浮點數是一個精確的有理數(在現代電腦上分母通常是 2 的冪,在電子計算機上通常是 10 的冪),所以歐幾裡得GCD演算法的變體可以用來給出精確的結果。

2.PELL方程的解法。

 

若一個丟番圖方程具有以下的形式:

且為正整數,則稱此方程為佩爾方程(英文:Pell's equation 德文:Pellsche Gleichung)

若是完全平方數,則這個方程式只有解(實際上對任意的,都是解)。對於其餘情況,拉格朗日證明了佩爾方程總有解。而這些解可由的連分數求出。

設 是的連分數表示:的漸近分數列,由連分數理論知存在  使得(pi,qi)
為佩爾方程的解。取其中最小的 ,將對應的 (pi,qi) 稱為佩爾方程的基本解,或最小解,記作(x1,y1)
,則所有的解(xi,yi) 可表示成如下形式:

或者由以下遞推公式得到:

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.