(57)【要約】【課題】  累乗根の計算をするプログラムを提供する。【解決手段】  初期値を底とし、与えられた自然数を指数とする累乗を、与えられた累乗から引き、その差を前記指数で割った商を、前記初期値を底とし、前記指数から１を引いた差を指数とする累乗で割り、その商を前記初期値に加え、その和を前記初期値の代わりに用いて同じ演算を行い、以後、これを繰り返すことを特徴とする。又、与えられた平方から、初期被加値を底とする平方を引いた差に初期加値を乗じた積を、前記初期被加値と前記初期加値の和を底とする平方から、前記初期被加値を底とする平方を引いた差で割り、その商を前記初期加値の代わりに用いて同じ演算を行い、以後、これを繰り返すことを特徴とする。被加値を変更したり、三つのサイクルの結果を用いた一つの数式で計算したりして精度のよい結果を得る。【特許請求の範囲】
【請求項１】
累乗と自然数の指数が与えられ、その累乗根を計算するにあたり、初期値を底とし、与えられた自然数を指数とする累乗を、与えられた累乗から引き、その差を前記指数で除した商を、前記初期値を底とし、前記指数から１を引いた差を指数とする累乗で除し、その商を前記初期値に加え、その和を前記初期値の代わりに用いて前記初期値のときと同じ演算を行い、以後、これを繰り返すことを特徴とするプログラム。
【請求項２】
累乗と自然数の指数が与えられ、その累乗根を計算するにあたり、初期値を底とし、与えられた自然数を指数とする累乗に、前記指数から１を引いた差を乗じた積を与えられた累乗に加え、その和を前記指数で除した商を、前記初期値を底とし、前記指数から１を引いた差を指数とする累乗で除し、その商を前記初期値の代わりに用いて前記初期値のときと同じ演算を行い、以後、これを繰り返すことを特徴とするプログラム。
【請求項３】
１以上の平方が与えられ、その平方根を計算するにあたり、与えられた平方の整数部分の桁数が奇数の場合、与えられた平方の桁数を２で除した商の整数部分を指数とする１０の累乗数で与えられた平方を除した桁割商を２で除した商を初期被加値とし、偶数の場合には、前記桁割商に２を乗じた積を初期被加値とし、初期被加値を底とする平方から与えられた平方を引いた差が正のときは前記初期被加値を−４で除した商を初期加値とし、負のときには前記初期被加値を３で除した商を初期加値とし、前記差に前記初期加値を乗じた積を、前記初期被加値と前記初期加値との和を底とする平方から、前記初期被加値を底とする平方を引いた差で除し、その商を前記初期加値の代わりに用いて同じ演算を行い、以後、これを繰り返し、サイクルを繰り返すたびに得られる結果が各々の直前のサイクルで得た結果より各々増加する一方又は減少する一方の場合、二回以上サイクルが終了した時点における二つ前のサイクルの結果又は前記初期加値と前記初期被加値の和である前々回値から、一つ前のサイクルが終了した時点の結果である前回値を引いた差の平方を、前記前回値に２を乗じた積から、最も新しいサイクルが終了した時点の結果である最新値を引いた差から前記前々回値を引いた差で除した商に、前記前々回値を加えて算出し、サイクルを繰り返すたびに得られる結果が増加することと減少することを交互に繰り返す場合には、四回以上サイクルが終了した時点における最新の結果と、二回前のサイクルの結果と、四回前のサイクルの結果又は前記初期被加値と前記初期加値の和をそれぞれ前記最新値と、前記前回値と、前記前々回値の代わりに用いて算出し、０より大きく１より小さい平方が与えられ、その平方根を計算するにあたっては、前記平方の逆数の正の平方根を算出し、前記平方根の逆数を算出することを特徴とするプログラム。
【請求項４】
請求項３に記載のプログラムにおいて、１以上の平方の平方根又は０より大きく１より小さい平方の逆数の平方を計算する際に、平方又は平方の逆数の整数部分の桁数が奇数の場合、前記桁数から１を引いた差を２で除した商の整数部分を指数とする１０の累乗数で与えられた平方又は与えられた平方の逆数を除した桁割商を初期被加値とし、前記初期被加値を−２で除した商を初期加値とし、偶数の場合には、前記桁割商を３で除した商を初期被加値とし、前記初期被加値を−２で除した商を初期加値とし、二回以上サイクルが終了した時点で得た最新の結果と、一つ前のサイクルが終了した時点で得た結果と、二つ前のサイクルが終了した時点で得た結果又は前記初期被加値と前記初期加値の和の三つの結果をそれぞれ最新値と、前回値と、前々回値として用いて算出することを特徴とするプログラム。
【請求項５】
請求項４に記載のプログラムにおいて、初回のサイクルの結果の平方が与えられた平方又は与えられた平方の逆数より大きい場合、初回のサイクルの結果を初期被加値の代わりに第二期被加値として用い、前記第二期被加値を−９又は−１０で除した商を新たな加値として用いて、二回目のサイクルを行い、最新値、前回値及び前々回値を用いて算出する際に二回目以降のサイクルの結果又は前記第二期被加値と前記加値の和を用いることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムにおいて、初回のサイクルの終了後に初期被加値を第二期被加値に変更し、二回目のサイクルの結果の平方が与えられた平方又は与えられた平方の逆数より大きい場合、二回目のサイクルの結果を前記第二期被加値の代わりに第三期被加値として用い、前記初期被加値を第二期被加値に変更した際に前記第二期被加値を−９で除したときは前記第三期被加値に−０．００７を乗じた積又は前記第三期被加値を−１４０で除した商を、−１０で除したときには前記第三期被加値を−１３０で除した商を新たな加値として用いて、三回目のサイクルを行い、最新値、前回値及び前々回値を用いて算出する際に三回目以降のサイクルの結果又は前記第三期被加値と前記加値の和を用いることを特徴とするプログラム。
【請求項７】
請求項３に記載のプログラムにおいて、初期被加値の平方が与えられた平方又は与えられた平方の逆数より大きい場合で初回のサイクルの結果の和の平方が与えられた平方又は与えられた平方の逆数より大きいとき、初回のサイクルの結果を初期被加値の代わりに第二期被加値として用い、前記第二期被加値を−２２又は−２０で除した商を新たな加値として用い、初期被加値の平方が与えられた平方又は与えられた平方の逆数より小さい場合で初回のサイクルの結果と初期被加値の和の平方が与えられた平方又は与えられた平方の逆数より大きいとき、初回のサイクルの結果を初期被加値の代わりに第二期被加値として用い、前記第二期被加値を−２５で除した商を新たな加値として用い、小さいときには、初期被加値と初期加値の和を初期被加値の代わりに第二期被加値として用い、前記第二期被加値を−７又は−８で除した商を新たな加値として用いて、二回目のサイクルの演算を行い、最新値、前回値及び前々回値を用いて算出する際には二回目以降のサイクルの結果又は前記第二期被加値と前記加値の和を用いることを特徴とするプログラム。
【請求項８】
請求項６に記載のプログラムにおいて、初期被加値から第二期被加値への変更が行われない場合、全部で五回サイクルを行い、初回から三回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として用いて算出した値と、二回目から四回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として用いて算出した値と、三回目から五回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として用いて算出した値とをそれぞれ前々回値と、前回値と、最新値として用いて算出し、初期被加値から第二期被加値への変更は行われ、第二期被加値から第三期被加値への変更は行われない場合には、第二期被加値への変更の後に四回サイクルを行い、第二期被加値への変更後においての二回目のサイクルから四回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として用いて算出し、初期被加値から第二期被加値への変更及び第二期被加値から第三期被加値への変更が行われた場合には、第二期被加値から第三期被加値への変更の後に三回サイクルを行い、第三期被加値への変更後においての最初のサイクルから三回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として用いて算出することを特徴とするプログラム。
【請求項９】
請求項６に記載のプログラムにおいて、初期被加値から第二期被加値への変更が行われない場合、全部で六回サイクルを行い、二回目から四回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として用いて算出した値と、三回目から五回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として用いて算出した値と、四回目から六回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として用いて算出した値とをそれぞれ前々回値と、前回値と、最新値として用いて算出し、初期被加値から第二期被加値への変更は行われ、第二期被加値から第三期被加値への変更は行われない場合には、第二期被加値への変更の後に五回サイクルを行い、第二期被加値への変更後においての三回目から五回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として用いて算出し、初期被加値から第二期被加値への変更及び第二期被加値から第三期被加値への変更が行われた場合には、第三期被加値への変更の後に四回サイクルを行い、第二期被加値への変更後においての二回目から四回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として用いて算出することを特徴とするプログラム。
【請求項１０】
請求項３、請求項４、請求項５又は請求項７に記載のプログラムにおいて、前々回値、前回値及び最新値を用いて算出した後に、前記前々回値を新たな被加値として用い、前記前々回値から前記前回値を引いた差の平方を、前記前回値に２を乗じた積から前記最新値を引いた差から前記前々回値を引いた差で除した商を新たな加値として用いることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、累乗根の計算をするプログラムに関するものである。
【背景技術】
【０００２】  従来、平方根などの累乗根の計算をするプログラムは幾つかあるが、二項定理を利用して累乗根の計算をするプログラムはなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００３】  本発明は、収束速度が速い。又、二項定理を利用するものであり、計算方法が平易で数学的に理解するのが極めて容易である。又、それとは異なる方法で平方根を計算するプログラムも提供する。
【課題を解決するための手段】
【０００４】  請求項１及び請求項２に記載のプログラムは、累乗と自然数の指数が与えられ、その累乗根を計算するものである。それについて述べる。０以外の実数の平方は必ず正だから、指数が偶数の場合、与えられた平方が負の場合はエラー表示をする。平方根を計算する請求項３以降の請求項に記載のプログラムにおいても、負の平方が与えられたときにエラー表示をする。よって、指数が偶数の場合は与えられた累乗は正あるいは０としてよく、与えられた累乗が０の場合には、後述するように、必ず初回のサイクルで真の平方根が得られるので、特に断りがない限り、指数が偶数の場合は与えられた累乗は正の数として考える。そして、指数が偶数の場合、与えられた累乗が０以外のときは正の実数の累乗根と、それと絶対値は等しく符号が負であるものの二つの累乗根が存在するので、指数が偶数の場合は、まず、正の累乗根を算出することを前提とし、その算出値の絶対値はそのままで符号のみを負とすることにより負の実数の累乗根を得る。指数が奇数の場合には、与えられた累乗が正のときは正の実数の累乗根を、負のときには負の実数の累乗根をそれぞれ算出する。その際には、絶対値はそのままで符号のみを入れ替えたものは累乗根ではない。初期値の正負の符号は、指数が偶数の場合は正、指数が奇数の場合には与えられた累乗のものと同じにするのが好ましい。【０００５】  次に、請求項１に記載のプログラムを説明する。まず、平方根の場合で説明する。【０００６】  まず、初期値を底とし、与えられた指数である２を指数とする累乗、つまり初期値の平方を計算する。次に、それを与えられた平方から引く。次に、その差を前記指数２で割る。そして、その商を、初期値を底とし、前記指数から１を引いた差を指数とする累乗で割る。つまり、初期値の１乗で割る。割る順番は逆でもかまわない。以下、同様である。【０００７】  そして、その商を初期値に加える。このようにして算出した和を初期値の代わりに用いて同様に計算を行う。以後、これを繰り返す。すると、各々のサイクルの最後に算出される各々の和が、正の平方根に無限に近づく。ただし、許容桁数の制約により、後述するように、限界があるときもある。【０００８】  直前のサイクルの結果と同じ結果が算出される、あるいはほぼ等しい複数の結果が同じ組み合わせで繰り返し算出されると、それで終了となる。その際、請求項１に記載のプログラムでは、各サイクルにおいての最初の計算結果である累乗が与えられた累乗と等しい又はその近似値となり、その次の計算結果であるそれらの累乗の差が０、あるいは０に極めて近い数値となる。そのとき、各サイクルで最後の計算の際の加数が０、あるいは０に極めて近い数値となる。【０００９】  平方根以外の場合で説明する。５乗根を例にとって説明する。【００１０】  初期値の５乗を計算し、それを与えられた累乗から引く。次に、その差を指数５で割り、その商を初期値で４回割る。その結果得られた数値を初期値の代わりに用いて同じ演算を行い、以後、これを繰り返す。【００１１】  請求項１及び請求項２に記載のプログラムの各々のサイクルで得られる結果と累乗根の大小の関係について述べる。指数が偶数又は指数が奇数で与えられた累乗が正の場合��正の累乗根を計算するとして述べる。初期値が正の累乗根より大きいとき、初回のサイクルで算出される結果は、必ず、初期値より小さく、正の累乗根より大きい。そして、二回目のサイクルの結果は、正の累乗根より大きく初回のサイクルの結果より小さい。以後、正の累乗根より大きく直前のサイクルの結果より小さい結果を算出することが繰り返され、繰り返せば繰り返すほど正の累乗根に無限に近づく。初期値が正の累乗根より小さいときには、初回のサイクルで算出される結果は、必ず正の累乗根より大きい。勿論、正の累乗根より小さい初期値より大きい。そして、それ以降のサイクルにおいては、正の累乗根より大きい数値を用いて演算するから、上述のときと同様に、正の累乗根より大きく直前のサイクルの結果より小さい結果を算出することを繰り返し、正の累乗根に無限に近づく。いずれにしても二回目以降のサイクルで算出される結果は、常に、その直前のサイクルで算出された結果より小さい。これらのことを踏まえてみると、もし初回のサイクルで算出された結果が増加すれば、初期値は正の累乗根より小さく、もし減少すれば、正の累乗根より大きいとわかる。なお、０以外の平方の平方根の場合、もし初期値が０より大きく正の平方根の１／３以下であれば、初回のサイクルで算出される結果と正の平方根の差の絶対値は、初期値と正の平方根の差の絶対値以上となる。指数が奇数かつ与えられた累乗が負のときには、上述した関係は、各々のサイクルの算出値における各々の絶対値と、負の累乗根の絶対値との間にそれぞれ成り立つ。【００１２】  上述のプログラムは、よく知られた数学の公式である二項定理を利用する。下記の数式１は、平方のときの二項定理である。数式１を変形すると、下記の数式２となる。同式のａを初期値、ｂを初期値に加える加値とそれぞれ見立てる。すると、その左辺は、与えられた平方から初期値の平方を引いた結果と見立てることができ、又、その左辺と等しい右辺において、上述で計算したように指数２で割り、更に指数２より１小さい回数で初期値で割る、すなわち２で割った商を初期値ａで１回割ると、その結果は加値ｂとある程度近い値になる。右辺の第二項ｂ２を同じようにして計算した結果が誤差として生じるが、上述の計算で算出した結果を初期値ａに加えて平方する、すなわち数式１の左辺の底であるａとｂの和より近い数値を平方するわけだから、上述したような初期値が０より大きく正の平方根の１／３以下の場合以外は、その平方の方が初期値の平方よりも与えられた平方に近い。以後、これを繰り返せばよい。なお、下記の数式３は、平方に限らずｎ乗のときの二項定理の公式である。見やすくするため、第二辺においては普通は前に記入する階乗を後ろに移した。下記の数式４は、数式２のときと同様にして変形した数式である。数式２の右辺のときと同様に、数式４の右辺の第一項に着目する。数式２より第二項以降の項が多くても、収束速度はかなり速い。なお、与えられた指数が自然数でない場合でも累乗根を算出できる。ただし、例えば３．５乗の場合、初期値の３．５乗及び２．５乗をそれぞれ計算する必要がある。よって、後述するように一般的な電子計算機で計算する際には、面倒な計算を伴う。【００１３】
【数１】
2015228198.tif 000002
【００１４】
【数２】
2015228198.tif 000003
【００１５】
【数３】
2015228198.tif 000004
【００１６】
【数４】
2015228198.tif 000005
【００１７】  請求項３以降の請求項に記載のプログラムは、平方根を計算するものである。請求項１及び請求項２に記載のプログラムとは、計算方法が根本的に異なる。ただし、与えられた平方が負の場合はエラー表示をするなどの点では同じである。よって、与えられた平方は正の数あるいは０として考えてよく、与えられた平方が０の場合には、後述するように、必ず初回のサイクルで真の平方根が得られるので、特に断りがない限り、与えられた平方は正の数として考える。０以外の平方の平方根は、絶対値が等しく正負の符合が異なる二つが必ず存在するが、同プログラムは、まず、正の平方根を算出する。そして、それと絶対値は等しく符号を負とするのみで、負の平方根を得られ、正負の二つの根を得ることができる。よって、以下、正の平方根を算出することを前提とする。０より大きく１より小さい平方の平方根の場合には、まず、平方の逆数の正の平方根を算出する。０より大きく１より小さい数の逆数は１より大きいから、前記平方の逆数は１より大きく、ゆえに上述の与えられた平方が１以上の場合と同様にして算出すると、１より大きい正の平方根が算出される。そして、その算出値を逆数にするのみで正の平方根が得られ、次いで負の平方根も得られる。以下、請求項３以降の請求項に記載のプログラムにおいて述べる際には、上述したように最初に算出する１以上の正の平方根として、初算出の正の平方根あるいは初算出すべき真の正の平方根と呼ぶとする。請求項３以降の請求項に記載のプログラムは、基本的な計算方法は同じである。以下、それらに共通する基本的な計算方法について説明する。ただし、請求項１や請求項２に記載のプログラムの初期値にあたる初期被加値の選定を要する。それに加えて、初期加値を選定する。初期加値とは、初期被加値との和が初算出すべき真の正の平方根と等しくなるとしてみなすための正又は負の値である。その選定の際、初期被加値を３、−４、あるいは−２などで割った商を初期加値とするのがよい。初期被加値の平方が与えられた平方あるいは与えられた平方の逆数より大きい場合、初期被加値は初算出すべき真の正の平方根より大きいので加値は負とし、初期被加値の平方が与えられた平方あるいは与えられた平方の逆数より小さい場合には、初期被加値は初算出すべき真の正の平方根より小さいので加値は正とするのが好ましい。初期被加値は常に正とする。初期被加値と初期加値の和も常に正とする。それらの選定方法は後述する。【００１８】  以下、初期被加値及び初期加値を用いる基本的な計算を説明する。【００１９】  まず、与えられた平方あるいは与えられた平方の逆数から、初期被加値の平方を引き、その差に初期加値を乗じた積を計算する。次に、その結果を、初期被加値と初期加値との和の平方から、初期被加値の平方を引いた差で割る。【００２０】  このようにして得られた商を次のサイクルで初期加値の代わりに加値として用いて同じ演算を行い、以後、これを繰り返す。すると、各サイクルの演算で得た加値と、初期被加値との和が、初算出すべき真の正の平方根に無限に近づく。その和を算出した時点が一つのサイクルの終了した時点であり、その和がそのサイクルの結果である。ただし、上述したように、許容���数の制約による限界があるときもある。もし、初期被加値が初算出すべき真の正の平方根と等しければ、初回のサイクルで得られる加値が０となり、初回のサイクルの結果が初期被加値と等しいから、容易にわかる。そして、このとき、初期被加値が初算出すべき真の正の平方根と等しい。もし、初期被加値と初期加値との和が初算出すべき真の正の平方根と等しければ、初回のサイクルで得られる加値は初期加値と等しいから、容易にわかる。そして、両者が一致したこのとき、初期被加値と初期加値の和が初算出すべき真の正の平方根と等しいとわかる。よって、以下、特に断りがない限り、初期被加値や初期被加値と初期加値の和は初算出すべき真の正の平方根と等しくないとして考える。【００２１】  初期加値をΔｏとおき、初回のサイクルが終了した時点で得、次のサイクルで加値として用いる数値をΔ１とおく。以後、二回目以後のサイクルが各々終了した時点で得、各々の次のサイクルで各々の加値として用いる数値をそれぞれΔ２、Δ３、Δ４、…、Δｎ、…と置くとする。つまり、ｎ回目のサイクルが終わった時点で得、ｎ＋１回目のサイクルで加値として用いる数値をΔｎとおく。初期被加値をａ、与えられた平方あるいは与えられた平方の逆数をＰ、与えられた指数をｍとそれぞれ置く。下記の数式５は、Δ１の値を算出する数式である。下記の数式６は、Δｎ＋１の値を算出する数式である。数式６で算出したΔｎ＋１と初期被加値の和がｎ＋１回目のサイクルの結果である。【００２２】
【数５】
2015228198.tif 000006
【００２３】
【数６】
2015228198.tif 000007
【００２４】  数式６において、平方根の場合、初期被加値の初算出すべき真の正の平方根に対する誤差率がどんなに大きくても、必ず初算出すべき真の正の平方根に無限に近づく。ただし、許容桁数に制約があったり、四捨五入があったりするので、プログラムで得られる結果には限界があるときもある。後述する全部で六つのケースに場合に分けると、必ず初算出すベき真の正の平方根に無限に近づくことを示すことができる。ただし、平方根以外の累乗根の場合には、常に無限に近づくとは限らない。初期被加値が真の累乗根の絶対値より小さく、しかも極めて小さい場合は、サイクルを繰り返せば繰り返すほど、その差が大きくなるケースもある。初期被加値が初算出すべき真の累乗根の絶対値より大きい場合には、そのようなケースはない。
【発明の効果】
【００２５】  請求項１及び請求項２に記載のプログラムは、収束速度が速い。しかも、その具体的手段が平易で、数学的に理解するのが極めて容易である。
【発明を実施するための形態】
【００２６】  請求項３以降の請求項に記載のプログラムは、請求項１に記載のプログラムより収束速度が遅い。特に、初期被加値の初算出すべき真の正の平方根に対する誤差率が大きいときには、収束速度が遅い。そこで、後述する三つの値を用いた数式で計算したり、被加値を変更したりして、収束速度を速くする。初回のサイクルで得た加値が大きいときには、初期被加値と初算出すべき真の正の平方根の誤差が大きい。
【００２７】  請求項３以降の請求項に記載のプログラムにおいて、三つの数値を用いて近似値を算出する方法を説明する前に、各々のサイクルで算出される各々の結果、言い換えれば、それらのプログラムに共通する基本的な計算である数式６で計算した結果と初算出すべき真の正の平方根との間に成り立つ関係について述べる。
【００２８】  まず、初期被加値と初算出すべき真の正の平方根との大小の関係により二つのケースに分ける。初期被加値が初算出すべき真の正の平方根より小さければＩ、大きければＩＩにそれぞれ分ける。もし初期被加値が初算出すべき真の正の平方根と等しければ、上述したように初回のサイクルで必ず結果が得られるから、そのケースの場合分けは不要である。次に、初期加値の正負及び初期被加値と初期加値の和と初算出すべき真の正の平方根との大小の関係によりそれぞれ三つのケースに分ける。Ｉのケースでは、初期加値が負であれば、初期被加値と初期加値の和と初算出すべき真の正の平方根との差の絶対値は、初期被加値と初算出すべき真の正の平方根との差の絶対値より、むしろ拡大する。Ｉのケースで初期加値が負の場合にＩｉ、初期加値が正の場合には、初期被加値と初期加値の和が初算出すべき真の正の平方根より小さいときはＩｉｉ、大きいときにはＩｉｉｉにそれぞれ分ける。一方、ＩＩのケースでは、初期加値が正であれば、初期被加値と初期加値の和と初算出すべき真の正の平方根との差の絶対値は、初期被加値と初算出すべき真の正の平方根との差の絶対値より、むしろ拡大する。ＩＩのケースで初期加値が負の場合は、初期被加値と初期加値の和が初算出すべき真の正の平方根より小さいときはＩＩｉ、大きいときにはＩＩｉｉにそれぞれ分け、初期加値が正の場合にはＩＩｉｉｉに分ける。ＩとＩＩのいずれのケースにおいても、初期被加値と初期加値の和と初算出すべき真の正の平方根が等しければ、上述したように初回のサイクルで必ず結果が得られるから、そのケースの場合分けは不要である。
【００２９】  Ｉのケースでは、一つのサイクルを行って得た結果と初算出すべき真の正の平方根との大小の関係は、その直前のサイクルで得た結果におけるそれと必ず入れ替わる。つまり、Ｉｉ及びＩｉｉのケースでは、初回のサイクルの結果は、初算出すべき真の正の平方根より必ず大きく、二回目のサイクルの結果は、初算出すべき真の正の平方根より必ず小さい。そして、これを交互に繰り返す。Ｉｉｉｉのケースでも同様である。ただし、Ｉｉｉｉのケースで初算出すべき真の正の平方根より大きいときは、Ｉｉ及びＩｉｉのケースでは小さく、Ｉｉｉｉのケースで小さいときには、Ｉｉ及びＩｉｉのケースでは大きい。ただし、初算出すべき真の正の平方根との誤差が極めて小さく、誤差が、許容桁数を満たす位のうちで最も下位の位に入る数字以外はすべて同じ場合などはこの限りではない。Ｉｉのケースでは、初期加値の正負が負から正に変わる。Ｉｉのケースの初回のサイクルの結果以外は、ＩＩの三つのケースも含めて、一つのサイクルを行って得た結果と初算出すべき真の正の平方根との差の絶対値は、その直前のサイクルの結果におけるそれより必ず小さい。
【００３０】  ＩＩｉのケースでは、初回のサイクルの結果は、初期被加値と初期加値の和より大きく、かつ初算出すべき真の正の平方根より小さいという関係が必ず成り立つ。そして、二回目以降のサイクルの結果は、各々の直前のサイクルの結果より大きく、かつ初算出すべき真の正の平方根より小さいという関係が必ず成り立つ。そして、以後これを繰り返し、繰り返せば繰り返すほど初算出すべき真の正の平方根に無限に近づく。ＩＩｉｉのケースでは、逆に、初回のサイクルの結果は、初算出すべき真の正の平方根より大きく、かつ初期被加値と初期加値の和より小さいという関係が必ず成り立つ。そして、二回目以降のサイクルの結果は、初算出すべき真の正の平方根より大きく、かつ各々の直前のサイクルの結果より小さいという関係が必ず成り立つ。そして、以後これを繰り返し、繰り返せば繰り返すほど初算出すべき真の正の平方根に無限に近づく。ＩＩｉｉｉのケースでは、初期被加値に初期加値を加えることにより、その和と初算出すべき真の正の平方根との差の絶対値が、初期被加値と初算出すべき真の正の平方根との差の絶対値よりむしろ拡大するが、初回のサイクルの結果が真の正の平方根より必ず大きく、かつ初期被加値より小さい、つまりΔ１がの値が負であり、その結果として、初期被加値と初期加値の和をより小さい。そして、初回のサイクルの結果を含めて、以降の各々のサイクルの結果においての各々の直前のサイクルの結果との大小の関係と、初算出すべき真の正の平方根との大小の関係は、ＩＩｉｉのケースと同じである。以上に述べたように各々のサイクルの結果は、初算出すべき真の正の平方根と各々の直前のサイクルの結果の間に必ず存在する。初回のサイクルの結果と比べる際の直前のサイクルの結果として、初期被加値と初期加値の和をそれとみなす。Ｉｉのケースと異なり、初回のサイクルの結果と初算出すべき真の正の平方根との差の絶対値は、初期被加値と初期加値の和と初算出すべき真の正の平方根との差より必ず小さい。ＩＩのケースでは、三つのすべてのケースで、一つのサイクルで得た結果は、その直前のサイクルの結果あるいは初期被加値と初期加値の和と比べて、必ず誤差の絶対値が小さい。
【００３１】  上述したようなケースに分けたときの各々のサイクルの結果において、上述の関係が成り立つことを示すことができ、その結果として、本プログラムで得た結果が初算出すべき真の正の平方根に無限に近づくことも示される。初期被加値と初算出すべき真の正の平方根をそれぞれａとｘとおき、初期被加値が初算出すべき真の正の平方根のｔ倍とおくと、Ｉのケースはａの値は０より大きくｘより小さく、ＩＩのケースではａの値はｘより大きいから、Ｉのケースはｔの値は０より大きく１より小さく、ＩＩのケースではｔの値は１より大きい。つまり、下記の数式７となる。ｔの値が１のときは初期被加値が初算出すべき真の正の平方根と等しいときであるので、ｔの値は１でないとしてよい。そして、初期加値が初算出すべき真の正の平方根のｕ倍とおくと、すべてのケースで、Δ１とΔ２の値はそれぞれ下記の数式８と下記の数式９となる。よって、ｔの値がとる範囲により、Δ１は、Ｉのケースでは正、ＩＩのケースでは負となる。ｔとｕの和において、Ｉｉ、Ｉｉｉ及びＩＩｉのケースは１より小さく、Ｉｉｉｉ、ＩＩｉｉ及びＩＩｉｉｉのケースでは逆に１より大きいことに注意する。ｔとｕの和が１のときは初期被加値と初期加値の和が初算出すべき真の正の平方根と等しいときであるので、ｔとｕの和は１でないとしてよい
【００３２】
【数７】
2015228198.tif 000008
【００３３】
【数８】
2015228198.tif 000009
【００３４】
【数９】
2015228198.tif 000010
【００３５】  次に、ＩＩの三つのケースについて述べる。初回のサイクルの結果から初期被加値と初期加値の和を引くと、下記の数式１０となる。数式１０において、ｔとｕの和と１の大小の関係により、ＩＩｉのケースは正となり、ＩＩｉｉ及びＩＩｉｉｉのケースでは負となるから、ＩＩｉのケースは初回のサイクルの結果は初期被加値と初期加値の和より大きく、ＩＩｉｉ及びＩＩｉｉｉのケースでは小さいことがわかる。次に、初回のサイクルの結果から初算出すべき真の正の平方根を引くと、下記の数式１１となる。よって、ｔとｕの和と１の大小の関係及びｔと１の大小の関係により、ＩＩｉのケースは数式１１が負となり、ＩＩｉｉ及びＩＩｉｉｉのケースでは正となるから、ＩＩｉのケースは初算出すべき真の正の平方根より小さく、ＩＩｉｉ及びＩＩｉｉｉのケースでは初算出すべき真の正の平方根より大きい。したがって、数式１０と数式１１の結果より、ＩＩのケースにおいての初回のサイクルの結果において、上述したように、ＩＩｉのケースの初回のサイクルの結果は初期被加値と初期加値の和より大きく、かつ初算出すべき真の正の平方根より小さく、ＩＩｉｉ及びＩＩｉｉｉのケースでは初算出すべき真の正の平方根より大きく、かつ初期被加値と初期加値の和より小さい。そして、ＩＩｉのケースでΔ１をΔｏをそれぞれΔ２とΔ１にそれぞれ置き換えて考えると、二回目のサイクルの結果は、その直前のサイクルの結果である初回のサイクルの結果より大きく、かつ初算出すべき真の正の平方根より小さいことがわかる。そして、以後、これを繰り返すと、ＩＩｉのケースの任意のサイクルの結果はその直前のサイクルの結果より大きく、かつ初算出すべき真の正の平方根より小さいことがわかる。ＩＩｉｉ及びＩＩｉｉｉのケースでも同様にして考えると、任意のサイクルの結果は初算出すべき真の正の平方根より大きく、かつその直前のサイクルの結果より小さいことがわかる。つまり、ＩＩのケースで上述の関係が成り立つことが示され、その結果として、ＩＩのケースで初算出すべき真の正の平方根に無限に近づくことも示された。
【００３６】
【数１０】
2015228198.tif 000011
【００３７】
【数１１】
2015228198.tif 000012
【００３８】  次に、Ｉの三つのケースについて述べる。数式１１において、ｔとｕの和と１の大小の関係及びｔと１の大小の関係により、Ｉｉ及びＩｉｉのケースの初回のサイクルの結果は初算出すべき真の正の平方根より大きく、Ｉｉｉｉのケースでは小さいことがわかる。つまり、Ｉｉ及びＩｉｉ並びにＩｉｉｉの初回のサイクルの結果においての初期被加値と初期加値の和の大小の関係と、初算出すべき真の正の平方根との大小の関係はそれぞれ入れ替わることがわかる。そして、ΔｏとΔ１をそれぞれΔ１とΔ２に置き換えて考えると、Ｉｉ及びＩｉｉのケースと、Ｉｉｉｉのケースとで、二回目のサイクルの結果においてもそれぞれ同様な結果となる、すなわち二回目のサイクルの結果においての初期被加値と初期加値の和の大小の関係と、初算出すべき真の正の平方根との大小の関係はそれぞれ入れ替わることがわかる。そして、以後、これを繰り返すことにより、任意のサイクルの結果はこれを繰り返すことがわかる。次に、二回目のサイクルの結果から初期被加値と初期加値の和を引くと、下記の数式１２となる。よって、ｔとｕの和と１の大小の関係により、Ｉｉ及びＩｉｉのケースは二回目のサイクルで得た結果は初期被加値と初期加値の和より大きく、Ｉｉｉｉのケースでは小さいことがわかる。一方、二回目のサイクルの結果から初算出すべき真の正の平方根を引くと、下記の数式１３となるから、ｔとｕの和と１の大小の関係により、Ｉｉ及びＩｉｉのケースは二回目のサイクルの結果は初算出すべき真の正の平方根より小さく、Ｉｉｉｉのケースでは初算出すべき真の正の平方根より大きいことがわかる。つまり、Ｉｉ及びＩｉｉのケースは二回目のサイクルの結果は初期被加値と初期加値の和より大きく、かつ初算出すべき真の正の平方根より小さく、Ｉｉｉｉのケースでは初算出すべき真の正の平方根より大きく、かつ初期被加値と初期加値の和より小さい。ただし、いずれのケースにおいても、二回目のサイクルの結果は、初期被加値と初期加値の和と初算出すべき真の正の平方根の間に存在する。そして、ΔｏとΔ２をそれぞれΔ２とΔ４に置き換え、以後これを繰り返すことにより、一つおきの偶数回目のサイクルの結果はこれを繰り返すから、Ｉのケースにおいての偶数回目のサイクルの結果について、上述の関係が成り立つことが示され、その結果として、偶数回目のサイクルの結果が初算出すべき真の正の平方根に無限に近づくことが示された。
【００３９】
【数１２】
2015228198.tif 000013
【００４０】
【数１３】
2015228198.tif 000014
【００４１】  次に、奇数回目のサイクルの結果について述べる。その際、下記の数式１４を考えればよい。なぜならば、三回目のサイクルの結果は、二回目のサイクルの結果を得る際の加値を用いて算出するものであるが、二回目のサイクルの結果を得る際の加値と、それより二回前のサイクルの結果としてみなす初期被加値と初期加値の和においての加値、すなわち初期加値との大小の関係が決まると、三回目のサイクルの結果と、その二つ前のサイクルである初回のサイクルの結果との大小の関係が決まるからである。二回目のサイクルの結果を得る際の加値であるΔ２は初期加値より下記の数式１５に増減したとする。そして、初回のサイクルの結果を得る際の加値は数式８であることに着目すると、数式１４の左辺は、三回目のサイクルの結果を得る際の加値から、初回のサイクルの結果を得る際の加値を引いた結果であることがわかる。そして、Ｉｉ及びＩｉｉのケースは二回目のサイクルの結果は初期被加値と初期加値の和より大きい、すなわち加値は増加するから、ｈの値は正である一方で、Ｉｉｉｉのケースでは負である。そして、数式１４の第一辺の第一項及び第二辺の分母と分子はいずれも正であるので、同式の第二辺のｂ及びｃの値はいずれも正である。よって、Ｉｉ及びＩｉｉのケースは同式は負であり、Ｉｉｉｉのケースでは正である。つまり、Ｉｉ及びＩｉｉのケースは三回目のサイクルの結果を得る際の加値は初回のサイクルの結果を得る際の加値より小さく、ゆえに、三回目のサイクルの結果は初回のサイクルの結果より小さい。Ｉｉｉｉのケースでは三回目のサイクルの結果は初回のサイクルの結果より大きい。なお、Ｉｉｉｉのケースでｈの値は負であるが、二回目のサイクルの結果は初算出すべき真の平方根より大きく、ゆえに正であるから、数式１５の値は必ず正である。Δ１とΔ３をそれぞれΔ３とΔ５に置き換え、以後これを繰り返すことにより、一つおきの奇数回目のサイクルの結果はこれを繰り返すから、Ｉのケースにおいての奇数回目のサイクルの結果において、上述の関係が成り立ち、その結果として、初算出すべき真の正の平方根に無限に近づくことが示された。よって、偶数回目と奇数回目のいずれにおいても、Ｉのケースにおいて、上述の関係が成り立つことが示され、その結果として、初算出すべき真の正の平方根に無限に近づくことが示された。そして以上により、ＩとＩＩのすべてのケースで、上述の関係が成り立つことが示され、その結果として、初算出すべき真の正の平方根に無限に近づくことが示された。
【００４２】
【数１４】
2015228198.tif 000015
【００４３】
【数１５】
2015228198.tif 000016
【００４４】  ある一つのサイクルの結果における誤差を、その直前のサイクルの結果における誤差で割った比を誤差前回比と呼ぶとする。例えば、三回目のサイクルの結果における誤差を、二回目のサイクルの結果における誤差で割った比を三回目のサイクルの誤差前回比と呼ぶとする。絶対値で計算した結果ではなく、ある一つのサイクルの結果から初算出すべき真の正の平方根を引いた差で計算した結果でなければならず、その正負も一致しなければならない。ＩＩのケースでは、誤差前回比がサイクルの回数を重ねるたびに必ず減少する。しかし、その減少率は、回数を重ねるたびに急激に小さくなり、初期被加値の誤差率がよほど大きくない限り、その差はすぐに極めて小さくなり、それ以降に一回あるいは数回サイクルを行うのみで、二つの連続するサイクルの二つの誤差前回比はほとんど差がなくなり、ほぼ一定となる。許容桁数に制約がある電子計算機においては、誤差の絶対値が極めて小さくなれば、切り捨てや四捨五入などによる影響が相対的に大きくなり、誤差前回比の増減がそれぞれのものと異なることが有り得る。
【００４５】  ＩＩの三つのケースにおいて、ＩＩｉのケースは、各々のサイクルの結果は増加する一方であり、ＩＩｉｉとＩＩｉｉｉのケースでは、各々のサイクルの結果は減少する一方である。その一方で、Ｉの三つのケースでは、Ｉｉのケースを含めて、各サイクルの結果が初算出すべき真の平方根より大きくなることと小さくなることを繰り返すから、各サイクルの結果がその直前のサイクルの結果より大きくなることと小さくなることを繰り返す。それゆえ、ＩとＩＩのケースの区別は容易につく。なお、初回のサイクルの結果と、初期被加値と初期加値の和の大小の関係や、初期加値の正負に着目すると、六つのすべてのケースに分けることも容易である。
【００４６】  そこで、ＩＩのケースの場合において、すなわちサイクルを繰り返すたびに、得られる結果がそれぞれの直前のサイクルで得られる結果より増加する一方又は減少する一方の場合において、二つの連続するサイクルの二つの誤差前回比はほぼ一定であることを利用する。それについて説明する。
【００４７】  二回以上サイクルが終了した時点で得た三つの数値を用いる。その三つの数値とは、最も新しいサイクルの結果である最新値と、その直前のサイクルの結果である前回値と、二つ前のサイクルの結果又は初期被加値と初期加値の和である前々回値である。二回のサイクルのみの場合には、初期被加値と初期加値の和を前々回値とすることに注意する。そして、以下に述べる方法で計算する。
【００４８】  まず、最新値から前回値を引いた差を平方する。そして、その平方を、前回値に２を乗じた積から前々回値を引いた差から最新値を引いた差で割る。そして、その商に最新値を加えた和を初算出すべき真の正の平方根あるいはその近似値として算出する。最新値、前回値、前々回値、そして初算出すべき真の正の平方根をξ１、ξ２、ξ３、そしてｘとそれぞれおくと、下記の数式１６となる。二回目以降のサイクルの結果が増加する一方と減少する一方のいずれの場合でも、数式１６は成り立つ。その際、数式１６の右辺の第二項において、前者は正であり、後者では負である。なお、誤差前回比が完全に一定であれば、数式１６で得られる結果は近似値ではなく、完全に等式として成り立つ。そして、同式において、「≒」でなく「＝」となる。例えば、ξ１、ξ２、ξ３、そしてｘの値がそれぞれ８、８．６、９．０２、そして１０のケースや、１５、１２、１０．８、そして１０のケースであれば、完全に等式として成り立つ。数式１６の二つの項を一つの項にすると、下記の数式１７となる。
【００４９】
【数１６】
2015228198.tif 000017
【００５０】
【数１７】
2015228198.tif 000018
【００５１】  次に、Ｉのケースで数式１６を利用する方法について述べる。Ｉのケースでは、ＩＩのケースと異なり、サイクルを重ねるたびに初算出すべき真の正の平方根との大小の関係が入れ替わるのを交互に繰り返すが、二つおきの三つのサイクルにおいての各々の終了した時点で得た結果を算出された順にそれぞれξ１、ξ２、ξ３とおき、それらを前々回値と、前回値と、最新値の代わりにそれぞれ用いて、ＩＩのケースと同様に計算する。なお、初算出すべき真の正の平方根より大きい結果が得られる方のサイクルにおいては、サイクルの回数を重ねるたびに誤差率前回比は増加する一方で、逆に、初算出すべき真の正の累乗根より小さい結果が得られる方のサイクルにおいては、減少する一方である。五回目までのサイクルが終了した時点で数式１６を用いる際の三つの数値においては、最新値は五回目のサイクルの結果であり、前回値は三回目のサイクルの結果であり、そして前回値は初期被加値と初期加値の和である。
【００５２】  請求項４に記載のプログラムは、次に述べるように初期被加値を選定する。与えられた平方あるいは与えられた平方の逆数の整数部分の桁数が奇数の場合、前記桁数から１を引いた差を２で割り、その商の整数部分を指数とする１０の累乗数で与えられた平方あるいは与えられた平方の逆数を割った桁割商を初期被加値として選定する。奇数の場合には、前記桁数から１を引いた差を２で割った商は必ず整数であり、その場合には、商の整数部分でなく、単に、商としても結果は変わらない。一方、偶数の場合には、前記桁割商を３で割った商を初期被加値として選定する。その結果、奇数の場合、選定した初期被加値は、初算出すべき真の正の平方根の１倍以上３．１６２２７７６６０１６…倍未満となり、偶数の場合には、初算出すべき真の正の平方根の１．０５４０９２５５３３８…倍以上３．３３３３３３３３３３３…倍未満となる。つまり、初期被加値は、常に、初算出すべき真の正の平方根より大きいもしくは等しい。そして、等しいときは初回のサイクルで必ず初算出すべき真の正の平方根が得られるから、事実上、ＩＩのケースのみとして考えてよい。なお、前者の場合においての３．１６２２７７６６０１６…は、１０の正の平方根と等しい。後者の場合においての１．０５４０９２５５３３８…倍の１．０５４０９２５５３３８…は、１０の正の平方根を３で割った結果と等しく、３．３３３３３３３３３３３…倍の３．３３３３３３３３３３３…は、１０を３で割った結果と等しい。もし後者の場合において、３でなく１０の正の平方根３．１６２２７７６６０１６…で割れば、前者の場合と同じく１倍以上３．１６２２７７６６０１６…倍未満となり、後者の場合の全体で初算出すべき真の正の平方根との誤差率が小さくなる。
【００５３】  そして、必ずＩＩのケースであるから、上述したように、各々のサイクルの結果が各々の直前のサイクルの結果より増加する一方又は減少する一方であり、連続する三つのサイクルの結果又は初期被加値と初期加値の和を利用すればよく、要する計算量が少なくて済む。
【００５４】  初期加値として好ましい数値は、初期被加値との和が、初算出すべき真の正の平方根と等しい数値とほぼ等しい。なお、初期被加値と初期加値の和が、初算出すべき真の正の平方根と等しいとき、数式６の分母と、同式の分子においての因数の一つである下記の数式１８とが等しく、ゆえにΔｏの値とΔ１の値は等しい、すなわち初回のサイクルの結果を得る際の加値と初期被加値の和は与えられた平方あるいは与えられた平方の逆数と等しく、その時点で終了となる。ただし、もしΔｏの値と初期被加値の和が与えられた平方あるいは与えられた平方の逆数と等しければ、数式６の分母は０となり、その時点で終了となる。その際、初期被加値とΔｏの値の和、すなわち初期被加値と初期被値の和が初算出すべき真の正の平方根と等しい。
【００５５】
【数１８】
2015228198.tif 000019
【００５６】  これを踏まえて、まず、初期被加値の桁数が奇数のときの初期加値の選定について説明する。初期被加値は初算出すべき真の正の平方根のψ倍とおく。すると、初期被加値との和が、初算出すべき真の正の平方根と等しいときの初期加値は、下記の数式１９となる。そして、初期被加値は初算出すべき真の正の平方根の１倍以上３．１６２２７７６６０１６…倍未満だから、ψの値のとる範囲は１以上…３．１６２２７７６６０１６未満であり、ゆえに、数式１９においてのｘに乗じる乗数においてのψについてのこの区間の定積分を計算する。その結果は−１．１５１２９２５…である。偶数の場合も同様にして計算すると、−１．１５１２９２５…である。それらは、それぞれ１から３．１６２２７７６６０１６…までと１．０５４０９２５５３３８…から３．３３３３３３３３３３３…までのそれぞれの区間の定積分だから、それらの定積分の和をそれらの区間の長さの和で割ればよい。その結果、初期加値として好ましい数値は、下記の数式２０により、初期被加値に−０．４８１５７７０４…を乗じた積である。そこで、請求項４に記載のプログラムにおいては、初期被加値を−２で除した商を初期加値として選定するとした。
【００５７】
【数１９】
2015228198.tif 000020
【００５８】
【数２０】
2015228198.tif 000021
【００５９】  請求項３に記載のプログラムは、次に述べるように初期被加値を選定する。与えられた平方あるいは与えられた平方の逆数の整数部分の桁数が奇数の場合、前記桁数を２で割り、その商の整数部分を指数とする１０の累乗数で平方あるいは与えられた平方の逆数を割った桁割商を２で割った商を初期被加値として選定する。一方、偶数の場合には、前記桁割商に２を乗じた積を初期被加値として選定する。その結果、奇数の場合、選定した初期被加値は、初算出すべき真の正の平方根の０．５倍以上１．５８１１３８８３００８…倍未満となり、偶数の場合には、初算出すべき真の正の平方根の０．６３２４５５５３２０３３…倍以上２倍未満となる。これらは、請求項４と比較して誤差率は小さい。ただし、初算出すべき真の正の平方根より小さいときに二つおきのサイクルの結果を用いるので、要する計算量が多い。なお、前者の場合においての１．５８１１３８８３００８…倍の１．５８１１３８８３００８…は、１０の正の平方根３．１６２２７７６６０１６…を２で割った商と等しい。後者の場合においての０．６３２４５５５３２０３３…倍の０．６３２４５５５３２０３３…は、１０の正の平方根の逆数の２倍と等しい。なお、前者の場合において、もし２でなく１０の正の４乗根１．７７８２７９４１００３…で割れば、０．５６２３４１３２５１９０…倍以上１．７７８２７９４１００３…倍未満となり、又、後者の場合において、もし２でなく１０の正の４乗根１．７７８２７９４１００３…で乗すれば、前者の場合で１．７７８２７９４１００３…で割ったときと同じく０．５６２３４１３２５１９０…倍以上１．７７８２７９４１００３…倍未満となり、いずれの場合も、初算出すべき真の正の平方根との誤差率が全体的に小さくなり、誤差率が小さいケースの一部でやや大きくなることはあっても、誤差率が大きいケースでは常に小さくなる。０．５６２３４１３２５１９０…と１．７７８２７９４１００３…は、一方が他方の逆数である関係がそれぞれ成り立つ。請求項３に記載のプログラムにおいては、Ｉのケースが有り得るものの、初回のサイクルの結果においての誤差の絶対値が、その直前のサイクルの結果とみなす初期被加値と初期加値の和においての誤差の絶対値より大きくなることはなく、ひいては任意のサイクルの結果においての誤差の絶対値が、その直前のサイクルの結果においての誤差の絶対値より大きくなることはない。
【００６０】  初期加値の選定は、請求項４に記載のプログラムと同様にして計算すると、初期被加値が初算出すべき真の正の平方根より小さい場合、すなわち初期被加値を底とする平方から与えられた平方あるいは与えられた平方の逆数を引いた差が負の場合、数式２０のときと同様にして計算すると、０．３２７０７０３５…だから、初期加値として好ましい数値は、初期被加値に０．３２７０７０３５…を乗じた積である。そこで、初期被加値を３で除した商を初期加値として選定するとした。一方、初期被加値が初算出すべき真の正の平方根より大きい場合には、数式２０のときと同様にして計算すると、−０．２７１８５８６５…だから、初期被加値を−４で除した商を初期加値として選定するとした。０の場合には、上述したように初期被加値は初算出すべき真の正の平方根と等しい。つまり、初期被加値と、それと絶対値が等しく符号を負としたものの二つが求める正負の二つの平方根である。ただし、桁数に制限があり、かつ切り捨てなどを行う電子計算機においては、勿論、近似値であることもある。
【００６１】  請求項４に記載のプログラムにおいて、初期加値は初期被加値を−２で割った商であること及び上述したように初期被加値が初算出すべき真の正の平方根より大きく、その場合、つまりＩＩのケースにおける各々のサイクルの結果と初算出すべき真の正の平方根の大小の関係に着目すると、もし初期被加値が初算出すべき真の正の平方根の２倍より大きければ、初回のサイクルの結果は初算出すべき真の正の平方根より大きい。そして、もし初期被加値の初算出すべき真の正の平方根に対しての比が最大の３．３３３３３３３３３３３…であっても、初回のサイクルの結果において、同比が１．３１１１１１１１１１１…と減少する。初期被加値の誤差率が小さければ小さいほど収束速度は速いので、請求項５に記載のプログラムは、請求項４に記載のプログラムにおいて、初回のサイクルの結果が初算出すべき真の正の平方根より大きい場合、言い換えれば、初回のサイクルの結果の平方が与えられた平方あるいは与えられた平方の逆数より大きい場合、初回のサイクルの結果を初期被加値の代わりに第二期被加値として用いる。初回のサイクルが終了し二回目のサイクルを行う際の数式６における分母の計算結果が正であれば、被加値を変更するケースだとわかる。第二期被加値を−９又は−１０で割った商を初期加値の代わりに、第二期被加値を用いて初めてのサイクルの演算の際の加値として用いる。数式１６で計算する際には、三つの数値はすべて初期被加値を変更した後のサイクルの結果、すなわち二回目以降のサイクルの結果を用いる。第二期被加値を用いた以降に二回のサイクルを行ったのみで数式１６で計算する際には、前々回値は、変更後の被加値である第二期被加値と、上述した方法で選定した加値との和であることに注意する。
【００６２】  請求項４に記載のプログラムにおいて、初期加値は初期被加値を−２で割った商であるから、初期被加値は初算出すべき真の正の平方根のｖ倍とおくと、初回のサイクルの結果は下記の数式２１である。そして、上述したように、請求項５に記載のプログラムにおいて、ｖの値が２より大きいとき、初回のサイクルの後に被加値を変更する。そして、数式２１の右辺を数式１９の右辺におけるｘに乗じる乗数においてのψに代入したものにおいて、初期被加値を変更するときのｖのとる値の範囲である２から３．１６２２７７６…までの区間の定積分と２から３．３３３３３３３…までの区間の定積分をそれぞれ計算し、数式２０で計算したときと同様に、それらの定積分の和をそれらの区間の長さを加えた和で割ると、下記の数式２２となる。よって、第二期被加値に加える加値として好ましい数値は、数式２２により、第二期被加値に−０．１１３５３５０６…を乗じた積である。よって、請求項５に記載のプログラムにおいて、被加値を初期被加値から第二期被加値に変更した直後のサイクルを計算する際の加値は、第二期被加値を−９又は−１０で割った商とした。その理由は、−０．１１３５３５０６…の絶対値の逆数は８．８０７８５１５…であるので、それに一番近い自然数においての符号を負としたのが−９であるからであり、又、−１０で割った商でもよいとした理由は、割り算が容易であり、被除数の桁数が小さいときには、被除数が９の倍数か否かにかかわらず商の桁数が小さいものになるからである。
【００６３】
【数２１】
2015228198.tif 000022
【００６４】
【数２２】
2015228198.tif 000023
【００６５】  一方、請求項７に記載のプログラムは、請求項３に記載のプログラムにおいて、被加値を変更するものである。初期被加値が初算出すべき真の正の平方根より大きい場合、言い換えれば、初期被加値の平方が与えられた平方あるいは与えられた平方の逆数より大きい場合、初回のサイクルの結果の平方が与えられた平方あるいは与えられた平方の逆数より大きいとき、請求項５に記載のプログラムと同様に、初回のサイクルの結果を初期被加値の代わりに第二期被加値として用いる。そして、第二期被加値を−２０又は−２２で割った商を初期加値の代わりに、第二期被加値を用いて初めてのサイクルの演算の際の加値として用いる。この場合、初期被加値が初算出すべき真の正の平方根の４／３倍より大きければ、被加値を変更する。初期被加値が初算出すべき真の正の平方根より大きく４／３倍より小さければ、初期被加値の誤差率が小さく、かつＩＩのケースであるので、被加値は変更は行わないものとする。なお、もし初期被加値が初算出すべき真の正の平方根よりの４／３倍と等しければ、初期被加値と初期加値の和が初算出すべき真の正の平方根と等しく、ゆえに初回のサイクルで必ず結果が出る。一方、初期被加値の平方が与えられた平方あるいは与えられた平方の逆数より小さい場合には、初回のサイクルの結果の平方が与えられた平方あるいは与えられた平方の逆数より大きいとき、初回のサイクルの結果を第二期被加値として用い、第二期被加値を−２５で除した商を初期加値の代わりに、第二期被加値を用いて初めてのサイクルの演算の際の加値として用いる。小さいときには、初期被加値と初期加値の和を第二期被加値として用い、第二期被加値を−７又は−８で除した商を初期加値の代わりに加値として用いる。後者の場合で初回のサイクルの結果の平方が与えられた平方あるいは与えられた平方の逆数より小さいときに、初期被加値と初期加値の和を第二期被加値として用いる理由は、上述した各々のサイクルの結果と初算出すべき真の正の平方根との大小の関係関係により初期被加値と初期加値の和が初算出すべき真の正の平方根より必ず大きいからである。しかも、最大でも、初算出すべき真の正の平方根の４／３倍未満である。被加値が初算出すべき真の正の平方根より大きれば、連続した三つのサイクルの結果あるいは被加値と加値の和を用いて数式１６で計算でき、便利である。初期被加値の変更後に加値を選定する方法は、請求項５のときと同様である。その際の数式２０や数式２２の計算結果にあたる数値は、上述した順に、それぞれ−０．０４６０３２７０７…、−０．０３７９６０４８２…、そして−０．１３６９５３７８…である。
【００６６】  さらに、請求項６に記載のプログラムにおいては、次に述べるように、被加値の変更を二回行う。請求項５に記載のプログラムにおいて、二回目のサイクルの結果の平方が与えられた平方あるいは与えられた平方の逆数より大きい場合、二回目のサイクルの結果を第二期被加値の代わりに第三期被加値として用いる。初回のサイクルで初期被加値の変更が行われなかった場合は初回のサイクルの結果が初算出すべき真の正の平方根より小さい場合であるので、二回目のサイクルの結果も必ず初算出すべき真の正の平方根より小さいから、初回のサイクルで初期被加値の変更が行われなかった場合は、二回目のサイクル後に初期被加値の変更が行われることはない。初回のサイクルの後に初期被加値を変更し、その際の新たな加値の選定において、第二期被加値を−９で割った場合は第三期被加値に−０．００７を乗じた積又は第三期被加値を−１４０で割った商を、新たな加値として選定し、−１０で割った場合には第三期被加値を−１３０で割った商を新たな加値として選定する。そして、それらを用いて、三回目のサイクルを行う。ただし、それ以降に二回、全部で四回のサイクルのみで数式１６を用いて計算する際には、前々回和は、第三期被加値と、上記の方法で選定した加値との和であることに注意する。
【００６７】  請求項６に記載のプログラムにおいて、被加値の変更が二回行われた場合、二回目の被加値の変更後に、つまり第三期被加値を用いてから三回サイクルを行い、数式１６を用いて後述する方法で計算すると、後述するような許容桁数が１２の一般的な電子計算機で計算しても、許容桁数を満たす位で最も下位の位か、それに一つの位を加えた範囲内に収まるほどの誤差しか出ない。この場合、全部で五回のサイクルを行うのみでよい。被加値の変更が一回のみ行われた場合には、被加値の変更後に、つまり第二期被加値を用いてから四回サイクルを行い、数式１６を用いて計算すると、被加値の変更が二回行われた場合と同程度の誤差しか出ない。そして、被加値の変更が行われない場合には、全部で五回サイクルを行う。そして、まず、初回から三回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として数式１６を用いて算出する。次に、二回目から四回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として数式１６を用いて算出する。次に、三回目から五回目までのサイクルの結果をそれぞれ前々回値と、前回値と、最新値として数式１６を用いて算出する。そして、それら三つの数値を算出した順にそれぞれ前々回値と、前回値と、最新値として用いて、再び数式１６を用いて算出する。すると、上記と同程度の誤差しか出ない。ただし、数式１６を用いて算出する際には後述する方法を用いないと、上述した誤差の範囲内に収まらないことが多いことに注意する。請求項８に記載のプログラムは、この手順で算出するプログラムである。いずれの場合も、全部で五回のサイクルを行うのみでよい。
【００６８】  請求項９に記載のプログラムは、被加値の変更回数で場合分けした三つの場合において、それぞれ一回ずつ多くサイクルを行うものである。その結果、被加値の変更が行われない場合の最後の算出以外については、数式１６で算出する際に用いる数値は、それぞれ一回ずつ後にずれたサイクルの結果を用いることに注意する。それぞれ一回ずつ多くサイクルを行う結果として、上述の電子計算機において、許容桁数を満たす位で最も下位の一つの位のみに収まるほどの誤差しか出ない。いずれの場合も、全部で六回のサイクルを行うのみでよい。
【００６９】  まず、第二期被加値を選定した際に第二期被加値を−９で割った商を新たな加値として選定する場合の二回目の被加値変更を行うときのｖの値のとる範囲について述べる。初回のサイクルが終了した時点の結果である数式２１が第二期被加値であることと、それを−９で割った商を新たな加値として二回目のサイクルを行うことから、その結果が初算出すべき真の正の平方根より大きいための条件は、上述した各サイクルの結果と初算出すべき真の正の平方根の大小の関係より、第二期被加値と、それを−９で割った商の和が初算出すべき真の正の平方根より大きいことである。よって、下記の数式２３により、二回目のサイクルを行うためのｖの値がとる範囲は、与えられた平方あるいは与えられた平方の逆数の桁数が奇数の場合は２．６０８１８２４９１４１…以上３．１６２２７７６６０１６…未満であり、偶数の場合は２．６０８１８２４９１４１…以上３．３３３３３３３３３３３…未満である。２．６０８１８２４９１４１…は、数式２３のｖについての解のうち条件を満たすものである｛２７＋√（２１７））｝／１６である。次に、第二期被加値に変更して最初のサイクル、すなわち二回目のサイクルの結果を得る際の加値は初算出すべき真の正の平方根のｗ倍とおくと、数式２１のときと同様にして二回目のサイクルの結果を計算し、その結果のｗに数式２１の右辺を代入すると、二回目のサイクルの結果についてｗを消去してｖで表した数式が得られる。それは下記の数式２４である。そして、数式２０で計算したときと同様に、２．６０８１８２４９１４１…から３．１６２２７７６６０１６…までの区間と、２．６０８１８２４９１４１…から３．３３３３３３３３３３３…までの区間でｖについての定積分をそれぞれ計算し、それらの定積分の和を、それらの区間の長さの和で割ると、−０．００７１８６７６９９…となる。この結果をもとに、第二期被加値を−９で割って新たな加値を選定する場合の二回目の被加値の変更を行った際の新たな加値の選定は、第三期被加値に−０．００７を乗じた積又は第三期被加値を−１４０で割った商とした。−１０で割る場合には、上記と同様に計算した結果は−０．００７６４９１１８４…である。その結果をもとに、第二期被加値を−１０で割る場合には、第三期被加値を−１３０で割った商とした。
【００７０】
【数２３】
2015228198.tif 000024
【００７１】
【数２４】
2015228198.tif 000025
【００７２】  数式１６で計算して算出した数値は、誤差が極めて小さいときを除いて、それ以前に得た最新の数値であるξ３より誤差がずっと小さいものの、誤差前回比が完全に一定でないため、誤差は出る。そこで、数式１６の右辺の第一項である前々回値を次期の被加被加値として用い、数式１６で算出した数値から前記被加値を引いた差、すなわち数式１６の右辺の第二項を加値として次回のサイクルを行うと、前記被加値と初算出すべき真の正の平方根との誤差においても、前記被加値と前記加値との和と初算出すべき真の正の平方根との誤差においても、ずっと小さくなり、精度も収束速度もよいものとなる。請求項１０に記載したプログラムは、以上に述べたようにして、被加値の変更を行うものである。ただし、そのようにして被加値の変更を行った後に数式１６を用いる際の三つの数値は、すべて被加値の変更後のサイクルの結果又は変更後の被加値と、それに応じて選定した加値との和でなければならない。
【００７３】  請求項１に記載のプログラムにおいて、ｎ回目のサイクルが終了した時点で得た和であり、次のサイクルで初期値の代わりとして用いる数値をｘｎ、与えられた累乗をＰ、与えられた指数をｍとそれぞれ置くと、ｎ＋１回目のサイクルの結果であるｘｎ＋１を得る計算式は下記の数式２５となる。
【００７４】
【数２５】
2015228198.tif 000026
【００７５】  数式２５の右辺において、第一項と第二項を一つの項とし、さらに分母と分子をそれぞれｘｎｍ−１で割ると、下記の数式２６となる。請求項２に記載のプログラムを数式で表わすと、数式２６の第二辺であり、同辺においての分母と分子をそれぞれｘｎｍ−１で割った第三辺は、数学的にはニュートン法の数式とまったく同じ式、つまり同値な式であるが、請求項１に記載のプログラムにおいては、数式２５においての第二項の分子のｘｎｍをまず計算し、もしその結果が与えられた累乗、あるいはその近似値となればそこで終了し、そうでなくてもそれをそのまま計算式の一部として用いて計算を継続することになるので、要する計算量が小さく、電子計算機で計算する際に大変便利である。請求項２に記載のプログラムにおいては、数式２５の右辺においての第一項を加える計算が不要であるため、もっと便利であり、後で挙げる実施例ように、一般的な電子計算機で容易に計算できる。しかも、いずれの場合も、分子において、分数が存在する形でない。なお、指数が１の場合は与えられた累乗根と真の累乗根は常に等しく、計算するまでもないが、請求項１及び請求項２に記載のプログラムにおいて敢えて１を指数として入力すれば、言い換えれば、数式２５の右辺と数式２６の第二辺のｍに１をそれぞれ代入すると、初期値が０以外のどんな数値をとっても、それぞれ初回のサイクルで必ず真の累乗根が算出される。請求項４などに記載のプログラムにおいても、初回のサイクルの結果で必ず真の累乗根が算出される。なお、与えられた累乗が０の場合には、数式２５の右辺並びに数式２６の第二辺及び第三辺はいずれも下記の数式２７となり、サイクルを重ねるたびに、唯一の累乗根であるである０に無限に近づく。請求項３や請求項４などに記載のプログラムでは、選定された初期被加値と初期加値はいずれも０となる。
【００７６】
【数２６】
2015228198.tif 000027
【００７７】
【数２７】
2015228198.tif 000028
【００７８】  請求項２に記載のプログラム、ひいては請求項１に記載のプログラムにおいて、上述したように、指数が偶数又は指数が奇数で与えられた累乗が正の場合で初期値を正とするとき若しくは指数が奇数で与えられた累乗が負の場合で初期値を負とするとき、初期値の絶対値が真の累乗根の絶対値より小さい場合の初回のサイクル以外のすべてのサイクルの結果の絶対値は、真の累乗根の絶対値より大きく、かつその直前のサイクルの結果の絶対値より小さい。初期値の絶対値が０以外で真の累乗根の絶対値より小さい場合の初回のサイクルの結果の絶対値は、唯一の例外として、真の累乗根の絶対値より大きい。ただし、二回目以降のサイクルの結果の絶対値と真の累乗根の絶対値の間には上述の関係が成り立ち、サイクルを重ねるたびに真の累乗根に無限に近づく。数式２６の第二辺を用いて上述の関係が成り立つことを示すことができ、その結果として、本プログラムで得た結果は真の累乗根に無限に近づくことも示される。以下に示す。なお、初期値の正負が上述と異なっていても、０でない限り、本プログラムで真の累乗根又はその近似値を得られる。請求項４などに記載のプログラムにおいても、同様である。
【００７９】  指数が偶数の場合は正の累乗根を計算し、奇数の場合には与えられた累乗は正として、上述の関係が成り立つことを示す。真の累乗根と初期値をそれぞれｒとｘｏとおく。初期値が真の累乗根のｔ倍とおく。すると、初回のサイクルの結果から真の累乗根を引くと、下記の数式２８となる。数式２８の最後の辺の被乗数においての丸括弧の中にあるｔの累乗の和になっている箇所において、ｔの値が１より小さい場合、最初の項のみ１で他のすべての項は１より大きく、かつそれらの項がｍ個あることに着目すると、数式２８は正である。一方、ｔの値が１より大きい場合には、それらの項は最初の項のみ１で他のすべての項は１より小さく、かつそれらの項がｍ個あるから、数式２８は正であり、いずれの場合も数式２８は正であることがわかる。つまり、初期値が真の累乗根より小さくても、大きくても、いずれのケースであっても、初回のサイクルの結果は真の累乗根より必ず大きい。次に、二回目以降のサイクルの結果とその直前のサイクルの結果の大小の関係を示す。ｎ回目のサイクルの結果は真の累乗根のｕ倍とおくと、数式２８で示したように、ｕの値は１より大きい。そして、その直後のサイクル、すなわちｎ＋１回目のサイクルの結果からその直前のサイクルの結果、すなわちｎ回目のサイクルの結果を引いた差は下記の数式２９となる。よって、ｕと１の大小の関係により、数式２９は負である。つまり、二回目以降のサイクルの結果はその直前のサイクルの結果より常に小さい。次に、ｎ＋１回目のサイクルの結果から真の累乗根を引くと下記の数式３０となる。そして、数式３０の最後の辺の被乗数においての丸括弧の中にあるｕの累乗の和になっている箇所において、ｍ項あり、かつｕと１の大小の関係によりそれらの項のうち最初の項のみ１と等しく他はすべて１より小さいから、数式３０は正であることがわかる。以上により、数式２９と数式３０の結果により、二回目以降のサイクルの結果は常に真の累乗根より大きく、かつその直前のサイクルの結果より常に小さいことが示された。
【００８０】
【数２８】
2015228198.tif 000029
【００８１】
【数２９】
2015228198.tif 000030
【００８２】
【数３０】
2015228198.tif 000031
【００８３】  本発明のプログラムのみでなく、出願日が２０１４年４月１日で出願番号が特願２０１４−８５９０３の特許願で述べた計算方法を併用すると、指数が自然数でない場合の累乗の計算もできる。例えば、１２３４の２．７乗、つまり１２３４２．７を計算できる。まず、前述の特許願で述べた方法などを用いて、１２３４の２７乗、つまり指数の２．７に１０の累乗数の一つである１０１を乗じて自然数として累乗を計算すると、下記の数式３１が得られ、これの１０乗根を本プログラムで計算すると、下記の数式３２が得られる。数式３１の仮数部に入る数の小数点以下の位の個数は、指数部に入る数と同じ８３である。なお、電子計算機のメーカーや機種にもよるが、一般的な電子計算機を用いてこの計算ができる。その際に本発明者が主に用いた電卓は、２００４年のＣａｎｏｎ製で機種はＬＳ−１２１ＴＵである。その許容桁数は１２である。
【００８４】
【数３１】
2015228198.tif 000032
【００８５】
【数３２】
2015228198.tif 000033
【００８６】  ただし、数式３１の１０乗根を一般的な電子計算機で計算する際には、指数部に入る数８３を１０乗根における１０で割り、そのときの余り３を指数とする１０の累乗数、すなわち１０３を数式３１の仮数部に入る数に乗じた積の近似値である２９２０．８５０３８６２の１０乗根を計算し、その結果に、前述で８３を１０３で割ったときの商である８を指数とする１０の累乗数を乗じる。つまり、２９２０．８５０３８６２の１０乗根に１０８を乗じればよい。ただし、前述の電子計算機を含む一般的な電子計算機で計算する際には、整数部分が４桁である２９２０．８５０３８６２の１０乗における整数部分は３５桁となり、ほとんどの電子計算機の許容桁数を越えるので計算の継続ができないから、整数部分を０でない一桁の数として計算する。つまり、２９２０．８５０３８６２を２．９２０８５０３８６２と１０００の二つの数の積としてみて、下記で述べるようにそれらの１０乗根をそれぞれ計算し、それらを乗じる。そして、その結果に１０８を乗じればよい。
【００８７】  電子計算機のメーカーや機種にもよるが、２．９２０８５０３８６２の１０乗根と１０００の１０乗根はそれぞれ下記の数式３３と下記の数式３４のように結果が得られる。そして、各々の下限同士と各々の上限同士を乗じて下記の数式３５が得られる。その際、ほとんどの電子計算機で行われる小数の計算結果の表示の際の切り捨て、つまり結果的に切り下げることを考慮すると、各々の下限同士を乗じた積として表示された結果においては、そのまま数式３５の下限とする一方で、上限においては、逆に、各々の上限同士を乗じた積として表示された結果２．２２１０１２１３３８（０）を切り上げた結果である２．２２１０１２１３３８１を数式３５の上限とする必要がある。ほとんどの電子計算機において、小数の計算結果を表示する際、２．２２１０１２１３３８０のように許容桁数を満たす位のうちで最も下位の位の数字が０である場合、その位の数字０は表示せず２．２２１０１２１３３８と表示することに注意する。
【００８８】
【数３３】
2015228198.tif 000034
【００８９】
【数３４】
2015228198.tif 000035
【００９０】
【数３５】
2015228198.tif 000036
【００９１】  もし、例えば２．７３乗のように指数が小数点以下第二位までの小数であれば、１００乗根の計算をすることになるが、直に計算するのは大変であり、ミスをする確率も高いので、その際には、１０乗根の１０乗根を計算する、つまり１０乗根の計算を二回行えばよい。又、もし、例えば３．２乗のように最も下位の位の数字が偶数又は５であれば、５若しくは２又はそれらにそれぞれ１０の累乗数を乗じた積を乗じればよい。よって、３．２乗のときは、３．２に５を乗じた積が１６であることから、１６乗した結果の５乗根を計算すればよい。又、例えば、１２３．４５乗のときには、１２３．４５に２０を乗じた積が２４６９だから、２４６９乗した結果の２０乗根を計算すればよい。
【００９２】  請求項２に記載のプログラムの実施例を挙げる。与えられた累乗は２５０．０４７、与えられた指数は３とする。つまり、２５０．０４７の立方根を計算する。求める立方根は６．３である。初期値は、この場合、与えられた累乗を１０１で割った商を指数の３で割った商である８．３３４９とする。
【００９３】  五回目のサイクルが終了した時点で真の立方根と一致する立方根６．３が得られる。
【００９４】  次に、請求項４に記載のプログラムの実施例を挙げる。与えられた平方は１２１００とする。１２１００の初算出の正の平方根は１１０である。初期被加値は、与えられた平方を１０２で割った商である１２１である。初期加値は、初期被加値を−２で割った商である−６０．５である。
【００９５】  三回目から五回目までのサイクルの結果は、それぞれ１０９．９９３１０３４４８、１０９．９９９６７１５８３、そして１０９．９９９９８４３６１である。これら三つの結果を用いて数式１６で計算した結果は１１０．０００００００００である。もし、数式１６の計算結果を有効数字十四桁で書くと、１１０．０００００００００４１となる。
【００９６】  上記の二つの実施例を一般の電子計算機で計算することもできる。ただし、その際に、累乗の計算の際の底や乗算キーの入力の省略や、連続して同じ数で割る際に割る数の省略を行うこととし、電子計算機のメーカーや機種によっては、その入力で計算できないものもあることに注意する。例えば７５８９８７１４で６回連続して割るとすると、一回目の割り算をする際の［÷］の入力以後のキーの入力は、次のように入力するのみで計算できる。［÷］→［７５８９８７１４］→［＝］→［＝］→［＝］→［＝］→［＝］→［＝］。このように、割る数及び［÷］の入力においての各々の最初の入力以外の入力を省くとする。この入力方法は、要する手間や時間を大きく軽減できるばかりか、入力ミスの防止にもなる。さらに、累乗を計算する方法として、例えば１２の６乗を計算する際には、［１２］→［×］→［＝］→［＝］→［＝］→［＝］→［＝］と入力すると便利である。ただし、その際には等号キーである「＝」キーの押す回数は指数より１小さい、つまり６回ではなく５回押すことに注意する。さらに、６乗は立方した結果の平方と等しいから、［１２］→［×］→［＝］→［＝］→［×］→［＝］→と入力すると、もっと便利である。平方を先に行ってもよい。勿論、「×」と表記したキーは、乗算キーである。具体的手順を表記する際、例えば２に３を掛ける際、［２］→［×］→［３］→［＝］と表記するとする。数字や小数点については、続けて入力する際には、［９．８７６］のように一つにまとめて表記するとする。正と負の符号を反転する、つまりプラスとマイナスを入れ替える反転機能を設けているとし、その入力を［⇔］と表記するとする。ただし、後述するように、反転機能を設けていなくても、計算できる。初期値などの選定の計算や数式１６、数式１８の計算などは省く。
【００９７】  一般的な電子計算機で計算する際には、請求項１に記載のプログラムより請求項２に記載のプログラムの方が計算し易い。その具体的入力は下記のようになる。
【００９８】  下記のように入力するのを繰り返すのみでよい。サイクルが変わる際にも、サイクルが終了した時点で得た結果のメモを要するものの、その結果をそのまま用いて計算を継続できるので、効率よく計算できる。二回目以降のサイクルの具体的入力は、ｎ＋１回目のサイクルを例にとって記載した。一つのサイクルの最後に波括弧で括ったところでは、そのサイクルの最後の入力後に表示された結果をメモに取る。そして、次のサイクルで割り算を行う際の割る数として入力するときに用いる。下記の例では立方根の計算であるが、他の累乗根においても、下記の具体的入力で［３］と入力する際の３と、［２］と入力する際の２をそれぞれ与えられた指数と、与えられた指数から１を引いた差にそれぞれ置き換えるのみでよい。
最初のサイクル
［ｘｏ］→［×］→［＝］→［＝］→［×］→［２］→［＋］→［Ｐ］→［÷］→
［３］→［÷］→［ｘｏ］→［＝］→［＝］→｛メモ。ｘ１｝（→）
二回目以降のサイクルの一例
…→［×］→［＝］→［＝］→［×］→［２］→［＋］→［Ｐ］→［÷］→
［３］→［÷］→［ｘｎ］→［＝］→［＝］→｛メモ。ｘｎ＋１｝（→）
【００９９】  請求項４や請求項３などに記載のプログラムに共通する基本的計算である数式６の計算では、次のように入力するのを繰り返す。二回目以降のサイクルの一例として、二回目のサイクルを例にとって記載した。各々のサイクルの終了時点で得た各々の結果を各々消去せずそのまま用いて、各々の次のサイクルの各々の分母の計算の際に用い、その結果をメモしてから消去すると、効率よく計算できる。初期被加値の平方と数式１８を予め計算してメモする。それらをメモＡとメモＢとそれぞれ呼ぶとする。それらはよく用いる。メモに付けた番号が奇数のものは、数式６における分母である。偶数のものは、二回目以降のサイクルの結果を得る際の加値、つまりΔ１以降の加値である。もし反転機能を設けていなければ、絶対値の計算のみで十分であり、たとえ正負が入れ替わるように入力しても、正負の逆転にさえ注意すれば計算できる。たとえ反転機能を設けていても、同様にすれば、特に用いなくてもよい。
最初のサイクル及び二回目のサイクルの分母の計算
［ａ］→［＋（−）］→［｜Δｏ｜］→［×］→［＝］→［−］→［メモＡ］→
［＝］                                          メモして消去。メモ▲１▼
［｜メモＢ｜］→［×］→［｜Δｏ｜］→［÷］→［｜メモ▲１▼｜］→［＋］→
（［⇔］→）｛メモ▲２▼｝→［ａ］→［×］→（｛メモ。数式１６｝→）
［＝］→［−］→［メモＡ］→［＝］              メモして消去。メモ▲３▼
二回目以降のサイクルの分子の計算及びその次のサイクルの分母の計算の一例
［｜メモＢ｜］→［×］→［｜メモ▲２▼｜］→［÷］→［｜メモ▲３▼｜］→［＋］→
（［⇔］→）｛メモ▲４▼｝→［ａ］→［×］→（｛メモ。数式１６｝→）
［＝］→［−］→［メモＡ］→［＝］              メモして消去。メモ▲５▼
【０１００】  実際に前述の一般的な電子計算機で計算すると、請求項２に記載のプログラムの上記の実施例において、五回目のサイクルが終了した時点の結果が６．２９９９９９９９９９６と表示される。六回目と七回目のサイクルの結果はそれぞれ６．２９９９９９９９９９７と６．２９９９９９９９９９８となるが、八回目のサイクルの結果は、その直前のサイクルの結果と等しい６．２９９９９９９９９９８となり、以降のサイクルの結果はこれが繰り返し算出される。この実施例のように、サイクルを重ねると、一つの数値又は複数の数値が同じ組み合わせで繰り返し算出されるようになる。五回目以降のサイクルの結果の誤差は、許容桁数が１２で許容桁数を越える際に切り捨てることにより生じるものである。三回目のサイクルの結果において、その直前のサイクルの結果と上位の位に入る数字の複数が同じ組み合わせが変わらなくなるが、それ以降のサイクルの結果の誤差率は、サイクルを重ねるにつれて急激に減少し、それ以降は数回のサイクルを行うのみで真の累乗根又は近似値が得られる一方で、一旦、真の累乗根又は近似値が得られれば、それ以降のサイクルで得る結果はほぼ一致するか、まったく一致するので、容易に区別がつく。なお、許容桁数の制約があり、切り捨てた数値で結果を出したり、切り捨てた数値を用いて計算したりする結果として、この実施例のように、真の累乗根より若干小さい数値が得られる。一方、請求項４に記載のプログラムの実施例においては、三回目から五回目までの三つのサイクルの結果はそれぞれ１０９．９９３１０３４４９、１０９．９９９６７１５８３、そして１０９．９９９９８４３６１である。これら三つの結果を用いて数式１６で計算すると、１０９．９９９９９９９９９の結果が得られる。もし、二回目から四回目までの三つのサイクルの三つの結果を用いて数式１６で計算すると、切り捨ての影響にもよるが、１１０（．０００００００００）の結果となり、真の正の平方根と一致する。
【０１０１】  ただし、上記の結果は、数式１６で計算する際に、同式の第二項の分子を計算する際の底が１より小さいため、整数部分が０以外の一桁の数となるように１０の累乗数を乗じた積を平方したときの結果である。例えば、もし０．０００１２３４５６７８であれば、１０４を乗じた積である１．２３４５６７８を平方するとよい。そして、前記分子を割る際の分母において、１０４の指数に２を乗じた積を指数とする１０の累乗数、すなわち１０８を、本来の分母に乗じた積で前記平方を割ればよい。許容桁数が１２の電子計算機の場合、もし前述の例の本来の数値を平方すると、結果は０．０００００００１５２４となる一方で、上述の方法では１．５２４１５７６５２７９となり、前者は後者と比べて八個の位を欠損することになる。ただし、小数点以下第一位から下位に向かって複数の位に連続して０が入る数値、すなわち０．０１未満のときでないと、同じ結果又はほぼ同じ結果しか得られないときが多い。
【０１０２】  請求項２に記載のプログラムの上記の実施例において、五回目のサイクル、あるいは六回目や七回目のサイクルの結果をもとに、許容桁数を満たす１２個の位に入る数字のすべての確定ができ、又はそれらの位のうちで最も下位の位に入る数字のみ複数の候補に絞ることを要するものの、他の位に入る数字のすべての確定ができる。上記の実施例では、真の累乗根が小数点以下の位を含めて二桁しかないため、１２３．４５の立方根で説明する。この例を上記の実施例と同様にして計算すると、四回目と五回目のサイクルの結果がそれぞれ４．９７９２４７３１７７１と４．９７９２４７３１７７（０）と表示され、以降のサイクルの結果はこれら二つの数値が交互に表示される。上述したように、真の立方根より若干小さい結果が表示されるので、これより若干大きい数値、例えば４．９７９２４７３１７７４の立方を上述の累乗の方法で計算すると、１２３．４５と結果が表示されるが、この数値は許容桁数を超えるため切り捨てた結果であることと、それを用いて計算した結果を再び切り捨てた結果であり、単に、４．９７９２４７３１７７４の立方においての上述の方法で計算したときの下限に過ぎないから、真の立方根は４．９７９２４７３１７７４より小さいとわかる。一方、４．９７９２４７３１７７３の立方を上述の累乗の方法で計算する際に平方した時点の結果である２４．７９２９０３８５１１は平方の下限であるから、これを２４．７９２９０３８５１２に切り上げて立方を計算すると、１２３．４４９９９９９９９と結果が表示されるので、この数値を切り上げた数値である１２３．４５（０００００００）は上述の方法で計算したときの上限である。そして、この上限が与えられた立方と等しいから、真の立方根は、この計算をした際の底である４．９７９２４７３１７７３より大きいとわかる。よって、最高位から数えて１２番目の位に入る数字は３と確定でき、この実施例では許容桁数と同じ１２個の位に入る数字を確定することができる。ただし、真の累乗根が、例えば７６．５４３２１２９９９９や７６．５４３２１３００００のように、許容桁数を満たす位のうちで最も下位の位から上位の位に向かって複数の位に連続して９又は０のいずれか一方が入るときは、この限りではない。