四則演算で立方根以上を計算する

 その昔、珠算教室に通ったことがある。いまでも算盤は愛用している。加算しかできなのでありますが、、、。

 算盤の高等テクニックの一つに開立というのがあると知ったのは、その時だったかどうか、とにかく算盤だけで立方根が計算できるとは「凄い」と思ったものだ。

 平方根の計算はNewton法とか学校で練習問題的にならった。四則演算だけでの反復計算だというのがポイントだ。

 立方根を四則演算だけで計算するやり方がないものか、ここ数日考えあぐねていた。

過去に使った2変数の連分数を応用してみた。

 周知のように

          はやがては   に接近する。四則演算の繰り返しで平方根は計算できる。もちろん、収束速度は遅い。

 同様な発想で立方根は計算できるであろうか?

         

この表現での二変数の連分数の反復計算で可能であるというのが、ひとまずの結論。

 2の立方根を計算する場合、a,b,c,dは -3,1,6,3とすればいい。yがその近似を与えるはずだ。

 初期値をx=1,y=1.1として十数回反復計算する。

{1., 1.1}, {-1.42857, 1.5}, {-1.2, 1.19028}, {-1.36969,  1.35135}, {-1.27586, 1.23051}, {-1.34499, 1.29651}, {-1.30633,   1.24766}, {-1.33472, 1.27483}, {-1.31878, 1.25484}, {-1.33047, 1.26604}, {-1.32389, 1.25782}, {-1.32871, 1.26244}, {-1.326,   1.25905}, {-1.32799, 1.26096}, {-1.32687, 1.25956}, {-1.32769,1.26035}, {-1.32723, 1.25977}, {-1.32757, 1.2601}, {-1.32738,   1.25986}, {-1.32752, 1.25999}, {-1.32744, 1.2599}, {-1.32749,1.25995}, {-1.32746, 1.25991}, {-1.32749, 1.25993}

 

 最後のy座標1.25993は2の立方根1.25992105..に近い。

こんな感じでy座標が収束してゆく。見た感じではそれほどトロイ収束ではない。

         

 x座標も何かの値に収斂するようだが、それは別の代数方程式の実根になる。

      

 それでは、一般的な場合をどうするのか。つまり、nの立方根を出すときに、a,b,c,dはどう決めるのであろうか? 

 それは、各自で考えるのも暇つぶしにはなりましょう。

この反復式は立方根の近似分数を与えていることは、平方根と連分数の関係からも明らかだろう。それが最良近似(ラグランジェの定理)かどうかは別問題となりそうです。

 

 問題は高次の根号はどのようにするのだろろか? 例えば4乗根や5乗根をうまく出すような反復表現は見いだせるだろうか?

 原理的には出せそうだと今はしておきます。

 

【参考文献】

 ほぼ唯一の連分数の成書