(57)【要約】【課題】  実数と２以上の自然数が与えられ、前記自然数を指数とする前記実数の実根の近似値を算出するにあたって、前記実数及び前記自然数、並びに候補とする数値を用いる簡単な演算を繰り返して、求める実根の近似値を算出するプログラムを提供する。【解決手段】  与えられた２以上の自然数を指数とし、初期値を底とする累乗を与えられた実数から引いた差を算出する。次いで、前記差を初期値に乗じた積を算出する。次いで、前記積を前記実数で除した商を算出する。次いで、前記商を前記自然数で除した商を算出する。次いで、前記商を初期値に加えた和を算出する。そして、前記和を初期値の代わりに用いて同じ演算を行い、以後、これを繰り返して求める実根の近似値を算出することを特徴とする。本出願書に記載の他の演算手段を併用すると、許容桁数が１２のとき、すべてのケースで最多でも十九回のサイクルで算出される。【選択図】なし【特許請求の範囲】
【請求項１】
実数と２以上の自然数が与えられ、前記自然数を指数とする前記実数の実根の近似値を算出するにあたって、前記自然数を指数とし、初期値を底とする累乗を算出し、前記累乗を前記実数から引いた差を算出し、前記差を初期値に乗じた積を算出し、前記積を前記実数で除した商を算出し、前記商を前記自然数で除した商を算出し、前記商を初期値に加えた和を算出し、前記和を初期値の代わりに用いて同じ演算を行い、以後、これを繰り返して、求める実根の近似値を算出することを特徴とするプログラム。
【請求項２】
与えられた２以上の自然数が偶数の場合で与えられた実数が負のときはエラー表示を表示し、前記実数が正のときには正の初期値を選定して算出する正又は負の実根の近似値と、前記近似値の正負を反転して得られる負又は正の実根の近似値の二つの実根の近似値を算出し、与えられた２以上の自然数が奇数の場合で与えられた実数が正のときは正の初期値を選定して正の実根の近似値を算出し、前記実数が負のときには前記実数の正負を反転して得られる正の実数を前記実数の代わりに用い、正の初期値を選定して正の実根の近似値を算出し、前記近似値の正負を反転して負の実根の近似値を算出することを特徴とする請求項１に記載のプログラム。
【請求項３】
請求項２に記載のプログラムにおいて、与えられた２以上の自然数が奇数の場合で与えられた実数が負のとき、負の初期値を選定し、初回のサイクルの結果が正数又は０となると、新たに前記初期値と異なる負の初期値を選定し、以後、新たな初期値の選定後の初回のサイクルの結果が正数又は０となる限り一度も用いていない新たな負の初期値を選定すること繰り返すことを特徴とするプログラム。
【請求項４】
請求項２に記載のプログラムにおいて、与えられた実数の絶対値が１より小さい場合、１以上の数値を初期値として選定し、前記実数の逆数又は前記逆数の絶対値を前記実数の代わりに用いて正又は負の実根の近似値を算出し、前記近似値の逆数を算出することを特徴とするプログラム。
【請求項５】
請求項４に記載のプログラムにおいて、初回のサイクルの結果が１より小さい場合、１以上かつ前記サイクル中で用いた初期値より小さい数値を新たな初期値として選定し、以後、新たな初期値の選定後の初回のサイクルの結果が１より小さい限り１以上かつ前記サイクル中で用いた初期値より小さい数値を新たな初期値として選定することを繰り返して正の実根の近似値を算出することを特徴とするプログラム。
【請求項６】
請求項４に記載のプログラムにおいて、初回のサイクルの結果が１より小さい場合で初期値を１．２で除した商が１以上のときは前記商を新たな初期値とし、１より小さいときには１以上かつ前記サイクル中で用いた初期値より小さい数値を新たな初期値として選定し、以後、新たな初期値の選定後の初回のサイクルの結果が１より小さい限り前記初期値を１．２で除した商が１以上のときは前記商を、１より小さいときには１以上かつ前記サイクル中で用いた初期値より小さい数値を新たな初期値として選定して正の実根の近似値を算出することを特徴とするプログラム。
【請求項７】
請求項５に記載のプログラム又は請求項６に記載のプログラムにおいて、
与えられた２以上の自然数が、許容桁数より２小さい数を指数とし、１０を底とする累乗に５を乗じた積より大きい又は等しい場合で、
与えられた実数が２以上のときは、１０を底とし、与えられた実数の整数部分の桁数と同数の数を指数とする累乗で与えられた実数を除した商を算出し、与えられた実数の整数部分の桁数から１を引いた差を前記商に加えた和を算出し、前記和に２．３を乗じた積を算出し、前記積を前記自然数で除した商を算出し、前記商に１を加えた和を算出し、前記和と、前記和の正負を反転したもののいずれも又は前記和を、
与えられた実数が０より大きく０．５以下のときには、前記実数の代わりに前記実数の逆数を用いて算出した前記和の逆数と、前記逆数の正負を反転したもののいずれも又は前記逆数を、
与えられた実数が−２以下、かつ与えられた２以上の自然数が奇数のときには、前記実数の代わりに前記実数の絶対値を用いて算出した前記和の正負を反転した負の数を、
与えられた実数が−０．５以上で０より小さく、かつ与えられた２以上の自然数が奇数のときには、前記実数の代わりに前記実数の絶対値の逆数を用いて算出した前記和の正負を反転した負の数の逆数を、
与えられた実数が１より大きく２より小さいときには、１０を底とし、与えられた実数の整数部分の桁数と同数の数を指数とする累乗で与えられた実数を除した商を算出し、与えられた実数の整数部分の桁数から１を引いた差を前記商に加えた和を算出し、前記和に２．３を乗じた積を算出し、前記積を前記自然数で除した商を算出し、１０を底とし、与えられた実数の小数第一位から下位に向かってみて連続して並ぶ０の個数を指数とする累乗で前記商を除した商を算出し、前記商に１を加えた和を算出し、前記和と、前記和の正負を反転したもののいずれも又は前記和を、
与えられた実数が０．５より大きく１より小さいときには、前記実数の代わりに前記実数の逆数を用いて算出した前記和の逆数と、前記逆数の正負を反転したもののいずれも又は前記逆数を、
与えられた実数が−２より大きく−１より小さく、かつ与えられた２以上の自然数が奇数のときには、前記実数の代わりに前記実数の絶対値を用いて算出した前記和の正負を反転した負の数を、
与えられた実数が−１より大きく−０．５より小さく、かつ与えられた２以上の自然数が奇数のときには、前記実数の代わりに前記実数の絶対値の逆数を用いて算出した前記和の正負を反転した負の数の逆数を、
求める実根の近似値として算出することを特徴とするプログラム。
【請求項８】
請求項５に記載のプログラム又は請求項６に記載のプログラムにおいて、
与えられた２以上の自然数が、許容桁数より２小さい数を指数とし、１０を底とする累乗に５を乗じた積より大きい又は等しい場合で、
与えられた実数が２以上のときは、１０を底とし、与えられた実数の整数部分の桁数と同数の数を指数とする累乗で与えられた実数を除した商を算出し、与えられた実数の整数部分の桁数から１を引いた差を前記商に加えた和を算出し、前記和に２．３を乗じた積を算出し、前記積を前記自然数で除した商を算出し、前記商に１を加えた和を算出し、前記和と、前記和の正負を反転したもののいずれも又は前記和を、
与えられた実数が０より大きく０．５以下のときには、前記実数の代わりに前記実数の逆数を用いて算出した前記和の逆数と、前記逆数の正負を反転したもののいずれも又は前記逆数を、
与えられた実数が−２以下、かつ与えられた２以上の自然数が奇数のときには、前記実数の代わりに前記実数の絶対値を用いて算出した前記和の正負を反転した負の数を、
与えられた実数が−０．５以上で０より小さく、かつ与えられた２以上の自然数が奇数のときには、前記実数の代わりに前記実数の絶対値の逆数を用いて算出した前記和の正負を反転した負の数の逆数を、
与えられた実数が１より大きく２より小さいときには、１０を底とし、与えられた実数の整数部分の桁数と同数の数を指数とする累乗で与えられた実数を除した商を算出し、与えられた実数の整数部分の桁数から１を引いた差を前記商に加えた和を算出し、前記和に２．３を乗じた積を算出し、前記積を前記自然数で除した商を算出し、１０を底とし、与えられた実数の小数第一位から下位に向かってみて連続して並ぶ０の個数を指数とする累乗で前記商を除した商を算出し、前記商に１を加えた和を算出し、前記和と、前記和の正負を反転したもののいずれも又は前記和を、
与えられた実数が０．５より大きく１より小さいときには、前記実数の代わりに前記実数の逆数を用いて算出した前記和の逆数と、前記逆数の正負を反転したもののいずれも又は前記逆数を、
与えられた実数が−２より大きく−１より小さく、かつ与えられた２以上の自然数が奇数のときには、前記実数の代わりに前記実数の絶対値を用いて算出した前記和の正負を反転した負の数を、
与えられた実数が−１より大きく−０．５より小さく、かつ与えられた２以上の自然数が奇数のときには、前記実数の代わりに前記実数の絶対値の逆数を用いて算出した前記和の正負を反転した負の数の逆数を、
与えられた２以上の自然数が、許容桁数より２小さい数を指数とし、１０を底とする累乗に５を乗じた積より大きい又は等しい場合は求める実根の近似値として算出し、小さい場合には初期値として選定することを特徴とするプログラム。
【請求項９】
請求項７に記載のプログラム又は請求項８に記載のプログラムにおいて、与えられた実数又は前記実数の逆数の整数部分の桁数が与えられた２以上の自然数の桁数より大きいとき、１０を底とし、前記自然数を指数とする一つ又は複数の累乗で前記実数の絶対値又は前記絶対値の逆数を除して１以上、かつ１０を底とし、前記自然数を指数とする累乗より小さい数値を算出し、前記自然数を指数とする前記数値の実根の近似値を算出し、前記絶対値又は前記絶対値の逆数を除した一つ又は複数の累乗の個数を指数とし、１０を底とする累乗を前記近似値に乗じることを特徴とするプログラム。
【請求項１０】
与えられた２以上の自然数を指数とし、初期値を底とする累乗の整数部分の桁数が許容桁数を超え、又は前記自然数を指数とし、初期値又は初期値の代わりに用いる数値を底とする累乗を与えられた実数から引いた差を初期値又は初期値の代わりに用いる数値に乗じた積の整数部分の桁数が許容桁数を超えると、前記差を乗じる乗算と、前記実数で除する除算及び前記自然数で除する除算の二つの除算との順番を入れ替えて行い、又は新たに初期値を選定することを特徴とする請求項９に記載のプログラム。
【請求項１１】
請求項１０に記載のプログラムにおいて、与えられた実数が負の場合で、与えられた２以上の自然数が偶数のときはエラー表示を表示し、前記実数が０の場合には０を求める実根として表示し、前記実数が１の場合で前記自然数が奇数のときは１を求める実根として表示し、偶数のときには±１を求める実根として表示し、前記実数が−１の場合で前記自然数が奇数のときには、−１を求める実根として表示することを特徴とするプログラム。
【請求項１２】
与えられた２以上の自然数を指数とし、初期値又は初期値の代わりに用いる数値を底とする累乗を与えられた実数から引いた差を初期値に乗じた積を除するにあたって、前記実数で除する除算と前記自然数で除する除算の順番を入れ替えて行うことを特徴とする請求項１１に記載のプログラム。
【請求項１３】
複数の異なる数値の組合せが繰り返し算出されると、それらの数値の平均値を算出し、又はそれらの数値のうちの一つを用いることを特徴とする請求項１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、実数と２以上の自然数が与えられ、簡単な演算を繰り返して、前記自然数を指数とする前記実数の実根の近似値を算出するプログラムに関するものである。
【背景技術】
【０００２】  従来、実数と２以上の自然数が与えられると、前記自然数を指数とする前記実数の実根の近似値を算出するプログラムはあるが、簡単な演算を繰り返して前記近似値を算出するプログラムはなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００３】  本発明は、実数と２以上の自然数が与えられ、前記自然数を指数とする前記実数の実根の近似値を算出するにあたって、前記実数及び前記自然数、並びに候補とする数値を用いる簡単な演算を繰り返して前記近似値を算出するプログラムを提供する。
【課題を解決するための手段】
【０００４】  本発明は、実数と２以上の自然数が与えられ、前記自然数を指数とする前記実数の実根の近似値を算出するにあたって、簡単な演算を繰り返して求める実根の近似値を算出するプログラムである。次の段落で本プログラムの演算手段について説明する。【０００５】  与えられた２以上の自然数を指数とし、初期値を底とする累乗を算出する。次いで、前記累乗を与えられた実数から引いた差を初期値に乗じた積を算出する。次いで、前記積を前記実数で除した商を算出する。次いで、前記商を前記自然数で除した商を算出する。次いで、前記商を初期値に加えた和を算出する。次いで、前記和を初期値の代わりに用いて同じ演算を行い、以後、これを繰り返す。【０００６】  すると、いずれ二つの連続したサイクルで同数の結果が算出され、又は初回のサイクルの結果が初期値と等しいと、その時点で演算を終了する。ただし、複数の数値の組み合わせが繰り返し算出されると、それらの数値の平均値又はそれらの数値のうちの一つを求める実根又は求める実根の一方の近似値とする。【０００７】  与えられた２以上の自然数が奇数の場合は、最後の二つのサイクルで共通して算出される結果又は初回のサイクルの結果が初期値と等しいときの初期値を求める実根として表示する。偶数の場合には、前記結果の正負を反転して得られる数値と、前記結果の二つの数値を求める実根の近似値として表示する。【０００８】  ただし、与えられた実数が０の場合は、与えられた２以上の自然数にかかわらず、虚根も含めて唯一の根である０を求める実根として表示する。前記実数が１の場合で前記自然数が奇数のときは１を、前記自然数が偶数のときには±１をそれぞれ求める実根として表示する。よって、以後、特に断りがない限り与えられた実数は０と１と−１のいずれでもないとして説明する。又、前記実数が負で前記自然数が偶数であれば、実根が存在しないため、エラー表示を表示し、又は「解なし」と表示する。よって、以後、特に断りがない限り与えられた自然数が偶数のときは与えられた実数は正とし、又は前記実数が負のときは前記自然数は奇数として説明する。【０００９】  与えられた実数と与えられた２以上の自然数をそれぞれｙとｍとおく。段落番号「０００５」の段落に記載した演算のｎ＋１回目のサイクルの結果をａｎ＋１とおく。前記演算を数式で表わすと、下記の数式１となる。ただし、許容桁数の制約がある電子計算機を用いて極めて精密な近似値を得るために前記実数の逆数又は前記逆数の絶対値を前記実数又は前記実数の絶対値の代わりに用いるときで前記逆数又は前記逆数の絶対値をｙとおく数とすると、前記逆数又は前記逆数の絶対値においての実根の近似値を算出するものであることに留意する。なお、逆数を用いる際に必ずしも絶対値を用いなくてもよい。【００１０】
【数１】
2020035408.tif 000002
【００１１】  請求項２以降で請求項３以外の請求項に記載のプログラムは、与えられた２以上の自然数、すなわち指数とする数の奇偶と与えられた実数の正負により、次の段落から段落番号「００１４」の段落までの段落で説明するようにして正の初期値を選定する。【００１２】  与えられた２以上の自然数が奇数の場合で与えられた実数が正のときは、実根として唯一、正の実根が存在するから、初期値の正負を正として選定し、実根として唯一存在する正の実根の近似値を算出する。与えられた実数が負のときには、前記実数の正負を反転して正数とした上で、初期値の正負を正として選定する。そして、前記正数においての前記自然数を指数とする実根として唯一存在する正の実根の近似値を算出し、次いで前記近似値の正負を反転して得られる負数を求める実根の近似値として表示する。【００１３】  繰り返すが、与えられた２以上の自然数が偶数の場合で与えられた実数が負のときは、実根は存在しないから、エラー表示を表示し、又は「解なし」と表示する。与えられた実数が正のときには、互いに正負が反転する正と負の二つの異なる実根が存在するが、正の初期値を選定し、まず正と負の二つの実根の一方を算出する。次いで、正負を反転して他方の実根を得て、異なる二つの実根を得る。【００１４】  以上に説明したようにして、請求項２以降の請求項に記載のプログラムは、請求項３に記載のプログラムを除いて、常に正の初期値を選定する。【００１５】  なお、本プログラムの適用外であるが、与えられた２以上の自然数が０の場合で与えられた実数が１のときは０以外のすべての実数が実根であり、それ以外のときには実根は存在しない。前記自然数が１の場合では、虚根も含めて根は一つのみ存在し、前記根は与えられた実数と等しい。【００１６】  請求項３に記載のプログラムは、与えられた２以上の自然数が奇数で与えられた実数が負のとき、負の初期値を選定することを特徴とする。そして、負の実根の近似値を直接、算出する。その結果、請求項２などに記載のプログラムにおいては二回要する正負の反転がいずれも不要である。ただし、段落番号「００２５」の段落に記載するように、初回のサイクルの結果の正負の方向が一致しない、つまり前記結果が正数又は０であれば、求める負の実根の近似値は算出されない。そのため、前記初期値と異なる負の数を新たな初期値として選定する。そして、新たな初期値を用いて初回のサイクルの結果が正数又は０となる限り一度も用いていない負の数を新たな初期値として選定することを繰り返す。【００１７】  与えられた２以上の自然数が奇数で与えられた実数が負のときにおいて、請求項３に記載のプログラムと請求項２などに記載のプログラムの各々で、互いに正負が反転する数値を各々初期値として各々算出すると、各々のプログラムの各々のサイクルで算出される各々の算出値で対応するものは各々互いに正負が反転する。そして、請求項２などに記載のプログラムにおいては、最後の二つのサイクルで共通して算出される正の算出値若しくは初回のサイクルの結果が初期値と等しいときの初期値の正負を反転して負の実根の近似値を算出するため、結局、同じ結果が得られる。
【発明の効果】
【００１８】  本発明は、与えられた実数及び与えられた２以上の自然数、並びに候補とする数値を用いる簡単な演算を繰り返して、求める実根の近似値を算出する。
【発明を実施するための形態】
【００１９】  本出願書では、特に断りがない限り、整数部分が０か否かにかかわらず最高位から小数部分を含めて桁数を数えるとする。「全桁を整数とみなして数えた桁数」などの表現は特に用いない。逆に、小数部分を含まないときには、小数部分を含むか否かを明瞭にするために単に「桁数」と書かず、「整数部分のみの桁数」と書くとする。いずれの演算の算出値においても、桁数が許容桁数を超えると、切り捨ての端数処理を行うとする。なお、整数部分のみで数えた桁数が許容桁数を超えると、一般的な電子計算機は、通常、エラー表示を表示し、計算の継続ができない。与えられる実数と与えられる２以上の自然数の桁数はいずれも許容桁数以下とする。
【００２０】  段落番号「０００９」の段落に記載したように、与えられた実数と与えられた２以上の自然数とｎ＋１回目のサイクルの結果をｙとｍとａｎ＋１とそれぞれおく。初期値をａｏとおく。求める実根又は求める実根の一方をｘとおく。ｍの値は２以上の自然数である。初期値の絶対値で場合分けすると、数式１の演算を行って得られる結果は以下に説明するようになる。
【００２１】  初期値の絶対値が下記の数式２の値より大きければ、初回のサイクルの結果の正負の方向は、初期値の正負の方向と逆向きになる。しかし、初期値の絶対値が０以外で数式２の値より小さければ、すなわち初期値の絶対値が下記の数式３の範囲内に存在すれば、与えられた２以上の自然数が偶数の場合には、数式１の演算を繰り返し行って求める実根の一方の近似値が得られる。その際、初期値と正負の向きが一致する結果が算出されるのを繰り返す。奇数の場合には、その条件に加えて、初期値の正負の方向が実根として唯一存在する正又は負の実根の正負の方向と一致すれば、数式１の演算を繰り返し行って求める正又は負の実根の近似値が得られる。
【００２２】
【数２】
2020035408.tif 000003
【００２３】
【数３】
2020035408.tif 000004
【００２４】  ただし、初期値の絶対値が数式２の値近傍又は０近傍のとき、許容桁数の制約の影響により０が算出されることはあり得る。すると、以降のサイクルの結果は０が繰り返し算出される。
【００２５】  与えられた２以上の自然数が奇数のときに初期値の正負の方向が与えられた実数の正負の方向と逆向き、ひいては実根として唯一存在する正又は負の実根の正負の方向と逆向きであれば、初回のサイクルの結果の正負の方向は初期値のそれと一致し、ひいては唯一存在する正又は負の実根の正負の方向と逆向きとなる。そして、数式１の演算を繰り返せば繰り返すほど、前記実根と遠ざかる一方であり、繰り返せば繰り返すほど、求める実根との差の絶対値が急激に大きくなる。
【００２６】  与えられた２以上の自然数が偶数かつ与えられた実数が正のときには、初期値の絶対値が数式２の値より大きければ、初回のサイクルの結果の正負の向きは、初期値の正負の向きと逆向きになるものの、下記の数式４の値より小さければ、初回のサイクルの結果の絶対値は初期値の絶対値より小さい。前記自然数が偶数の場合で初期値の絶対値が下記の数式５の範囲内に存在すれば、数式２の値近傍を初期値若しくは初期値の代わりに用いた結果、又は０近傍の値を初期値として用いた結果として０が算出されない限り、以下に説明するようにして求めるの実根の一方に近づくことを無限に繰り返すようになる。
【００２７】
【数４】
2020035408.tif 000005
【００２８】
【数５】
2020035408.tif 000006
【００２９】  数式１の演算を行って得られる結果の絶対値が数式２の値より大きく数式４の値より小さければ、次回のサイクルの結果においても、前記結果と正負の方向が逆向きになるとともに前記数値より絶対値が小さい数値となる。絶対値が数式２の値より大きく数式４の値より小さい数値が算出される限り、正負の方向が逆向きになるとともに絶対値が小さくなることを繰り返し、いずれ絶対値が数式２の値以下となる。
【００３０】  そして、以降のサイクルの結果は、絶対値が数式２の値と等しくなり若しくはほぼ等しくなり、その結果として０が算出されるときを除いて、正と負の二つの実根の一方に近づくことを無限に繰り返す。初期値又は初期値の代わりに用いる数値の絶対値が数式２の値より大きく数式４の値より小さいときに行うサイクルの回数の奇偶により正と負の二つの実根のいずれの実根の近似値が算出されるかが決まる。絶対値が数式２の値と等しい若しくはほぼ等しく、その結果として次回のサイクルの結果が０となれば、以降のサイクルの結果は０が繰り返し算出される点は変わらない。
【００３１】  ただし、初期値の絶対値が０以外で数式４の値より小さくても、数式４の値に近ければ近いほど、要するサイクルは多数になり、若しくは許容桁数の制約の影響により０が繰り返し算出されるようになる。
【００３２】  初期値又は初期値の代わりに用いる数値の絶対値と数式２の値との大小により場合分けし、次いで前記絶対値と数式４の値との大小により場合分けして、数式１の演算を行って得られる結果についてそれぞれ説明したが、以下、前者に加えて、前記絶対値と求める実根又は求める実根の一方の絶対値との大小により場合分けして説明する。
【００３３】  ただし、求める実根又は求める実根の一方の絶対値は数式２の値より小さいため、与えられた２以上の自然数が偶数の場合は初期値と正負の方向が一致する結果が繰り返し算出される一方であり、奇数の場合には初期値の正負の方向が唯一存在する実根のそれと一致するか否かにより一致する又は一致しない結果が繰り返し算出される一方であり、又、互いに正負が反転する二つの数値の各々を初期値として各々算出すると、対応するサイクルの結果は各々互いに正負が反転するので、以下、正の初期値を用いて正の実根の近似値を算出するとして説明する。
【００３４】  もし初期値が正の実根と等しければ、数式１の右辺中の第二項中の分子に入る数が０となり、それゆえ初回のサイクルの結果は初期値と等しい。逆にいえば、初回のサイクルの結果が初期値と等しければ、初回のサイクルの結果を正の実根とすればよい。そのため、以下、初期値は正の実根と等しくないとする。ただし、これは理論値計算として説明したもので、許容桁数の制約がある電子計算機では、若下異なる数値を初期値として用いたときでもあり得ることに留意する。なお、繰り返しになるが、初期値が０であれば、数式１の右辺は０となるため、初期値が０のときは、すべてのサイクルの結果は０となる。
【００３５】  もし初期値が正の実根より小さければ、つまり０より大きく正の実根より小さければ、初回のサイクルの結果は初期値より大きく正の実根より小さい。そして、以降のサイクルの結果は前回のサイクルの結果より大きく正の実根より小さいことを繰り返す。つまり、ｎ＋１回目のサイクルの結果はｎ回目のサイクルの結果より大きく正の実根より小さい。
【００３６】  そして、数式１の演算を繰り返し行うと、得られる結果が正の実根の真の値に近づくことを無限に繰り返す。ただし、繰り返すが、許容桁数の制約がある電子計算機では、いずれ同じ数値を繰り返し算出するようになり、前記数値は真の値と若干異なることがあり得る。
【００３７】  もし初期値が正の実根より大きければ、初回のサイクルの結果は正の実根より小さい。加えて、初期値が正の実根より大きく数式２の値より小さければ、初回のサイクルの結果は０より大きく正の実根より小さい。
【００３８】  そして、段落番号「００３５」の段落に記載したように、０より大きく正の実根より小さい数値を初期値の代わりに用いる限り前回のサイクルの結果より大きく正の実根より小さい数値が常に算出されるため、初期値が正の実根より大きく数式２の値より小さいときに数式１の演算のサイクルを繰り返し行うと、少なくとも二回目以降のサイクルにおいて、得られる結果が正の実根の真の値に近づくことを無限に繰り返す。
【００３９】  なお、ｍの値が２以上の自然数のため、数式２の括弧で括られた右辺中の係数は無理数であり、ｘの値が無理数であれば数式２の値が有限小数となることはあり得るものの、そのときのｘの値は無理数である。いずれも有理数、ひいては有限小数であることはなく、許容桁数の制約のある電子計算機にとっては、初期値が数式２の値と等しいときの説明は無意味である。
【００４０】  以上に説明したように、初期値が０より大きく数式２の値より小さければ、初期値が正の実根に等しい若しくはほぼ等しいときを除いて、数式１の演算のサイクルを繰り返し行うと、得られる結果が正の実根の真の値に近づくことを無限に繰り返す。そして、許容桁数の制約の影響により、いずれ二つの連続したサイクルで同数の結果が算出されるようになる。
【００４１】  以下、初期値が数式３の範囲内に存在するときについて段落番号「００３４」から「００４０」までの段落で行った説明が正しいことを示す。ただし、段落番号「００３２」の段落で説明したように正の初期値を用いて正の実根の近似値を算出するとして説明する。よって、以下、ｙとａｏの値はいずれも正とし、正の実根の近似値を算出するとして説明する。それゆえ、ｘの値は正とする。繰り返すが、初期値が正の実根に等しいときを除くとする。
【００４２】  まず、初期値が正の実根より大きいときに正しいことを示す。ただし、以下の説明は理論値計算であって、許容桁数の制約がある電子計算機は若干異なる数値を算出し得るため、たとえ求める実根が正の有限小数又は自然数であっても、実際に算出される数値と一致するとは限らないことに留意する。
【００４３】  初期値は正の実根のｔ倍とおく。すると、下記の数式６が成り立つ。
【００４４】
【数６】
2020035408.tif 000007
【００４５】  正の実根の真の値ｘのｍ乗は与えられた実数又は前記実数の逆数ｙに等しいから、初回のサイクルの結果ａ１から正の実根を引いた差をｆ（ｔ）とおくと、ｆ（ｔ）は下記の数式７となる。ｆ（ｔ）をｔで微分すると、下記の数式８となる。なお、ｔの値が１のときのｆ（ｔ）、つまりｆ（１）は、下記の数式９により、０となる。これは、段落番号「００３４」で説明したことを示している。
【００４６】
【数７】
2020035408.tif 000008
【００４７】
【数８】
2020035408.tif 000009
【００４８】
【数９】
2020035408.tif 000010
【００４９】  初期値が正の実根より大きいとき、すなわちｔの値が１より大きいとき、数式８により、ｆ′（ｔ）は常に負だから、ｔの値が１より大きいとき、ｆ（ｔ）は単調減少である。これに加えて、数式９により、ｔの値が１のときのｆ（ｔ）、つまりｆ（１）は０だから、ｔの値が１のときのｆ（ｔ）は常に負である。よって、初期値が正の実根より大きいとき、初回のサイクルの結果は常に正の実根より小さい。
【００５０】  数式６の右辺を数式１に代入して、初回のサイクルの結果を計算すると、下記の数式１０の結果が得られる。よって、初回のサイクルの結果が０となるときのｔの値は、数式１０の第四辺全体が０と等しいとしてたてた下記の数式１１により得られる。そして、数式１１から、数式２の値が得られる。そして、段落番号「００４９」で示したように初期値が正の実根より大きいとき、つまりｔの値が１より大きいときのｆ（ｔ）は単調減少のため、初期値が正の実根より大きいときは、小さければ小さいほど初回のサイクルの結果は大きく、それゆえ、数式２の値より小さければ、初回のサイクルの結果は０より大きい。
【００５１】
【数１０】
2020035408.tif 000011
【００５２】
【数１１】
2020035408.tif 000012
【００５３】  以上により、初期値が正の実根より大きく数式２の値より小さいときの初回のサイクルの結果は０より大きく正の実根より小さい。
【００５４】  次に、０より大きく正の実根より小さい数値を初期値の代わりに用いる数値又は初期値とし、少なくとも二回目以降のサイクルの結果は一つ前のサイクルの結果又は初期値より大きく正の実根より小さい数値となり、つまり一つ前のサイクルの結果又は初期値と正の実根の間に存在する数値となることを示す。なお、初回のサイクルにおいての一つ前のサイクルの結果と比較する際には、一つ前のサイクルの結果の代わりとして初期値と比較することに留意する。
【００５５】  ０より大きく正の実根より小さい数値をｖとおくと、下記の数式１２が成り立つ。そして、ｖを初期値の代わりに用いる数値又は初期値として用いて行ったサイクルの結果をｇ（ｖ）とおく。すると、ｇ（ｖ）は下記の数式１３となる。そして、数式１３からｖを引くと、下記の数式１４となる。よって、数式１４により、少なくとも二回目以降のサイクルの結果は一つ前のサイクルの結果又は初期値より大きいことが示された。
【００５６】
【数１２】
2020035408.tif 000013
【００５７】
【数１３】
2020035408.tif 000014
【００５８】
【数１４】
2020035408.tif 000015
【００５９】  一方、ｖの値が０より大きく正の実根より小さいため、数式８において、ｔのとる値は０より大きく１より小さいとし、又、数式６中のａｏをａｎと、数式７中のａ１をａｎ＋１とそれぞれ置き換える。すると、ｆ′（ｔ）は常に正だから、ｔの値が０より大きく１より小さいとき、ｆ（ｔ）は単調増加である。よって、ｆ（１）が０だから、ｔのとる値が０より大きく１より小さいとき、ｆ（ｔ）は常に負である。これは、ｎ＋１回目のサイクルの結果が正の実根より小さいことを示している。
【００６０】  以上により、初期値が数式３の範囲内に存在するときについて段落番号「００３４」から「００４０」までの段落で行った説明が正しいことが示された。
【００６１】  もし与えられた実数が負の場合で与えられた２以上の自然数が奇数のときに負の初期値を用いて負の実根の近似値を直接、算出するとすると、初期値が数式２の値の正負を反転した値より大きく０より小さければ、数式１の演算のサイクルを繰り返すのみで前記近似値が算出される。このときにも、正負の方向が逆向きであることを踏まえ、ｔのとる値を適切にとると、数式６から数式１４までの数式と同様の数式を同様に用いて示される。初期値が真の値と等しければ、初回のサイクルの結果が初期値と等しいという点も変わらない。
【００６２】  初期値の絶対値が数式４の値より大きいときは、与えられた２以上の自然数の奇偶にかかわらず、数式１の演算を行って得られる結果の絶対値は大きくなる一方であり、初期値の正負にかかわらず求める実根又は求める実根の一方の近似値は算出されない。そのため、初期値を再選定する必要を有する。等しいときには、初回のサイクルで初期値の正負を反転した数値が算出され、以降、数式４の値と、前記数値の正負を反転した数値の二つの数値が交互に算出されることを無限に繰り返す。数式４の値を導き出すためには、数式６の右辺の全体の値の正負を反転して得られる値と数式１０の第四辺全体が等しいとしてたてた数式からｔの値を導き出せばよい。
【００６３】  段落番号「００２５」の段落に記載したもののうちで初回のサイクルの結果の正負の方向について、段落番号「００５０」の段落で示したことにより説明できる。前記段落で示したように、初期値が正の実根より大きいときは、大きければ大きいほど、初回のサイクルの結果は小さいから、正の実根より大きい数式２の値より大きい数値を初期値とするときの初回のサイクルの結果は、数式２の値を初期値としたときの初回のサイクルの結果である０より小さい、つまり負となる。負の初期値を用いて負の実根の近似値を直接、算出するときにおいても、ｔの値の正負の方向を逆向きにすると、同様にして説明できる。
【００６４】  一方、差の絶対値が大きくなる一方になる方は、数式１を用いて説明できる。初回のサイクルにおいての数式１の右辺中の第二項において、与えられた実数又は前記実数の逆数ｙが正のときの数式１中におけるａｎは負であって、ｍの値が奇数のため−ａｎｍは正となる。ゆえに、前記第二項の全体は負となるため、サイクルを重ねるごとに、得られる結果は小さくなる一方である。ｙの値が負のときには、ａｎ、−ａｎｍ及び前記第二項の全体の各々の正負の方向は各々逆向きとなるため、サイクルを重ねるごとに、得られる結果は大きくなる一方である。
【００６５】  与えられた２以上の自然数が偶数かつ与えられた実数が正のときには段落番号「００６４」の段落で説明したときと異なり、ｙと−ａｎｍの正負が異なるため、数式１の右辺中の第二項の全体の正負と初期値の正負の方向が一致するとは限らない。そのため、初期値の絶対値が数式２の値より大きくても、数式４の値より小さければ、数式２の値と等しい若しくはほぼ等しい数値が算出され、その結果として０が算出されない限り正と負の二つの実根の一方が算出される。正負の二つの異なる実根が存在するため、正と負のいずれの初期値を用いても、常に、一方の実根と正負の方向が一致し、他方の実根とは逆向きとなる点も異なる。
【００６６】  数式１の演算を繰り返して二つの連続したサイクルで同数の結果が算出され、又は初回のサイクルの結果が初期値と等しいため、前記演算を終了する際の前記結果を初算出としての実根と呼ぶとする。つまり、数式１の演算により直接、算出される実根である。ただし、請求項４以降の請求項に記載のプログラムは、与えられた実数の絶対値が１より小さいときに前記実数の絶対値の逆数を用いて算出される実根の近似値の逆数を算出するが、その際にも、前記実根を同様に呼ぶとする。
【００６７】  以下、請求項４に記載のプログラムについて説明する。
【００６８】  段落番号「００１９」の段落で記載した電子計算機と、最高位から下位に向かってみて０以外の数字がはじめて現れる位、例えば０．０００１２３…のケースでは小数第四位から数えた桁数により切り捨ての端数処理を行う電子計算機とでは、与えられた実数の絶対値が１より小さいとき、誤差率に少なからず違いが生じる。繰り返すが、特に断りがない限り、前者の電子計算機を用いるとする。
【００６９】  段落番号「００１９」の段落に記載した電子計算機と、段落番号「００６８」の段落に記載した必ずしも最高位から桁数を数えるとは限らない電子計算機のうちの後者の電子計算機を用いると、与えられた実数の絶対値が１よりかなり小さいときに前記実数の絶対値そのものを用いても誤差率は特に変わらないが、前者の電子計算機では与えられた実数の絶対値が１より小さいときで前記実数の絶対値そのものを用いると、切り捨てによる桁の欠損による影響で誤差率は比較的大きくなりやすい。小さくなればなるほど、誤差率は比較的大きくなりやすい。
【００７０】  そこで、請求項４に記載のプログラムは、与えられた実数の絶対値が１より小さい場合、前記実数の絶対値の逆数を前記実数の絶対値の代わりに用いる。そして、数式１の演算を繰り返し行って得られる初算出としての実根の逆数を算出する。そして、必要に応じて前記逆数の正負を反転して負の実根の近似値を得る。すると、整数部分が０のため有効桁数が１又は２以上小さいものの、与えられた２以上の自然数、つまり指数とする数がよほど大きくない限り、極めて精密な近似値が得られる。許容桁数の制約のある電子計算機を用いての逆数の算出時に誤差の累積はあるものの、得られる結果はほぼ変わらない。
【００７１】  与えられた実数の絶対値の逆数を前記実数の絶対値の代わりに用いるため、初算出としての実根の絶対値は常に１より大きい。そのため、初期値は１以上の数とする。逆に、与えられた実数の絶対値が１より大きい場合で前記絶対値そのものを用いるときであっても、初算出としての実根の絶対値は１以上のため、初期値は１以上の数とし、結局、初期値は１以上の数とすることに留意する。ただし、初期値の絶対値が数式２の値より大きく数式４の値より小さければ、初算出としての実根が負であったり、０が繰り返し算出されたりすることがあり得る。
【００７２】  以上に説明したようにして、請求項４に記載のプログラムは求める実根の近似値を算出する。
【００７３】  初期値が数式３の範囲内に存在すれば、数式１の演算のサイクルを繰り返し行うと、初算出としての正の実根が得られるものの、初期値の絶対値が数式２の値の近傍値であって、許容桁数の制約の影響により初回のサイクルの結果の絶対値が０となることがなくても、正の０近傍となれば、初算出としての正の実根が１以上であることもあって、多数のサイクルを要する。
【００７４】  そこで、請求項５に記載のプログラムは、請求項４に記載のプログラムにおいて、初回のサイクルの結果が１より小さいとき、１以上、かつ前記サイクル中で用いた初期値より小さい数値を新たな初期値として選定する。再選定後の初回のサイクルの結果も１より小さければ、再び選定し、以後、これを繰り返す。そして、その結果として、０が繰り返し算出されることを回避できるのみでなく、初算出としての実根は常に正となる。すると、要するサイクルを少なくできる。なお、初回のサイクルの結果が０以下であれば、指数とする数が奇数のときは初期値の再選定の必要を有するが、０より大きい１との大小の関係により決まるため、そのとき、初期値の再選定は必ず行われる。
【００７５】  一方、偶数のときには、初回のサイクルの結果が負になっても、必すしも再選定の必要を有しないが、多数のサイクルを要しやすくなる。ただし、初回のサイクルの結果が負のときに再選定せずに続けても、逆に、要するサイクルが少なくてすむこともある。例えば、与えられた実数が９で与えられた２以上の自然数が２のときで、６を初期値として選定すると、初回のサイクルの結果は−３となり、これは、求める実根のうちで負の方と等しい。そして、その結果、二回目のサイクルで数式１の演算を終了する。指数とする数の奇偶にかかわらず再選定の直後に用いる初期値は再選定の直前に用いたものより小さく、ゆえに再選定を繰り返すたびに小さくなる。
【００７６】  請求項６に記載のプログラムは、請求項５に記載のプログラムと同様に、初回のサイクルの結果が１より小さいときに何度でも再選定するが、初期値を１．２で除した商を新たな初期値として選定することを特徴とする。ただし、前記商が１より小さいときには、前記商でなく１以上、かつ前記サイクル中で用いた初期値より小さい数値を新たな初期値として選定する。再選定後の初回のサイクルの結果も１より小さければ、再び同様にして選定し、以後、これを繰り返す。請求項５に記載のプログラムと同様に、再選定を繰り返すたびに初期値は小さくなる。
【００７７】  ただし、負の初期値を用いて、負の実根又は前記実根の逆数そのものの近似値を算出するならば、初回のサイクルの結果が−１より大きいとき、前記初期値を１．２で除した商を算出し、前記商が−１以下であれば、前記商を新たな初期値として選定する。ただし、前記商が−１より大きいときには、前記商でなく−１以下、かつ前記サイクル中で用いた初期値より大きい数値を新たな初期値として選定する。そして、再選定後の初回のサイクルの結果が−１より大きい限り、これを繰り返す。
【００７８】  次に、許容桁数を超えるため計算不能となることを回避する手段について説明する。与えられた実数の絶対値又は前記絶対値の逆数が許容桁数の条件を満たす数値のうちで最大のもの又はそれにある程度近いとき、数式１の演算中に行う累乗計算の結果及び前記結果を前記絶対値又は前記絶対値の逆数から引いた差を初期値又は初期値の代わりに用いる数値に乗じた積の整数部分のみの桁数は、比較的、許容桁数を超えやすい。その結果、許容桁数の制約により計算の継続ができなくなる。
【００７９】  そのため、請求項１０に記載のプログラムは、段落番号「００７８」の段落に記載したようになると、数式１の演算中においての初期値又は初期値の代わりに用いる数値を乗じる乗算と、二つの除算の順番を入れ替えて行い、又は新たな初期値を選定する。二つの除算の除数はそれぞれ１より大きく、整数部分のみの桁数は減少することはあっても増加することはないが、それでも許容桁数を超えれば、初期値の再選定を行う。数式１の演算中に行う累乗計算の結果の整数部分のみの桁数が許容桁数を超えるときは、数式１の演算中に行う乗算と、二つの除算とのいずれよりも前に前記結果が算出されるため、それらの順番を入れ替えても、無意味である。
【００８０】  次に、指数とする数によるが、許容桁数を超える範囲に存在する位に入る数字を容易に得る算出手段について説明する。つまり、許容桁数を超える桁数の算出値を得る算出手段について説明する。ただし、指数とする数が二桁以下の数だったり、逆に極めて大きい数だったりすると、許容桁数を超える範囲に存在する位のうちで多くても上位の二桁若しくは三桁までの数字しか得られない。
【００８１】  指数とする数が１００以上であれば誤差率はかなり小さく、指数とする数がよほど大きくない限り、初算出としての正の実根は、真の値を許容桁数までに切り捨てた数値若しくは切り上げた数値と等しい。ただし、後者の場合には、真の値は、許容桁数を超える範囲に存在する位のうちで最も上位の位、つまり許容桁数が１２であれば、上位十三桁目の位から下位に向かって複数の９が連続して入る数であって、誤差率が極めて小さい。
【００８２】  その算出手段について説明する。
【００８３】  二回連続して同数の結果が得られるときの、若しくは初回のサイクルの結果が初期値と等しいときの最も新しいサイクルの結果を初期値の代わりに用いて再び数式１の演算を一回行う。その際、切り捨てられる位のうちで上位の位に入る数字を切り捨てにより欠損されないようにするため、数式１の演算中においての初期値の代わりに用いる数値若しくは初期値を乗じる直前に、必要に応じて整数部分のみの桁数が許容桁数を超えることがないように、１０を底とし、自然数を指数とする累乗を乗じ、与えられた実数で除する際と与えられた２以上の自然数で除する際の各々の除数は、各々を正規化したときの各々の仮数部に入る数で各々除する。
【００８４】  以上に説明したようにすると、本来は数式１の演算中で切り捨ての端数処理の影響により０と算出される前記演算中の加数においての許容桁数を超える範囲に存在する位のうちで上位の位に入る数字が得られる。ただし、前記加数の本来の数値は、この算出手段により得られる数値を、与えられた実数と与えられた２以上の自然数の各々を正規化したときの各々の指数部に入る各々の数の和、又は必要に応じて１０を底とし、自然数を指数とする累乗を乗じたときには前記累乗においての指数とする数を前記和に加えた和を指数とし、１０を底とする累乗で除したものである。
【００８５】  そのため、許容桁数の制約のある電子計算機で直接には算出できないが、容易にわかる。そして、その結果が正のときは前記結果を初算出としての正の実根の下位に付け足し、負のときには引けばよい。ただし、どの位までが一致するかはわからない。ただし、初期値の代わりに用いる数値の累乗の算出値において、許容桁数を超える範囲、すなわち上位十三桁目から一つ又は複数の位に入る数字がわかれば、つまり切り捨てられる量の入力し得る最小の数値、すなわち１０−１１に対する比率がわかれば、その限りでない。この算出手段で得られる結果の誤差率は前記比率にほぼ比例するからである。なお、前記量の前記累乗に対する誤差率ではない。
【００８６】  本プログラムの適用外であるが、整数でない正の実数を指数としても、初期値が数式３の範囲内に存在すれば、数式１の演算を繰り返し行うことにより極めて精密な近似値が得られる。ただし、１に極めて近く、かつ１より大きい数を指数とするときなどに、誤差率が若干大きくなることがある。
【００８７】  指数とする数が負で与えられた実数が０のときには実根は存在しないが、これに加えて、指数とする数が整数でない数で与えられた実数が負の場合で、指数とする数を既約分数で表わしたときの分子に入る数が偶数であれば、実根は存在しない。
【００８８】  例えば指数とする数が１．６のとき、つまり８／５のとき、求める実根は、与えられた実数を底とし、８／５の分母に入る数である５を指数とする累乗においての８／５の分子に入る数である８を指数とする実根と等しく、これは、負の数における偶数を指数とする実根のため、存在しない。なお、既約分数においては、分母に入る数と分子に入る数の少なくともいずれか一方は常に奇数であり、つまりいずれもが偶数であることはなく、そのため、分子に入る数が偶数であれば、分母に入る数は常に奇数である。
【００８９】  又、例えば−４．６の１．５乗のように指数とする数が整数でなく、かつ負の数を底とする累乗においては、指数とする数１．５を既約分数で表わしたときの３／２においての分母に入る数が偶数であれば、前記累乗は存在しない。負の数を底とし、奇数を指数とする累乗においての偶数を指数とする実根と等しく、つまり負の数を底とし、偶数を指数とする実根と等しいためであり、それゆえ数式１の演算が行えない。
【００９０】  なお、指数とする数が−１のときは、求める実根は与えられた実数の逆数と等しい。つまり、数式１中のｙは１／ｘと等しい。又、ｍの値は−１であり、ａｎのｍ乗はその逆数と等しい。それらを数式１にそれぞれ代入すると、右辺はｘとなる。これは、理論値計算としては、数式１の演算のサイクルを一回行うのみで、常に初算出としての実根が得られることを示している。つまり、理論値計算としては、少なくとも数式１の演算のサイクルを二回行えばよい。実際の算出にあたっても、初期値が初算出としての実根と等しい若しくはほぼ等しいときを除いて、ほぼすべてのケースで、二回のサイクルですむ。
【００９１】  以下、請求項７に記載のプログラムについて説明する。
【００９２】  段落番号「００１９」の段落に記載したように端数処理を行う電子計算機を用いるとする。すると、少なくとも、指数とする数が許容桁数より１小さい数を指数とし、１０を底とする累乗より大きいとき、初算出としての正の実根の真の値より小さい正の数値を初期値として数式１の演算を行っても、数式１の右辺中の加数は、切り捨ての影響もあって、常に０となる。そのため、数式１の演算を行っても無意味である。
【００９３】  一方、初算出としての正の実根の真の値より大きい数値を初期値として数式１の演算を行うと、誤差率がかなり小さい数値を初期値として選定しない限り誤差率がかなり大きくなり得る。
【００９４】  そこで、請求項７に記載のプログラムは、許容桁数より２小さい数を指数とし、１０を底とする累乗に５を乗じた積より小さくない数、つまり前記積より大きい又は等しい数を指数とするとき、それ自体で実根の近似値が得られる演算手段を用いて、求める実根又は求める実根の一方を算出する。前記演算手段を用いて直接、算出される結果も初算出としての実根と呼ぶとする。
【００９５】  その演算手段を説明する。
【００９６】  まず、１０を底とし、与えられた実数又は前記実数の逆数の整数部分のみの桁数と同数の数を指数とする累乗で前記実数の絶対値又は前記絶対値の逆数を除した商を算出する。次いで、前記逆数の桁数から１を引いた差を前記商に加えた和を算出する。次いで、前記和に２．３を乗じた積を算出する。次いで、与えられた２以上の自然数で前記積を除した商を算出する。次いで、前記商に１を加えた和を算出する。
【００９７】  ただし、与えられた実数の絶対値又は前記絶対値の逆数が１以外で整数部分が１のとき、すなわち前記絶対値又は前記絶対値の逆数が１より大きく２より小さいときには、演算中の最後に行う１を加える加算の直前に、１０を底とし、前記絶対値又は前記絶対値の逆数においての小数第一位から下位に向かってみて連続して並ぶ０の個数を指数とする累乗で除する。
【００９８】  与えられた実数の絶対値が１より小さいときには、請求項４などの請求項に記載のプログラムと同様に、前記実数の絶対値の逆数を利用し、初算出としての正の実根の逆数を算出する。そのため、前記絶対値そのものが１／２より大きく１より小さいときも、前記絶対値又は前記絶対値の逆数としては１より大きく２より小さい。つまり、与えられた実数の絶対値そのものにおいては、１以外で１／２より大きく２より小さいとき、前記逆数は１より大きく２より小さいことに留意する。なお、指数とする数に限らず、与えられた実数が０のときは求める実根は０、１のときには１又は±１である点は変わらない。
【００９９】  与えられた実数又は前記実数の逆数をＹとおく。前記実数又は前記実数の逆数の整数部分のみの桁数をｄとおく。前記実数又は前記実数の逆数の整数部分が１のときにおいての小数第一位から下位に向かってみて連続して並ぶ０の個数をξとおく。すると、段落番号「００９６」及び「００９７」の段落で説明した演算手段は下記の数式１５又は下記の数式１６で表わされる。前記実数の絶対値又は前記絶対値の逆数が１より大きく２より小さいときには、数式１６を用いる。なお、与えられた実数の絶対値が１より小さいときは、前記絶対値の逆数を用いるため、Ｙの絶対値は常に１以上である。
【０１００】
【数１５】
2020035408.tif 000016
【０１０１】
【数１６】
2020035408.tif 000017
【０１０２】  与えられた２以上の自然数が奇数で与えられた実数が負のとき、前記実数又は前記実数の逆数においての正負を反転した数値を用いる。そして、数式１５又は数式１６を用いて算出した初算出としての正の実根の正負を反転する。負の実根又は前記実根の逆数の近似値を直接、算出するならば、前記実数又は前記実数の逆数の整数部分のみの桁数から１を引いた差を加える代わりに前記差を引き、最後に１を加える代わりに１を引けばよい。その際の数式１５及び数式１６においては、各々の数式中の各々二つ存在する＋記号を−記号に各々置き換える。ただし、｜Ｙ｜をＹと置き換え、前記実数又は前記実数の逆数を負のままで代入する。
【０１０３】  与えられた実数の絶対値が１のときは小数第一位から下位に向かってみて連続して並ぶ０が無限個又はｍ−１個存在するとして、すなわちξの値を∞又はｍ−１とすると、数式１６の右辺は、前者で１、後者でも許容桁数の制約によって、やはり１となり、初算出としての正の実根として算出されるべき１が算出される。前記実数が−１のときで、段落番号「０１０１」の段落に記載した算出手段を用いると、算出されるべき−１が算出される。
【０１０４】  以下、請求項８に記載のプログラムについて説明する。
【０１０５】  段落番号「００１９」の段落に記載した電子計算機を用いるとし、許容桁数を１２とすると、指数とする数が少なくとも７・１０１０乗より小さいとき、初算出としての正の実根の真の値より小さい数値を初期値の代わりに用いる数値若しくは初期値として数式１の演算を行うと、前記実根の真の値の上位十二桁に切り捨てた数値との差の絶対値が少なくとも１０−１１の２倍、すなわち２・１０−１１以上であれば、ほぼすべてのケースで加数は１０−１１以上となる。すなわち、入力し得る正の数値としては最小の数値以上となり、そのため、たとえ僅かでも前記実根の真の値に近づき、又、その結果として、次回のサイクルが行われる。
【０１０６】  そのため、指数とする数が極めて大きく、かつ初期値の誤差率が小さくなければ、数式１の演算のサイクルは比較的多数となるものの、ほぼすべてのケースで誤差は２・１０−１１未満である。すなわち、ほぼすべてのケースで、誤差は、入力し得る正の数値としては最小の数値の二倍の数値より小さい。なお、これは、少なくとも、許容桁数より２小さい数を指数とし、１０を底とする累乗に７を乗じた積より小さい数を指数とするとき、ほぼすべてのケースで起こる。ただし、与えられた実数の絶対値が１より小さいときには逆数計算による影響により生じる誤差が累積することに留意する。
【０１０７】  請求項８に記載のプログラムは、請求項７に記載のプログラムにおいての数式１５と数式１６のいずれの演算も適用外のとき、すなわち与えられた２以上の自然数が、許容桁数より２小さい数を指数とし、１０を底とする累乗に５を乗じた積より小さいとき、数式１５又は数式１６の演算を一回行って得られる結果を初期値として用いるものである。ただし、与えられた２以上の自然数が前記積より小さくないときには、請求項７に記載のプログラムと同様に、数式１５又は数式１６を用いて得られる数値を初算出としての正の実根として算出する。数式１５又は数式１６により得られる結果の初算出としての正の実根に対する誤差率は、指数とする数によっては大きいことに留意する。
【０１０８】  以下、請求項９に記載のプログラムについて説明する。
【０１０９】  与えられた実数又は前記実数の逆数の整数部分のみの桁数が与えられた２以上の自然数の桁数より大きいとき、前記実数の絶対値又は前記絶対値の逆数は、１以上で、かつ前記自然数を指数とし、１０を底とする累乗より小さい数、すなわち１以上１０ｍ未満の数と、前記自然数を指数とし、１０を底とする一つ又は複数の累乗との積として一通りで書ける。例えば、与えられた実数は１２３４５６７８９で与えられた２以上の自然数は３として近似値を算出するとする。すると、下記の数式１７が成り立つので、これを利用する。
【０１１０】
【数１７】
2020035408.tif 000018
【０１１１】  その結果、数式１の演算を実施するにあたっては、１以上１０ｍ未満の数の実根の近似値の算出ですむ。そして、前記近似値に一つ又は複数の１０を乗じるのみで、初算出としての正の実根を得られる。一つ又は複数の１０を乗じる際には、誤差の累積は生じず、又、整数部分のみの桁数が許容桁数を超えることもない。なお、一つ又は複数の１０を乗じる代わりに、それら１０の個数を指数とし、１０を底とする累乗、すなわち１０２を前記近似値に乗じてもよい。
【０１１２】  請求項９に記載のプログラムは、請求書７又は請求書８に記載したプログラムにおいて、以上に説明したようにして初算出としての正の実根の近似値を算出し、その結果として、数式１の演算のサイクルを少なくするものである。数式１７の実例においては、３√（１２３．４５６７８９）の近似値４．９７９３３８５９２１９に２つの１０を乗じて又は１０２を乗じて、求める実根の近似値４９７．９３３８５９２１９を得る。３√（１２３４５６７８９）の真の値は４９７．９３３８５９２１８１７４…である。
【０１１３】  段落番号「０１０５」の段落に記載した電子計算機及び許容桁数の条件で数式１５を用いて得られる数値を初期値として用いても、数式１７を利用せず与えられた実数である１２３４５６７８９そのものを用いて算出すると、数式１の演算のサイクルを二十二回要する。しかし、数式１７を利用すると、九回のサイクルですむ。
【０１１４】  なお、請求項９に記載のプログラムを同じ条件で用いると、与えられた実数と与えられた２以上の自然数がいずれも入力し得る数である限りすべてのケースで最多でも二十回のサイクルですむ。二十回のサイクルを要する一例として、前記実数が入力し得る数値のうちで最大のものである９９９９９９９９９９９９で前記自然数が数式１７の適用外となるもののうちで最小のものである１２のケースがある。なお、十九回目及び二十回目のサイクルで同数の結果を算出して数式１の演算を終了するため、初算出としての実根をはじめて算出するサイクルとしては、十九回目のサイクルである。
【０１１５】  数式１５又は数式１６を用いて得られる数値を初期値として用いると、指数とする数が小さければ小さいほど、又、与えられた実数の絶対値又は前記絶対値の逆数が大きければ大きいほど、誤差率が大きくなりやすく、要するサイクルは多くなりやすい。しかし、指数とする数が小さければ小さいほど、又、前記絶対値又は前記絶対値の逆数が大きければ大きいほど、数式１７を適用されやすくなるため、要するサイクルを効果的に少なくできる。
【０１１６】  なお、数式１７の第四辺中の因数のうちで実根の算出を要する唯一のものである３√（１２３．４５６７８９）においての１２３．４５６７８９に相当する数が１であれば、その実根は、与えられた２以上の自然数に限らず１又は±１である。そして、その結果として、初算出としての正の実根は、自然数を指数とし、１０を底とする累乗となる。
【実施例】
【０１１７】  実施例を記載するにあたって、特に断りがない限り、与えられた実数が負のときは前記実数の絶対値を用い、すなわち請求項２以降で請求項３以外の請求項に記載のプログラムを用いるとする。繰り返すが、特に断りがない限り、整数部分が０か否かにかかわらず最高位から小数部分を含めて桁数を数えるとする。例えば０．００１２３４５の桁数は８と数えるとする。例えば上位六桁に切り捨てるとすると、その結果は０．００１２３となるとする。特に断りがない限り、許容桁数は１２とする。【０１１８】  そして、桁数が許容桁数を超えると、切り捨てる端数処理を行う電子計算機を用いるとする。許容桁数が１２の電子計算機において、整数部分のみでなく、小数第一位から小数第十一位までの位に入る数字もすべて０であれば、つまり許容桁数の条件を満たす位に入る数字がすべて０であれば、通常、単に０と表示される。特に断りがない限り、許容桁数を超える桁数の累乗計算の算出値は、真の値を許容桁数と同数の桁数に切り捨てた数値ととする。【０１１９】実施例Ｉｉ，ｉｉ，ｉｉｉ
与えられた実数は１２５で与えられた２以上の自然数は３とし、請求項１又は請求項２に記載のプログラムを用いるとする。求める実根の真の値は５である。この実施例では前記実数が正で前記自然数が奇数だから、唯一の実根として正の実根が存在する。この実施例では、前記実数が正であり、かつ絶対値が１以上だから、数式１の演算を用いて直接、算出される実根である初算出としての正の実根を求める実根の近似値としてそのまま表示する。【０１２０】実施例Ｉｉ
まず、初期値を６として算出する。【０１２１】  まず、初期値６を底とし、与えられた２以上の自然数３を指数とする累乗、すなわち６３を算出すると、２１６が得られる。次いで、これを、与えられた実数１２５から引くと、−９１が得られる。次いで、これを初期値に乗じると、−５４６が得られる。次いで、これを前記実数１２５で除すると、−４．３６８が得られる。次いで、これを前記自然数３で除すると、−１．４５６が得られる。次いで、これを初期値に加えると、４．５４４が得られる。【０１２２】  以上に説明したようにして得られる結果４．５４４が、初回のサイクルの結果である。【０１２３】  二回目のサイクルも同様にして行うと、４．９２１７６７３０３８３の結果が得られる。ただし、これは、許容桁数の制約により行われる切り捨ての影響のため、数式１中のａｎに初回のサイクルの結果４．５４４を代入した結果そのものである４．９２１７６７３０３８３９７４…と若干異なるものの、前記結果の上位十二桁に切り捨てて得られる数値と一致する。その一方で、三回目のサイクルの結果は４．９９７５７７２９４８５であり、数式１の右辺に二回目のサイクルの結果を代入した結果そのものと比較しても、前記結果における上位十二桁に四捨五入した結果と比較しても、いずれとも若干異なる。【０１２４】  次いで、四回目のサイクルで得られる結果は４．９９９９９７６５２９５である。次いで、五回目のサイクルで得られる結果は５である。そして、六回目のサイクルで得られる結果も、五回目のサイクルの結果と同数の５である。この実施例では与えられた実数の正負及び与えられた２以上の自然数の奇偶により正の実根が実根として唯一存在し、かつ初算出としての正の実根そのものを求める実根の近似値とするため、最後の二つのサイクルで共通して算出される５を求める実根の近似値として表示する。【０１２５】  以上に説明したようにして、数式１の演算のサイクルを六回行って求める実根の近似値５を算出する。最後の二つのサイクルでいずれも５を算出して数式１の演算を終了するため、求める実根の近似値をはじめて算出するサイクルは、実際には五回目のサイクルである。なお、求める実根の真の値と完全に一致する５を算出するが、これは、演算の際の、特に最後のサイクル中の演算の際の切り捨てなどの影響がたまたま一致するように作用したに過ぎないことに留意する。【０１２６】実施例Ｉｉｉ
次に、初期値を２として算出する。【０１２７】  初回のサイクルから七回目のサイクルまでの結果は順に２．６２４、３．３７２２４４２５９５６、４．１５１４６４０８７５８、４．７４３１９６６４７６３、４．９７４５１２４５２６７、４．９９９７４１０３５８９、そして４．９９９９９９９７３１８である。そして、八回目のサイクル及び九回目のサイクルでいずれも５が算出されるから、求める実根の近似値として５を表示する。【０１２８】実施例Ｉｉｉｉ
次に、与えられた実数が負の場合で、請求項３に記載のプログラムを用いる実施例を記載する。繰り返すが、請求項３に記載のプログラムでは、与えられた実数が負の場合で与えられた２以上の自然数が奇数のとき、負の初期値を用いる。【０１２９】  与えられた実数は−１２５とし、与えられた２以上の自然数を３として、唯一の実根である負の実根を直接、算出する。この実施例では前記実数が負で前記自然数が奇数だから、負の実根が実根として唯一存在し、その真の値は−５である。初期値を−２とする。【０１３０】  初回のサイクルから七回目のサイクルまでの結果は順に−２．６２４、−３．３７２２４４２５９５６、−４．１５１４６４０８７５８、−４．７４３１９６６４７６３、−４．９７４５１２４５２６７、−４．９９９７４１０３５８９、そして−４．９９９９９９９７３１８である。そして、八回目のサイクル及び九回目のサイクルでいずれも−５が算出される。よって、求める実根の近似値として−５を表示する。なお、この実施例で用いるｙの値については、絶対値でなく負のままで用いることに留意する。【０１３１】  段落番号「０１２６」及び「０１２７」の段落に記載した実施例Ｉｉｉと比較する。すると、例えば三回目のサイクルの結果４．１５１４６４０８７５８と、段落番号「０１２８」から「０１３０」までの段落に記載した実施例Ｉｉｉｉの同じく三回目のサイクルの結果−４．１５１４６４０８７５８は、互いに正負が反転するものである。それのみならず他のすべてのサイクルにおいても、各々の対応するサイクルの結果においても、各々互いに正負が反転するものである。要するサイクルの回数も同数である。【０１３２】  請求項２以降で請求項３以外の請求項に記載のプログラムにおいては与えられた実数の正負を反転した１２５の実根が初算出としての実根のため、正負の反転が二回行われるが、結果は変わらない。なお、与えられた実数が負の場合で与えられた２以上の自然数が奇数のとき以外では、請求項３に記載のプログラムと他の請求項に記載のプログラムのいずれとも相違するところはない。【０１３３】実施例ＩＩ
次に、与えられた実数が正で与えられた２以上の自然数が偶数の実施例を記載する。前記実数を７７７７７７７とする。前記自然数を１００とする。初期値を１．１とする。求める実根の真の値は±１．１７１９４８５７３８５２６２…である。【０１３４】  この実施例では正の実根の近似値、つまり１００√（７７７７７７７）の近似値を算出し、次いで、正負を反転して負としたものと合わせて正と負の二つの実根の近似値を求める実根の近似値として表示する。【０１３５】  初回のサイクルから十回目のサイクルまでの結果は順に１．１１０９８０５１０２７、１．１２２０３７１６６３８、１．１３３１１３０３５３２、１．１４４０５４４５５８８、１．１５４４６６３６６３７、１．１６３４４２６７９５３、１．１６９４６１６０３６５、１．１７１６９９７８９４９、１．１７１９４５９２５４０、そして１．１７１９４８５７３５５である。【０１３６】  そして、十一回目のサイクル及び十二回目のサイクルでいずれも１．１７１９４８５７３８５が算出されるから、これと、これの正負を反転して得られる数値の二つの数値、すなわち±１．１７１９４８５７３８５を求める実根の近似値として表示する。【０１３７】実施例ＩＩＩ
次に、請求項６に記載のプログラムを用いて、初回のサイクルの結果が１より小さいため初期値を新たに選定する実施例を記載する。【０１３８】  与えられた実数は−７７７７７７７とする。与えられた２以上の自然数は１５とする。求める実根の真の値は−２．８７９９８５９２８４４２６１…である。【０１３９】  この実施例では、与えられた実数が負で与えられた２以上の自然数が奇数のため、与えられた実数の代わりに与えられた実数の絶対値を用いて正の実根の近似値を算出し、次いで、正負を反転して求める実根の近似値を算出する。つまり、まず、１５√（７７７７７７７）の近似値を算出する。その際、正の初期値を用いる。【０１４０】  初期値を４とする。すると、初回のサイクルの算出値は−３２．５４７３４２４０９０となり、初回のサイクルの結果が１より小さい数値となったため、初期値を新たに選定する。【０１４１】  そこで、初めに用いた初期値４を１．２で除する。そして、その結果の上位十二桁に切り捨てた結果は３．３３３３３３３３３３３となるため、これを新たな初期値として用いる。【０１４２】  すると、数式１の演算を一回行って得られる結果は１．５６４３６３３７４２９となり、１以上の結果となる。そこで、続けて数式１の演算を繰り返し行うと、新たに初期値を選定してから数えて十五回目のサイクル及び十六回目のサイクルでいずれも２．８７９９８５９２８４４が算出されるから、初算出としての正の実根として２．８７９９８５９２８４４が得られる。【０１４３】  そして、この数値の正負を反転して得られる−２．８７９９８５９２８４４を求める実根の近似値として表示する。【０１４４】  なお、再選定後の新たな初期値３．３３３３３３３３３３３において、前記初期値を底とし、与えられた２以上の自然数を指数とする累乗で与えられた実数の絶対値を除した商０．１１１６０２５９８８４…が０にやや近い、言い換えれば、前記初期値が数式２の値にやや近い数値である結果として比較的多数のサイクルを要する。そのため、再び初期値の選定を行うとよい。その際、３．３３３３３３３３３３３を１．２で除し、その商の上位十二桁に切り捨てた結果２．７７７７７７７７７７７を新たな初期値として用いるとする。すると、再々度選定後の初期値を用いてから数えて六回目、すべてのサイクルを数えても八回目のサイクルで初算出としての正の実根が得られる。【０１４５】  なお、この実施例では、再選定後の初期値３．３３３３３３３３３３３は初算出としての正の実根より大きく数式２の値より小さいから、初回のサイクルの結果は０より大きく初期値より小さいが、それのみでなく、初期値より初回のサイクルの結果の方が初算出としての正の実根に対する誤差率が大きい。ただし、求める実根の近似値として得られる最終的な算出値の誤差率は特に変わりはない。【０１４６】実施例ＩＶ
与えられた実数は５５５で与えられた２以上の自然数を１２５として、再度、請求項６に記載のプログラムの手段で実根を算出するとする。真の値は１．０５１８５１２８９８９７１４…である。【０１４７】  初期値を１．１とする。すると、数式１の演算を一回行って得られる結果は−１．２５８６２０１１７６６となり、１より小さいため、初期値の再選定を行う。【０１４８】  そこで、はじめに用いた初期値１．１を１．２で除して上位十二桁に切り捨てると、得られる結果は０．９１６６６６６６６６６である。しかし、１より小さいため、１以上の数値を新たな初期値として用いる。加えて、はじめに１．１を初期値に用いて再選定の必要を有するため、１．１より小さくする必要も有する。つまり、１以上１．１未満の数値を初期値として再選定する。【０１４９】  １を新たな初期値として用いると、１以上、かつ初算出としての正の実根の真の値より小さい数値を初期値として用いるときとしては、最も多くのサイクルを要する。しかし、それでも１を新たな初期値として用いてから数えて十二回目のサイクルで、初算出としての正の実根１．０５１８５１２８９８９が得られる。ただし、指数とする数がかなり大きかったり、与えられた実数の絶対値又は前記絶対値の逆数が１に近かったりしない限り、多数のサイクルを要し、非効率的である。なお、数式３の範囲の上限近傍値を初期値に選定すればするほど、初期値を再選定する必要を有しやすい。又、初期値を再選定する効果も大きい。【０１５０】  なお、負の実根が存在するときで、負の実根の近似値又は前記実根の逆数そのものの近似値を算出するならば、請求項５に記載のプログラム及び請求項６に記載のプログラムにおいては数式１の演算を一回行って得られる結果が１より小さくなると再選定するのに対して、−１より大きくなると、−１以下の負の数を新たな初期値として再選定する。【０１５１】実施例Ｖｉ，ｉｉ
次に、与えられた実数の絶対値が１より小さい場合の実施例を記載する。請求項４に記載のプログラムを用いて算出するとする。なお、請求項１２などの請求項に記載のプログラムを除いて、特に断りがない限り、数式１の演算中の二つの除算において、与えられた実数で除する除算の方を先に行うものとする。【０１５２】  与えられた実数は０．０００１２３で与えられた２以上の自然数を７として請求項４に記載のプログラムを用い、実根として唯一存在する正の実根の近似値を算出するとする。前記実数の絶対値が１より小さいため、前記絶対値の逆数を利用して算出する。この実施例では与えられた実数が正で与えられた２以上の自然数が奇数だから、正の実根が実根として唯一存在する。求める実根の真の値は０．２７６３２１７１５１４３０８…である。【０１５３】実施例Ｖｉ
この実施例は与えられた実数の絶対値が１より小さいから、まず、前記実数の逆数の近似値である８１３０．０８１３００８１の正の実根の近似値を算出する。初期値を２とする。なお、与えられた実数の逆数の真の値は８１３０．０８１３００８１３００…であるが、許容桁数を超えると切り捨ての端数処理を行う条件の下で得られる逆数計算の結果は、前記結果の真の値においての同じく許容桁数と同数の桁数に切り捨てた結果と一致する。なお、８１３０．０８１３００８１の正の７乗根の真の値は３．６１８９７０００９２２３２４…である。【０１５４】  初回のサイクルから八回目のサイクルまでの結果は順に、２．２８１２１５９９９９９、２．５９４２１７４００１３、２．９２８７７３８０８１２、３．２５２０４５２７２７９、３．４９６８０６９４９２０、３．６０３５４２７９９３１、３．６１８７０９１８３１１、そして３．６１８９６９９３４０４である。そして、九回目のサイクル及び十回目のサイクルでいずれも３．６１８９７０００９２２が算出される。【０１５５】  そして、その逆数においての許容桁数と同数の桁数に切り捨てた結果は０．２７６３２１７１５１４と算出されるから、この算出値を求める実根の近似値として表示する。【０１５６】  整数部分が０か否かにかかわらず最高位から小数部分を含めて数えた桁数が許容桁数を超えると端数処理を行う電子計算機を用い、与えられた実数の絶対値が０以外で１より小さいときでも前記絶対値そのものを用いて直接、算出すると、誤差率は比較的大きくなる。その誤差率は、数式１の演算中においての前記実数で除する除算と与えられた２以上の自然数で除する除算の順番によっても大きく異なり得る。前記絶対値の大小によっても大きく異なる。ただし、前記絶対値が０近傍の場合で前記絶対値そのものを用いて算出するとき以外は極めて僅かな差でしかない。【０１５７】  与えられた実数そのものを用いるとし、前記実数で除する除算を先に行い、次いで与えられた２以上の自然数で除する除算を行うと、０．２７６３２１７０５５２以上０．２７６３２１７２７９８以下のいずれかの数値が算出される。逆に、前記自然数で除する除算を先に行い、次いで前記実数で除する除算を行うと、０．２７６３２１６３４９２以上０．２７６３２１７９８５８以下のいずれかの数値が算出される。前記実数の絶対値が１より小さいため、前記実数で除する除算の結果は絶対値が大きくなる一方で、前記自然数で除する除算の結果では逆に絶対値が小さくなり、それゆえ、前者の方が算出され得る数値の存在範囲が小さい。【０１５８】実施例Ｖｉｉ
しかし、整数部分から桁数を数えるとは限らず最高位から下位に向かってみて０以外の数字がはじめて現れる位から数えた桁数においての許容桁数の条件を満たす全桁の算出を行う電子計算機で算出するとすると、与えられた実数０．０００１２３そのものを用いて直接、算出しても、誤差率は特に変わりはない。【０１５９】  例えば実施例Ｖｉにおいて、初期値を０．２として算出するとする。すると、初回のサイクルから六回目のサイクルまでの結果は順に、０．２２５５９８１４１６９５、０．２５００３３８７２６２９、０．２６８０１１６０７８８５、０．２７５３７９９６３１３７、０．２７６３０８９６３６７１、そして０．２７６３２１７１２７８９である。そして、七回目のサイクル及び八回目のサイクルで共通して算出される０．２７６３２１７１５１４３においての許容桁数の条件を満たす全桁の数字は、端数処理の影響があるものの、すべて一致する。なお、段落番号「０１５４」及び「０１５５」の段落で実施したときより要するサイクルが少ないが、単に初期値の誤差率が小さいからである。【０１６０】実施例ＶＩｉ，ｉｉ
請求項７に記載のプログラムは、指数とする数が、許容桁数より２小さい数を指数とし、１０を底とする累乗に５を乗じた積より小さくない場合、すなわち許容桁数が１２の電子計算機においては５・１０１０より小さくない数を指数とする場合、数式１５又は数式１６の演算を一回行って、初算出としての正の実根を直接、算出するものである。【０１６１】実施例ＶＩｉ
その実施例を挙げる。与えられた２以上の自然数、すなわち指数とする数は１．５×１０１１とする。与えられた実数は９８７６５４３２１０とする。求める実根の真の値は±１．０００００００００１５３４２…である。指数とする数が段落番号「０１６０」の段落に記載した積より小さくないため、数式１５又は数式１６の演算を一回行って、初算出としての正の実根を直接、算出する。この実施例では、前記実数の絶対値が２より大きいため、数式１５を用いる。【０１６２】  まず、１０を底とし、与えられた実数の桁数と同数の数を指数とする累乗、つまり１０１０で前記実数の絶対値を除した商０．９８７６５４３２１を算出する。次いで、前記実数の桁数から１を引いた差と等しい数９を前記商に加えた和を算出する。次いで、前記和に２．３を乗じた積２２．９７１６０４９３８３を算出する。次いで、前記積を与えられた２以上の自然数で除した商を算出する。次いで、前記商である０．０００００００００１５に１を加える。【０１６３】  以上に説明したようにして得られる結果１．０００００００００１５と、前記結果の正負を反転して得られる結果の二数、つまり±１．０００００００００１５を求める実根の近似値として表示する。【０１６４】  請求項８に記載のプログラムは、許容桁数が１２の条件の下では、指数とする数が５・１０１０より小さい場合、数式１５又は数式１６の演算を一回行って得られる算出値を初期値として用いるが、実施例ＩＩに用いるとすると、数式１５を用いて１．１５５８８８８８７１が得られるため、この数値を初期値として用いる。すると、段落番号「０１３３」から「０１３６」までの段落で実施したときでは十二回のサイクルを要したのに対して、七回ですむ。【０１６５】  指数とする数が極めて大きいときにこの算出手段を用いると、要するサイクルは少なくなりやすい。例えば５５５５５の１０１０乗根では、三回のサイクルのみですむ。１２３４５６の１０１０乗根では、数式１５の演算手段で得られる結果が、求める実根のうちの正の方の真の値における上位十二桁に切り捨てた結果と一致するため、初回のサイクルのみですむ。ただし、指数とする数があまり大きくない場合、誤差率が比較的大きいため、条件によっては、かえって多数となるときもある。【０１６６】実施例ＶＩｉｉ
例えば与えられた実数が１．００００４５６の場合のような整数部分が１の場合には、段落番号「０１６２」の段落で行った演算中で０．０００００００００１５に１を加える加算の際の被加数である０．０００００００００１５に相当する数値を、前記実数の小数第一位から下位に向かってみて連続して並ぶ０の個数を指数とし、１０を底とする累乗である１０４で除する。そして、その結果に１を加える。【０１６７】  ただし、小数第一位に入る数字が０でないときには、１００、すなわち１で除することになり、この除算は結果に影響を与えない。なお、与えられた実数の絶対値又は前記絶対値の逆数が２より大きいときに、数式１６中のξの値を０として数式１６を用いても、同じ理由から、結果は変わらない。【０１６８】  この１．００００４５６を与えられた実数とし、与えられた２以上の自然数は５０として実根を算出するとする。求める実根の真の値は±１．００００００９１１９７９６２…である。段落番号「０１６６」の段落で説明したように１０４で除する除算を実行して得られる結果である１．００００００４６００２を用いるときに対して、前記除算を実行せずに得られる結果である１．００４６００２０９７６を用いるときは、誤差率がかなり劣り、その結果、要するサイクルが多い。【０１６９】  前者のときは二回のサイクルですむ。その一方で、後者のときには、初回のサイクルの結果０．９９９４１８６３８７４が１より小さくなり、そのため、例えば１を初期値として再選定すると、初期値の再選定により記差率が小さくなったにもかかわらず、はじめの初期値を用いて行った一回と合わせて全部で四回のサイクルを要する。【０１７０】  なお、請求項７のプログラムでこの演算手段を用いる際には指数とする数は極めて大きく、加えて、与えられた実数又は前記実数の逆数の整数部分が１であれば、つまり前記実数の絶対値又は前記絶対値の逆数が２より小さい数であれば、この除算を省いても、許容桁数がよほど小さくない限りほぼすべてのケースで、切り捨ての影響もあって１が算出される。それゆえ、請求項７に記載のプログラムにおいては、結果的に、前記除算の有無は結果に影響を与えない。なお、この算出値１は、ほぼすべてのケースで、初算出としての正の実根においての真の値を許容桁数と同数の桁数に切り捨てた結果と一致する。【０１７１】  次に、段落番号「０１０８」から「０１１６」までの段落に記載した数式１７を利用する具体的実例について触れる。前記具体的実例においては、３√（１２３．４５６７８９）の近似値４．９７９３３８５９２１９を得るために要するサイクルは九回のみである。そして、前記近似値に１０を二回乗じ、又は１０２を一回乗じさえすればよい。【０１７２】  その一方で、与えられた実数そのものを用いると、３√（１２３４５６７８９）の真の値４９７．９３３８５９２１８１７４…に対しての数式１５の演算手段で得られる初期値７．２２７９８３５３８２３の誤差率が大きいため、二十二回のサイクルを要する。なお、前者においての数式１５を利用する際、１２３．４５６７８９の整数部分のみの桁数は３であるため、数式１５中のｄの値は９でなく３であることに留意する。【０１７３】  次に、段落番号「００８２」から「００８５」までの段落に記載した算出手段の具体的実例を挙げる。１００００００√（３３３）の近似値を算出するとする。【０１７４】  数式１５を用いて得られる１．０００００５３６５９を初期値として用いると、五回目のサイクルで初算出としての正の実根でもあり、求める実根の正の方の近似値でもある１．０００００５８０８１５が算出される。次いで、この算出値を初期値の代わりに用いて数式１の演算を一回行う。【０１７５】  ただし、その演算中において、数式１の右辺中の分子中の乗算を行う前に、一例として１０５を乗じるとする。次いで、与えられた実数３３３で除する代わりに、前記実数を正規化して仮数部に入る数３．３３で除し、次いで与えられた２以上の自然数１００００００で除する代わりに前記実数のときと同様にして得られる数１で除する。すると、その結果として、９３．５７２３１５２５０４が算出される。【０１７６】  与えられた実数を正規化して指数部に入る数は２、与えられた２以上の自然数を正規化して指数部に入る数は６、そして数式１の右辺中の分子中の乗算の直前に行った乗算においての乗数１０５の指数とする数は５だから、それらの和は１３である。よって、９３．５７２３１５２５０４を１０１３で除した結果が本来の数値である。許容桁数の制約の影響により直接には算出できないが、１０を底とし、自然数を指数とする累乗で除するため、小数第十二位から下位に向かって９３５７２３１５２５０４の数字を付け足せばよいと容易にわかる。つまり、求める実根の一方の近似値として１．０００００５８０８１５９３５７２３１５２５０４が得られる。【０１７７】  これは、求める実根のうちの正の方の真の値１．０００００５８０８１５９３５７２７２６…と上位十七桁の数字が一致する。つまり、最高位から下位に向かって連続して数字が一致する上位の桁数は、許容桁数より５大きい。ただし、繰り返すが、許容桁数が１２の条件の下では、一致する前記桁数はわからない。又、指数が一桁の数など小さい数のときには有効でなく、又、指数が極めて大きいときにも有効でない。【０１７８】  指数とする数が極めて大きかったり、与えられた実数の絶対値が極めて小さいときで前記絶対値をそのまま用いたり、演算中に整数部分のみの桁数で許容桁数を超えるような絶対値が極めて大きい数値が算出されたりするときでない限り、ほとんどのケースで、一般的な電子計算機、いわゆる電卓を用いた手計算で極めて精密な近似値が得られ、本プログラムの算出値が近似値として十分であることを確かめることができる。なお、その際に、次の段落で説明する手順で操作して底とする数などの入力の省略を行うとして説明するが、電子計算機のメーカーや機種によっては、異なった手順をとることもあることに留意する。【０１７９】  累乗計算を行う具体的手順として、例えば１２の６乗を計算する際、［１２］→［×］→［＝］→［＝］→［＝］→［＝］→［＝］と操作すると便利である。ただし、「＝」キーの押す回数は指数より１小さい、つまり６回でなく５回押すことに留意する。なお、６乗は平方した結果の立方と等しいから、［１２］→［×］→［＝］→［×］→［＝］→［＝］と操作し、つまり底とする数を切り替えて計算すると、もっと便利である。立方を先に行ってもよい。ただし、許容桁数を超えて切り捨てが行われるとき、底とする数の切り替えのタイミングや有無により若干異なる結果が算出されることはあり得る。【０１８０】  具体的手順を表記する際、例えば２に３を乗じる際、［２］→［×］→［３］→［＝］と表記するとする。メモリー機能を操作するときの表記は、メモリープラスは［Ｍ＋］と、メモリーマイナスは［Ｍ−］と、メモリーコールは［ＭＲ］とそれぞれ表記するとする。それらメモリー機能の各々のキーの各々の表記についても、電子計算機のメーカーや機種によって各々異なる。【０１８１】  実施例Ｉｉを例に用いて、一般的な電子計算機の手計算を行うための具体的手順を次の段落に記載する。その記載どおりに操作すれば、一般的な電子計算機の手計算でも、本プログラムとほぼ同じ結果又は同じ結果が得られる。ただし、段落番号「０１７９」の段落に記載した操作を行って累乗計算をする際に１ずつ指数を増加して算出し、又は累乗計算の途中で底を切り替えるため、平方以外の累乗計算を一度で算出するときと比較して若干異なる数値が算出されることがあり得ることに留意する。ただし、かなり大きな数を指数とするときでも、誤差は小さい。段落番号「０１８３」の段落などに記載することにも留意する。【０１８２】初回のサイクル
［６］→［Ｍ＋］→
［×］→［＝］→［＝］→［−］→［１２５］→［×］→［ＭＲ］→
［÷］→［１２５］→［÷］→［３］→［Ｍ−］→［ＭＲ］
二回目以降のサイクル
…→［×］→［＝］→［＝］→［−］→［１２５］→［×］→［ＭＲ］→
［÷］→［１２５］→［÷］→［３］→［Ｍ−］→［ＭＲ］【０１８３】  サイクルが変わる際に、各々のサイクルの各々の結果を各々メモする必要を有しない。加えて、各々のサイクルの結果を各々そのまま用いて各々計算を継続できる。この具体的手順は、数式１の演算と異なり、初期値又は初期値の代わりに用いる数値の累乗から与えられた実数を引く。そのため、各々のサイクル中で各々最後から二番目に押すキーは、「Ｍ＋」キーでなく「Ｍ−」キーである。これは、数式１の右辺中の第二項中の分子に入る数においては正負を反転して前記項を算出し、これに加えて、前記項を加える代わりに引く、つまり分子に入る数と前記項の全体で二回正負を反転することになり、ゆえに数式１の演算と同値関係である。数式で表わすと、下記の数式１８となる。【０１８４】
【数１８】
2020035408.tif 000019
【０１８５】  数式１の演算中の過程で算出される各々の算出値のうちで累乗計算の算出値以外の各々の算出値のいずれかで０が算出されれば、数式１の演算中に用いる加数が０となるため、直前のサイクルの結果と一致すると区別できる。そして、このとき、サイクル中の最後に「ＭＲ」キーを押して表示される数値を初算出としての実根とする。ただし、０でなくても、桁の欠損により終了するケースもある。初算出としての実根の整数部分のみの桁数が２以上のときに、前記桁数から１を引いた差と同数の桁が欠損する。なお、一般的な電子計算機は、桁の欠損が生じる際には、通常、前記桁は算出値に影響を与えず、本出願書においても、それを前提とする。【０１８６】  初期値又は初期値の代わりに用いる数値の絶対値が１以下であって、前記数値又は前記数値の絶対値そのものを底として行った累乗計算以外で、演算中の過程で算出される各々の算出値のうちで０が算出されるときにおいて、０が表示されるタイミングは、０が算出される演算の次の演算を行う際に演算キーを押した直後に表示される。例えば［÷］→［｜ｙ｜］の演算の結果として０が算出されるときは、その次の演算である［÷］→［ｍ］の演算中の「÷」キーを押した直後に表示される。ただし、［÷］→［ｍ］の演算の結果として０が算出されるときには、「Ｍ−」キーを押した直後に０が表示される。【０１８７】  初回のサイクルと二回目以降のサイクルを比較すると、初回のサイクルの方ははじめの二回のキー操作が余分に必要なことのみが異なる。なお、メモリー機能を用いるメモリー計算を行った後で次の別の計算を続けて行う際には、メモリー機能でメモリーした数値を消去する必要があるが、逆に言えば、メモリー計算を行った後でこの具体的手順の手計算を行う際には、直前に行ったメモリー計算中でメモリーした数値を消去する必要がある。【０１８８】  段落番号「０００９」及び「００２０」の段落に記載したように、与えられた実数と与えられた２以上の自然数と初期値をｙとｍとａｏとそれぞれおき、それらを用いて、初回のサイクルと、ｎ＋１回目のサイクルの具体的手順をそれぞれ次の段落に記載する。初期値又は初期値の代わりに用いる数値の累乗計算については、段落番号「０１９０」及び「０１９１」の段落に記載する手段を用いれば、一般的な電子計算機の手計算でも容易にできる。【０１８９】初回のサイクル
［ａｏ］→［Ｍ＋］→
［×］→［＝］→［＝］→…→［＝］→［−］→［｜ｙ｜］→［×］→［ＭＲ］→      ［÷］→［｜ｙ｜］→［÷］→［ｍ］→［Ｍ−］→［ＭＲ］
ｎ＋１回目のサイクル
…→［×］→［＝］→［＝］→…→［＝］→［−］→［｜ｙ｜］→［×］→［ＭＲ］→      ［÷］→［｜ｙ｜］→［÷］→［ｍ］→［Ｍ−］→［ＭＲ］【０１９０】  実施例ＩＩにおいては、１００乗の手計算を行う必要を有する。その具体的手順の一例として、例えば指数とする数１００は１０と１０の積であり、１０は５と２の積であることに着目する。すると、一例として、［×］→［＝］→［＝］→［＝］→［＝］→［×］→［＝］→［×］→［＝］→［＝］→［＝］→［＝］→［×］→［＝］と操作すれば、一般的な電子計算機でも１００乗を手計算で容易にできる。繰り返しになるが、底とする数を切り替えるタイミングを変えて、平方の計算と５乗の計算の順番を入れ替えたり、５乗の計算を先に続けて二回行った後で平方の計算を二回行ったり、逆に、平方の計算を先に続けて二回行ったりしてもよい。【０１９１】  １０１乗のときのように因数分解ができなかったり、９９乗のときの１１のような比較的大きい素因数が存在したりするときは、指数とする数を変えればよい。前者においては、まず１００乗を算出し、次いで指数を１増加するため底とする数を一回乗じれば、すなわち１００乗の算出後に［×］→［ＭＲ］と操作すればよい。一方、後者においては、逆に、１００乗の算出後に底とする数で一回除すれば、すなわち１００乗の算出後に［÷］→［ＭＲ］と操作すればよい。これらに加えて、例えば１０２乗を算出するときには、１００乗の算出後に底とする数を二回乗じれば、すなわち１００乗の算出後に［×］→［ＭＲ］→［×］→［ＭＲ］と操作すればよい。【０１９２】  段落番号「０１３３」から「０１３６」までの段落で実施して得られた結果と、前記段落で実施したときと同じく初期値を１．１として段落番号「０１８９」の段落に記載した具体的手順で一般的な電子計算機の手計算を行って得られる結果を比較する。すると、八回目のサイクルにおいて、前者の１．１７１６９９７８９５０に対して後者が１．１７１６９９７８９４９となり、若干異なる数値が算出されるものの、他の十一回の各々のサイクルで対応するサイクルの結果は各々全く同じ数値が各々算出される。要するサイクルも同じ十二回である。つまり、累乗計算を直接は行わず四則計算のみの繰り返し、かつ手計算で、ほぼ同じ結果又は全く同じ結果が得られる。【０１９３】  なお、整数部分が０か否かにかかわらず最高位から小数部分を含めて数えた桁数が許容桁数を超えると端数処理を行い、与えられた実数の絶対値が１より小さい場合で前記絶対値をそのまま用いるときを除いて、許容桁数の１／４と同数以上の上位の桁数の数字、つまり上位三桁以上の数字が直前のサイクルの結果と一致すると、指数とする数がよほど大きくない限り、二回後の若しくは三回後のサイクルの結果は、その次回のサイクルの結果と一致する。ただし、例えば１．２３４０００２７６１２と１．２３３９９９７６７３５のような境目のケースは、上位七桁目に四捨五入すると一致するため、上位七桁が一致するとみなすとする。【０１９４】  指数とする数がある程度大きいときは一般的な電子計算機の手計算では数式１及び数式１８の演算中の累乗計算の際の誤差の影響が比較的大きく、逆に小さいときには数式１及び数式１８��演算手段自体の誤差率が比較的大きいこともあって、指数とする数に限らず許容桁数を超える桁数の数字はほぼ得られない。ただし、前記累乗計算においての許容桁数までに端数処理を行った結果と同数又はほぼ同数の数値さえ得られれば、可能である。【０１９５】  実施例ＩＩで算出した近似値のうちで正の実根である１．１７１９４８５７３８５を数式１と数式１８にそれぞれ代入した結果そのそのものは、いずれも１．１７１９４８５７３８５２６２５２４２０６５６８…である。真の値と上位二十桁の数字が一致する。真の値の上位二十一桁目から二十四桁目までの数字は５３４３である。数式１と数式１８のそれぞれの右辺中の第二項に代入した結果そのそのものは、いずれも２．６２５２４２０６５６８…×１０−１２である。つまり、それさえ算出できれば、許容桁数が１２の条件の下でも、上位二十桁目まで一致する算出値が得られる。ただし、繰り返すが、許容桁数が１２の条件の下では、どの位まで一致するかはわからない。