(57)【要約】【課題】十分な長周期と確率統計的な意味で高い精度で実現される一様独立性とを実現し、検定による性能保障を伴う乱数の新しい検定方法の設計と、その実現に適した乗算合同法の２つの新しい生成機構の設計。【解決手段】従来のスペクトル検定に加えて、乗数ｚのいくつかの低次冪の２次スペクトル検定による簡単で強力な検定の設計を与えて乗算合同法乱数列の独立性の向上を実現し、また２つの奇素数冪の積を法とする構成を利用してこのように増大する検定計算量の困難を軽減し、且つ乱数列のより長い使用可能周期を実現する部分周期の有利なずらし或いは離調を実現する新しい設計を加えて、より優れた確率統計性を持つ一様独立乱数のより容易な産出に資する。【選択図】なし【特許請求の範囲】
【請求項１】
乗算合同法を用いて一様独立乱数を生成する新しい方法、即ち正の奇数の法ｄ及びｄとは素な整数の乗数ｚの組（ｄ、ｚ）に基づき、任意に与えられたｄとは素な初期値ｎから出発し整数列｛ｒ１、ｒ２、ｒ３、・・・｝を漸化合同式
［数式１］ｒ１≡ｎ  ｍｏｄ（ｄ）、  ０＜ｒ１＜ｄ、
ｒｋ≡ｚｒｋ−１  ｍｏｄ（ｄ）、  ０＜ｒｋ＜ｄ、ｋ＝２、３、・・・
で定め、除法の等式ｖｋ：＝ｒｋ／ｄを実現して一様独立乱数列｛ｖｋ｜  ｋ＝１、２、・・・｝を与える乗算合同法（ｄ、ｚ）において、法ｄでｚ'：≡ｚｊとして定義されるｚ'が少なくとも範囲１≦ｊ≦６の冪指数について乗算合同法（ｄ、ｚ'）としての相続く出力乱数の２連の一様独立性を評価する２次スペクトル検定の合格条件ρｄ（２）（ｚ'）＜１．２５、即ち２次元逆格子の基ベクトル
[数式２]ｆ１：＝（ｄ、０）、  ｆ２：＝（−ｚ'、１）
の任意整数ｍ１、ｍ２を係数とする１次結合のベクトルｆ＝ｍ１ｆ１＋ｍ２ｆ２の長さ
[数式３]‖ｆ‖：＝｛（ｄｍ１−ｚ'ｍ ２）２＋（ｍ２）２｝＾（１／２）＞０
の正の最小値を与えるベクトルｆｍｉｎを見出し、その長さａｄ（２）（ｚ'）：＝‖ｆｍｉｎ‖を算出して、それが
[数式４]ρｄ（２）（ｚ'）：＝２１／２ｄ１／２／{３１／４ａｄ（２）（ｚ'）｝＜１．２５
を成立させるという合格条件、で乗数ｚを選んで得られる乗算合同法を用いて一様独立乱数を生成する方法。
【請求項２】
正の整数の法ｄ及びｄと素な任意の整数乗数ｚに基づく乗算合同法乱数生成方法、即ち正の奇数の法ｄ及びｄとは素な整数の乗数ｚの組（ｄ、ｚ）に基づき、任意に与えられたｄとは素な初期値ｎから出発し整数列｛ｒ１、ｒ２、ｒ３、・・・｝を漸化合同式
［数式１］ｒ１≡ｎ  ｍｏｄ（ｄ）、  ０＜ｒ１＜ｄ、
ｒｋ≡ｚｒｋ−１  ｍｏｄ（ｄ）、  ０＜ｒｋ＜ｄ、ｋ＝２、３、・・・
で定め、除法の等式ｖｋ：＝ｒｋ／ｄを実現して一様独立乱数列｛ｖｋ｜  ｋ＝１、２、・・・｝を与える乗算合同法（ｄ、ｚ）において、法の整数ｄと乗数ｚとが次の特別な形の５条件、
［条件１］
ｄは、異なる２つの奇素数ｐ１、ｐ２の整数の指数ｉ１≧１及び整数の指数ｉ２≧１に対する冪、ｄ１＝ｐ１＾ｉ１、及びｄ２＝ｐ２＾ｉ２、の積ｄ＝ｄ１ｄ２＝（ｐ１＾ｉ１）×（ｐ２＾ｉ２）である、
［条件２］
前記の奇素数ｐ１はｐ１＝２ｑ＋１の形、奇素数ｐ２はｐ２＝４ｒ＋１の形をそれぞれ持ち、ｑ、ｒは共に奇素数であり、オイラーの関数φ（ｄ１）＝２ｐ１＾（ｉ１−１）ｑ及びオイラーの関数φ（ｄ２）＝４ｐ２＾（ｉ２−１）ｒは２以外の共通素因数を持たない、
［条件３］
乗数ｚは互いに素な上記ｄ１及びｄ２をそれぞれ法とする連立合同式
ｚ≡ｚ１  ｍｏｄ（ｄ１）、    ｚ≡ｚ２  ｍｏｄ（ｄ２）、
によってｄを法として一意に孫子の定理（中国剰余定理）により定められる整数である、
［条件４］
ｚを法ｄ１＝ｐ１＾ｉ１で定める整数ｚ１は成分の法ｄ１での原始根であるか、原始根のマイナスであるか、である、
［条件５］
ｚを法ｄ２＝ｐ２＾ｉ２で定める整数ｚ２は成分の法ｄ２での原始根である、
を満たす乗算合同法乱数生成方法。
【請求項３】
正の整数の法ｄ、ｄと素な任意の整数乗数ｚに基づく乗算合同法乱数生成方法、即ち正の奇数の法ｄ及びｄとは素な整数の乗数ｚの組（ｄ、ｚ）に基づき、任意に与えられたｄとは素な初期値ｎから出発し整数列｛ｒ１、ｒ２、ｒ３、・・・｝を漸化合同式
［数式１］ｒ１≡ｎ  ｍｏｄ（ｄ）、  ０＜ｒ１＜ｄ、
ｒｋ≡ｚｒｋ−１  ｍｏｄ（ｄ）、  ０＜ｒｋ＜ｄ、ｋ＝２、３、・・・
で定め、除法の等式ｖｋ：＝ｒｋ／ｄを実現して一様独立乱数列｛ｖｋ｜  ｋ＝１、２、・・・｝を与える乗算合同法（ｄ、ｚ）において、法の整数ｄと乗数とｚとが次の特別な形の５条件、
［条件１'］
ｄは、異なる２つの奇素数ｐ１と奇素数ｐ２の整数の指数ｉ１≧１及び整数の指数ｉ２≧１に対する冪ｄ１＝ｐ１＾ｉ１と冪ｄ２＝ｐ２＾ｉ２の積、ｄ＝ｄ１ｄ２＝（ｐ１＾ｉ１）×（ｐ２＾ｉ２）である、
［条件２'］
奇素数ｐ１はｐ１＝２ｑ１＋１の形、奇素数ｐ２は形ｐ２＝２ｑ２＋１を持ち、ｑ１とｑ２は共に奇素数であり、オイラーの関数φ（ｄ１）＝２ｐ１＾（ｉ１−１）ｑ１及びオイラーの関数φ（ｄ２）＝２ｐ２＾（ｉ２−１）ｑ２は２以外の共通素因数を持たない、
［条件３'］
乗数ｚは上記ｄ１、ｄ２をそれぞれ法とする連立合同式
ｚ≡ｚ１  ｍｏｄ（ｄ１）、    ｚ≡ｚ２  ｍｏｄ（ｄ２）
によりｄを法として中国剰余定理（孫子の定理）により一意に与えられる整数である、
［条件４'］
ｚを法ｄ１＝ｐ１＾ｉ１で定める整数ｚ１は部分法ｄ１での原始根であるか、原始根のマイナスであるか、である、
［条件５'］
ｚを法ｄ２＝ｐ２＾ｉ２で定める整数ｚ２は部分法ｄ２での原始根であるか、原始根のマイナスであるか、である、
を満たす乗算合同法乱数生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ上の一様独立乱数生成方法に関する。
【０００２】
クロネッカーは神は自然数を作り給うた、その余はすべて人の技である、と言った。彼の慧眼は、神の作り給うた自然数、或いは漸化式ｘ０＝１、ｘｋ＋１＝ｘｋ＋１の上に優れた人々の計算、観察、推論、論証がその後重ねられて、様々な数、幾何学、解析学、そして代数学が我々に与えられた、と見通したのだろう。我々は数学の美や深さを知るといえる状態からは程遠い。しかし数学の壮大な大系がすべて、上の最も単純な漸化式の上に築かれているという示唆は我々を勇気付ける。我々は乱数をコンピュータ上で生成する試みを述べる。特に我々はコンピュータ上では任意の一様独立乱数は乗算合同法で生成されたもので表される事を示し、この事実を乱数生成の技術的基礎とする。我々の行いが神をも恐れぬものではない事を、神々の御加護が我々に輝かしい実現可能な構造を恵まれん事を願う。
【０００３】
不純物のない蒸留水の使用は安定した正確な化学反応に欠かせない。種々の統計に従う乱数は一様独立乱数から高い精度の保障された関数変換で得られる。高い一様独立性の統計精度を持つ乱数の生成は、様々な乱数を必要とするシミュレーションを行うべきコンピュータになくてはならない。我々の目的は大きく改善された高精度の一様性と独立性を持つ乱数の生成方式の新しい発明の提示である。一般に確率と確率過程の議論では数の連続性と列の無限性が重要な前提である。それは極限定理やエルゴード諸定理という大きな簡単化と構造の一般化を可能にする。対比して、コンピュータは、たとえ大きいとしても有限の長さＴの数列しか扱えない。またコンピュータ上の実数は正の最小単位を持つ離散的存在でなければならない。数列の長さＴの有限性と扱う数の離散性は通常困難を引き起こす。しかしそれを明確に意識する事は、無限や連続にまつわる様々形而上学的な、例えばコンピュータ上に乱数を生成する事が一体可能か、といった問題から我々を解放する。我々はこの有限性と離散性を明確に前提して進み、利点を発見する。すぐに説明される様に、それは我々が一様独立乱数の乗算合同法のみに集中してよい、と告げる。我々は乗算合同法を次の５項目で定義する：
（１）正の整数の法ｄを持つ、
（２）正の整数ｚで法ｄとは素な乗数ｚを持つ、
（３）正の整数ｎで法ｄとは素な初期値ｎを持つ、
（４）整数の列｛ｒ１、ｒ２、ｒ３、・・・｝を次の合同式で生成する：
［数１］ｒ１≡ｎ、ｒｊ＋１≡ｚｒｊ  ｍｏｄ（ｄ）、０＜ｒｊ＜ｄ、ｊ＝１、２、３、・・・、
（５）そして乱数列｛ｖ１、ｖ２、ｖ３、・・・｝を次の演算で順次出力する、
［数２］ｖｊ＝ｒｊ／ｄ、  ０＜ｖｊ＜１、  ｊ＝１、２、３、・・・。
以下、法ｄ、乗数ｚ、初期値ｎの乗算合同法一様独立乱数生成方式を（ｄ、ｚ、ｎ）と略記する。議論に初期値ｎが無関係なら同じ方式を（ｄ、ｚ）とも略記する。乱数列の全情報は（ｄ、ｚ、ｎ）の３つの数に圧縮されたわけではない；それは（ｄ、ｚ、ｎ）及びそれに基づく膨大な計算作業の総体として得られる；丁度暗号文の情報が復号方式と膨大な計算による解読作業の総体として得られるように、である。混乱を避け、また記法の便宜のため以下では複雑な指数を持つ冪は（ｐｉ）＾（ｊｋ）の様にも記す。
【背景技術】
【０００４】
一般的な問題の技術的或いは数学的特徴付けから始める。コンピュータ上の乱数生成機構は再現可能性を求められる；再現可能性とは、特に使用者がシミュレーションプログラムのデバッグを必要とするとき、その要求に応じて完全に同一の乱数列を完全に任意の値から再度出力できる性質を言う。また、乱数生成機構は移植可能性、即ちそれらを他のコンピュータ或いは計算言語に移植しても同一の乱数列を発生できる性質、を持つ事を求められる。そしてシミュレーションは通常記憶装置に備蓄して使用できる限界を遥かに超える量の乱数を必要とする。こうしてコンピュータ上の乱数は、長大計算で制御し難く累積する打ち切り或いは丸めの誤差を持たず、計算言語への依存性もない整数演算のみを用いて順次生成されなければならない。具体的に言えば、整数列｛ｘ１、ｘ２、ｘ３、・・・、ｘＴ｝で条件０≦ｘｋ＜ｚをすべてのｋと十分大きい整数ｚに対して満たすものを整数演算で生成し、順次ｋ＝１、２、・・・に対してｕｋ＝ｘｋ／ｚの算出のみ実数計算を実現して一様独立乱数として出力しなければならない。任意の計算機上で次の出力を算出するために用い得る異なる状態総数は必ず有限である。故に初期状態は必ず再現し、出力できる乱数の総数Ｔは必ず有限である。整数の任意の有限列｛ｘ１、ｘ２、ｘ３、・・・、ｘＴ｝を取り、条件０≦ｘｋ＜ｚをすべてのｋ＝１、２、・・・で満たすと仮定する。この列は自明に、次の既約分数ｎ／ｄの基数ｚでの割り算で得られる循環小数の循環節に対応する：
［数３］ｘ＝０．ｘ１ｘ２・・・ｘＴ  ｘ１ｘ２・・・ｘＴ  ・・・
＝（ｘ１ｚＴ−１＋ｘ２ｚＴ−２＋・・・＋ｘＴ）／（ｚＴ−１）
＝ｎ／ｄ、  ０＜ｎ＜ｄ、  ０＜ｘ＜１。
ここで我々は｛ｘ１、ｘ２、ｘ３、・・・、ｘＴ｝はすべて０、或いは全てｄ−１、のつまらぬ場合ではないと仮定して０＜ｘ＜１に簡単化した。分母ｄはｚＴ−１の因数だからｚとは互いに素である。分子ｎのそれとは素な分母ｄによる割り算は終わる事なく続き、次の諸式で表される：
［数４］ｚｎ＝ｄｘ１＋ｒ１、  １≦ｒ１＜ｄ、０≦ｘ１＜ｚ、
ｒ１≡ｚｎ  ｍｏｄ（ｄ）、
ｚｒｋ−１＝ｄｘｋ＋ｒｋ、  １≦ｒｋ＜ｄ、０≦ｘｋ＜ｚ、
ｒｋ≡ｚｒｋ−１  ｍｏｄ（ｄ）、
ｋ＝２、３、・・・。
第２式をｄｚで割ったものは鍵となる次の評価を与える：
［数５］０＜ｒｋ−１／ｄ−ｘｋ／ｚ＝ｒｋ／（ｄｚ）≦１／ｚ、ｋ＝１、２、・・・、
ｒ０：＝ｎ，１≦ｒ０＜ｄ。
この評価式は、除法ｎ／ｄで余りが小さければ次の段の商は小さい、という自明の事実を表す。しかし結果は全く自明ではない。実用ではｚは２３０以上だから、誤差の上限１／ｚ＝２−３０は無視できるほど小さい。不等式は、コンピュータ上で用いられるべきどんな一様乱数列｛ｘｋ／ｚ｜ｋ＝１、２、・・・、Ｔ｝も小さい一様誤差限界１／ｚ＜２−３０内で列
［数６］｛ｖｋ：＝ｒｋ−１／ｄ｜ｋ＝１、２、・・・、Ｔ、  ０＜ｖｋ＜１、
ｒｋ−１≡ｎｚｋ−１  ｍｏｄ（ｄ）｝
によって近似される、と示す。これは正確に（ｄ、ｚ、ｎ）で生成される乗算合同法数列である。数学的原理として、従って、我々は十分長い周期Ｔを持ち、優れた一様独立性を持つ乗算合同法（ｄ，ｚ，ｎ）を見出せばよい。この透明で確かな問題構造の把握は、乗算合同法と緊密に結ばれたスペクトル検定の構造からさらに強化される。
【０００５】
現在までの関連技術では乗算合同法（ｄ、ｚ）には２種のものが用いられた。１つは奇素数の法ｄ＝ｐとその原始根ｚの対で構成され、オイラーの関数をφとして周期Ｔ＝φ（ｐ）＝ｐ−１を実現するものである。今１つは法ｄ＝２ｉでｉ≧４のものと法８で５に合同な任意の乗数ｚを用いる周期Ｔ＝２ｉ−２のものである。このどちらの生成法も、全ての乗数の選択の中で最大の周期を実現するものであり、どちらもそれぞれの構造に適したスペクトル検定によって、計算時間の問題はさておいて、優れた独立性を示す乗数の選択を可能にする。現在の発明は前者、奇素数の法と原始根乗数、の直系の子孫である。Fishman and Moore (1986)は彼らの画期的な報告の中でメルセンヌ素数ｄ＝ｐ＝２３１−１を法としてスペクトル検定を行い、一般的且つ決定的な事実、優れた乗数ｚは、法ｄ＝ｐに対しすべての原始根をすべて予見なく exhaustive にスペクトル検定を行う事によってのみ得られる、を見出した。この発見は、しかしながら、基本的な困難、奇素数の法ｄ＝ｐのすべての原始根の exhaustive なスペクトル検定の計算量は３／２より小さくはない指数νでｄν以下ではない事も明らかにするものであった。これはｄが大きくなると検定計算が不可能になる困難である。実際検定計算自体はその時点で最速のコンピュータで行わなければならない。コンピュータはそれに装着された乱数発生ルーチンにコンピュータの使用可能時間内、例えば１ヶ月、に使い切られる最大量Ｔ（それはこのコンピュータが計算可能な計算量である）の乱数の発生を求める。このＴは乱数発生装置が持つべき周期であり、それはＴ≦ｄ／２の構造的限界を持つ。こうしてｃを定数としてコンピュータの計算可能量はｃｄであり、 exhaustive なスペクトル検定の計算量ｄ３／２は、計算機速度の増大につれて必要となるｄの増大と共に計算可能量ｃｄを超える。これが exhaustive なスペクトル検定の計算量不可能性の困難である。Nakazawa and Nakazawa (2012a,b) はこの困難の突破口を２つの奇素数の冪の積を法ｄとする設計に見出した。その方法では必要な計算量がｄν、ν＜１、となり、周期Ｔのｄに対する比は奇素数と原始根乗数の対の場合の１／２と同程度となるものであった。
Fishman and Moore (1986): G. S. Fishman and L. R. Moore, "An exhaustive analysis of multiplicative congruential random number generators with modulus 231-1", SIAM Journal on Scientific and Statistical Computing Vol. 7 (1986), pp. 24-45.
Nakazawa and Nakazawa (2012a): N. Nakazawa and H. Nakazawa, Computational progress in spectral tests of multiplicative congruential generators for uniform and independent random numbers realized by moduluses formed with two odd primes.   Uploaded in the URL http://www10.plala.or.jp/h-nkzw/ on October 26, 2012, with the filename: computable.pdf.
Nakazawa and Nakazawa (2012b): N. Nakazawa and H. Nakazawa, Multiplicative congruential generators with moduluses formed by two odd-prime-factors for uniform and independent random numbers I. Computational analysis of structures.  Uploaded in http://www10.plala.or.jp/h-nkzw/ on September 15-17, 2012, corrected on October 31, 2012, with the filename: revpopesq1.pdf.
【発明の概要】
【０００６】
次に記す（１）−（３）は提示される請求項１-３に対応する発明の概要である。それらは一様独立乱数を生成するそれぞれ独立した新しい方法を述べるが、互いには協力によって生産技術効果を大きく強め合うものである。
（１）奇数の法ｄとｄとは素な乗数ｚの対を選ぶためのスペクトル検定を技術的実現の容易な方法で強化拡張して得られる乗算合同法（ｄ、ｚ）によって、より信頼できる高精度の一様独立性を持つ乱数を生成する方法。
（２）上記強化された検定を実現する計算作業を効率化平易化する手段として、特許第４６６９９７９号及び特許第５２６１８４０号、そして特願２０１３−２１７７５号で扱う乗算合同法（ｄ、ｚ）の法ｄと乗数ｚとを次の５条件２ａ）-２ｅ）、
２ａ）法ｄ＝ｄ１ｄ２は互いに素な２つの因数ｄ１とｄ２の積であり、各因数は２つの異なる奇素数ｐ１、ｐ１からｋ＝１、２に対して冪ｄｋ＝ｐｋ＾ｉｋ、ｉｋ≧１と形作られる、
２ｂ）奇素数ｐ１はｐ１＝２ｑ＋１の形でｑが再び奇素数であり、奇素数ｐ２はｐ２＝４ｒ＋１の形でｒが再び奇素数である、
２ｃ）乗数ｚは法ｄ１での原始根ｚ１によってｚ≡ｚ１  ｍｏｄ（ｄ１）、或いはｚ≡−ｚ１  ｍｏｄ（ｄ１）のどちらかを満たす、
２ｄ）乗数ｚは法ｄ２での原始根ｚ２によってｚ≡ｚ２  ｍｏｄ（ｄ２）を満たす、
２ｅ）前述の奇素数ｐ１、ｐ２、ｑ、ｒはすべて異なる、
でさらに限定し、部分乗算合同法（ｄ１、ｚ１）、（ｄ２、ｚ２）の周期の望ましい離調を実現して得られる(ｄ、ｚ)乗算合同法による一様独立乱数の生成方法。
（３）特許第４６６９９７９号、特許第５２６１８４０号、特願２０１３−２１７７５、の範疇からは外れ、また最大周期の利点を幾分失うが、相続く乱数の独立性に関して原理的にさらに有利な、法ｄと乗数ｚに次の５条件３ａ）−３ｅ）、
３ａ）法ｄ＝ｄ１ｄ２は互いに素な２つの因数ｄ１とｄ２の積であり、各因数は２つの異なる奇素数ｐ１、ｐ１からｋ＝１、２に対して冪ｄｋ＝ｐｋ＾ｉｋ、ｉｋ≧１として形成される、
３ｂ）奇素数ｐ１はｐ１＝２ｑ１＋１の形でｑ１が再び奇素数であり、奇素数ｐ２はｐ２＝２ｑ２＋１の形でｑ２ｒが再び奇素数である、
３ｃ）乗数ｚは法ｄ１での原始根ｚ１によってｚ≡ｚ１  ｍｏｄ（ｄ１）或いはｚ≡−ｚ１  ｍｏｄ（ｄ１）のどちらかを満たす、
３ｄ）乗数ｚは法ｄ２での原始根ｚ２によってｚ≡ｚ２  ｍｏｄ（ｄ２）或いはｚ≡−ｚ２  ｍｏｄ（ｄ２）のどちらかを満たす、
３ｅ）前述の奇素数ｐ１、ｐ２、ｑ１、ｑ２はすべて異なる、
を課して得られる別方式の周期の離調によって得られる乗算合同法（ｄ、ｚ）による一様独立乱数の生成方法。
【０００７】
前述の発明（２）の方法は、まず法ｄ１、ｄ２を定め、法ｄ１の十分多数の原始根ｚ１を取り、かつ法ｄ２の十分多数の原始根ｚ２を取って始められるべきである。実際的にはｚ１、ｚ２を（１）の拡張されたスペクトル検定或いはその一部を部分乗算合同法（ｄ１、ｚ１）、（ｄ２、ｚ２）に適用して選ぶ事が薦められる。次に、得られた±ｚ１とｚ２を次々に取って２ｃ）と２ｄ）の連立合同式から孫子の定理で乗数ｚを構成し、（ｄ、ｚ）に再び第２段階のスペクトル検定（１）を施して、合格者をコンピュータ上の乗算合同法と定める。
【０００８】
同様に上記発明（３）の方法も、法ｄ１、ｄ２の十分多数の原始根ｚ１、ｚ２を取って始められるべきで、望ましくはそれらを（１）の拡張されたスペクトル検定或いはその一部を乗算合同法（ｄ１、ｚ１）、（ｄ２、ｚ２）に適用して選ぶのが得策であろう。次いで得られた±ｚ１と±ｚ２を次々に取って３ｃ）と３ｄ）の連立合同式から孫子の定理で乗数ｚを構成し、（ｄ、ｚ）に第２段階のスペクトル検定（１）を施して、合格者をコンピュータ上の優れた乗算合同法と定める事になる。
【図面の簡単な説明】
【０００９】
【図１Ａ】乗算合同法(ｄ、ｚ)が発生する２連の出力を平面の点と見る場合の典型的な分布図。描かれた図は検定評価値ρ＝ρｄ（２）（ｚ）がほぼ１．０５、１．１０、・・・となる場合である。外枠の正方形は単位正方形を囲む少し大きい正方形である。（ｄ、ｚ）は図の説明から読み取る事ができる。
【図１Ｂ】乗算合同法(ｄ、ｚ)が発生する２連の出力を平面の点と見る場合の典型的な分布図。描かれた図は検定評価値ρ＝ρｄ（２）（ｚ）がほぼ１．０５、１．１０、・・・となる場合である。外枠の正方形は単位正方形を囲む少し大きい正方形である。（ｄ、ｚ）は図の説明から読み取る事ができる。
【図２】Fishman and Moore (1986)によって選ばれた上位５個の優れた乗数の性能表。行ａは彼らの与えた評価値、行１／ａはａ行の数値の逆数で本明細書でρ＝ρｄ（Ｌ）（ｚ）と記すもの、行ｂは発明者によるρ＝ρｄ（Ｌ）（ｚ）の再計算、そして行ｃはρｄ（２）（ｚｊ）のｊ＝２，３、・・・、６の値を表す。
【図３】請求項２の乗算合同法（ｄ、ｚｊ）が持つ位数或いは周期、−１が巡回列に現れるかどうか、そして概算の効率τ＝(実用周期）／ｄ。表２Ａは請求項２の条件４で部分乗数を共に部分法の原始根に取る場合。表２Ｂは同じ条件で部分法ｄ１の部分乗数を原始根のマイナスに取る場合である。
【図４】請求項３の乗算合同法（ｄ、ｚｊ）が持つ位数或いは周期、−１が巡回列に現れるかどうか、そして概算の効率τ＝(実用周期)／ｄの表。表３Ａは請求項３の条件４'、条件５'で部分乗数に共に部分法の原始根を取る場合、表３Ｂはで部分乗数の１つが原始根のマイナスの場合、そして表３Ｃは部分乗数がすべて原始根のマイナスである場合。
【図５】スペクトル検定を与えるＬ次元格子基ベクトルの作る細胞体積がｄＬ−１に正規化された場合、隣り合うＬ−１次元格子超平面の間の距離の最大値λｄ（Ｌ）（ｚ）に対して幾何学的制限が与える下限λｄ（Ｌ）の表４。
【発明を実施するための形態】
【００１０】
［スペクトル検定の説明］
内容を明確に伝えるため、乗算合同法（ｄ、ｚ、ｎ）からの列｛ｎ、ｎｚ、ｎｚ２、・・・｝は最初整数の無限列で法ｄでの合同を取らないもの、と規定する。対応する乱数は
［数７］ｖｋ＝ｒｋ／ｄ、ｒｋ≡ｎｚｋ−１  ｍｏｄ（ｄ）、  
１＜ｒｋ＜ｄ、  ｋ＝１、２、・・・
として再現される。我々は生成された数列｛ｎ、ｎｚ、ｎｚ２、・・・｝から合い続く２連を取る２次スペクトル検定から始める。２連をベクトルをＱｋ：＝（ｎｚｋ−１、ｎｚｋ）＝ｎｚｋ−１（１、ｚ）と記す。Ｑｋ'でＱｋと法ｄで合同な任意の整数座標を持つ２成分ベクトルを表そう。明らかにＱｋ'はＱｋ'に各座標軸方向のｄ移動で得られる。第２軸方向のｄ移動はベクトルｅ２：＝（０、ｄ）を加えればよい。そして第１軸方向にはｅ１'：＝ｄ（１、ｚ）−ｚｅ２：を加えればよい。故にＱｋと法ｄで合同な座標を持つすべてのベクトルＱｋ'は次の基ベクトル
［数８］ｅ１：＝（１、ｚ）、  ｅ２：＝（０、ｄ）、
の整数係数１次結合であり、これらはそれらを行として作られる行列式がｄ≠０という意味で１次独立である。Ｑｋと法ｄで合同な座標を持つすべてのベクトル或いは点は、従って基ベクトル｛ｅ１、ｅ２｝が張る格子の中にある。中にある、と言うのはＱｋ'がすべての格子点には入れない、乱数からの２連は例えば原点と合同な座標は持てないから、である。原点を１つの頂点とし、各軸方向に区間［０、ｄ）を辺とする正方形をＣｄと記そう。重要な事実は、この格子はＣｄ内にｄ個の格子点しか持てない事である。手軽な証明としては基ベクトルの組｛ｅ１、ｅ２｝が行列式の面積ｄを持ち、正方形Ｃｄの面積がｄ２である事から見られる。より納得できる証明は、任意の整数ｊ、ｋに対する格子ベクトルｊｅ１＋ｋｅ２＝（ｊ、ｊｚ＋ｋｄ）がＣｄ内にあるのはｊ＝０、１、・・・、ｄ−１の場合に限り、ｊをこの中の１つに定めるとｋは第２座標が［０、ｄ）内にある様に一意に定まる事から得られる。こうして正方形Ｃｄは正確にｄ個の格子点を含む。乗算合同法生成機構（ｄ、ｚ、ｎ）は｛Ｑｋ｝と合同な座標を持つ点をこれらｄ個の格子点の中に与える。生成される最大の２連の点はｄ−１以下であり、格子点の占拠率は最大で（ｄ−１）／ｄである。
【００１１】
議論はＬ＝２、３、・・・に対する相続くＬ連、
［数９］（ｎｚｋ−１、ｎｚｋ、・・・、ｎｚｋ＋Ｌ−１）
＝ｎｚｋ−１（１、ｚ、・・・、ｚＬ−１）、  ｋ＝１，２、・・・、
に拡張される。Ｌ次元ユークリッド空間ＥＬのベクトル或いは点と見て、これと各軸方向へのｄ移動の全体はいまや自明に基ベクトル
［数１０］  ｅ１＝（１、ｚ、ｚ２、・・・、ｚＬ−２、ｚＬ−１）、
ｅ２＝（０、ｄ、０、・・・、０、０）
ｅ３＝（０、０、ｄ、・・・、０、０）
・・・・・・
ｅＬ−１＝（０、０、０、・・・、ｄ、０）
ｅＬ＝（０、０、０、・・・、０、ｄ）
で張られるＬ次元格子の中にある。特記すべきは、この格子が１稜ｄのＬ次元の超立方体Ｃｄの中に次元Ｌには関係なく再びｄ個の格子点しか持たない事である。これは前記Ｌ＝２の場合の２つの証明から明らかであろう。
【００１２】
触れられた点、次元Ｌに関係なく、超立方体Ｃｄの中にｄ個の格子点しか存在しない事、はスペクトル検定に伴われて生じる難問の第１の核である。問題の理解のためには、まず乗算合同法乱数列の実用周期の概念が求められる。簡単のため奇素数の法ｄ＝ｐを取る。もし乗数ｚがｐの原始根なら、組（ｐ、ｚ）は法ｄ＝ｐで巡回列｛１，ｚ、ｚ２、・・・、ｚｐ−１≡１｝を生成する；最後の項はフェルマーの小定理である。法ｄ＝ｐとは素な整数全体｛１，２、・・・、ｐ−１≡−１｝のｐ−１個は巡回列の周期Ｔ＝φ（ｐ）＝ｐ−１の間に１度ずつ巡回される。故にｚＴ／２＝ｚ＾｛（ｐ−１）／２｝≡−１  ｍｏｄ（ｐ）が巡回列の中点で成り立つ。巡回列の残余は｛−１、−ｚ、−ｚ２、・・・｝であって、本質的に列の前半の繰り返しである。故にＴ'＝Ｔ／２の長さの前半巡回列のみが独立乱数のために実用になる、実用周期はＴ'＝Ｔ／２である。組（ｄ、ｚ）による乱数の生成計算の負荷はｄに比例して増大するから、我々は計算効率、あるいは単に効率をτ：＝（実用周期Ｔ'）／ｄで定義する；現在の場合τ≒１／２である。奇素数ｐとその原始根乗数ｚに対する結果τ≒１／２は一般にこれがすべての乗算合同法の効率τの上限だろう、と想像させる。場合を尽くす詳しい計算は特許第４６６９９７９号、特許第５２６１８４０号、特願２０１３−２１７７５に示されていて結論はその通りであり、最大の効率１／２は次の（ａ）、（ｂ）の法の場合だけに起きる：
（ａ）奇素数ｐに対する法ｄ＝ｐｉで整数の冪指数ｉ≧１を持つもの、
（ｂ）異なる奇素数ｐ１、ｐ２から作られる法ｄ＝｛ｐ１＾（ｉ１）｝×｛ｐ２＾（ｉ２）｝で整数の冪指数ｉ１≧１、ｉ２≧１を持つもの。
【００１３】
計算機シミュレーションが周期Ｔ≒２５７を求めるとしよう。そうすると乗算合同法（ｄ、ｚ）は、最大効率τ≒１／２を持つとして、法ｄ≒２５８かそれ以上のものを求められる。異なる相続く２連（ｚｋ、ｚｋ＋１）はｄ／２を越えては存在せず、ユークリッド平面Ｅ２しの正方形Ｃｄの中の格子点ｄ個の約半数に席を占める。対応する正規化された独立乱数はＥ２の単位正方形Ｃ１内に最大２５７個入る。このＣ１の辺を幅ｄ−１／２≒２−２９で切れば、得られるＣ１の面積１／ｄの小正方形或いは細胞は用い得る周期内に生じる乱数の異なる相続く２連の点に１／２の確率で占拠されえる。２次スペクトル検定はこれらの占拠された細胞の幾何学的評価を、２連の点が載る格子の幾何学から得る事を目指す。評価の方法はすぐ記される。もし格子の幾何学的配置が良ければ、我々は乱数が一様独立に分布しているという事を否定する理由をより少なく持つだろう、この様に、スペクトル検定は乗算合同法乱数生成方式（ｄ、ｚ）の評価に見事に適合している。同時に、しかし、成功がきゃしゃなものである事もわかる。相続くＬ連Ｐｋ：≡（ｚｋ、ｚｋ＋１、・・・、ｚｋ＋Ｌ−１）をＬ＝２、３、・・・を取ってＬ次元空間ＥＬの点で稜[０、ｄ]の超立方体Ｃｄの中にあると考えよう。用い得る周期内に作られる点は赤だかｄ／２である。故に正規化して単位超立方体Ｃ１内でそれらの分布を有意に観察するにはＣ１を１稜が長さδ＝ｄ−１／Ｌ、ｄ＝２５８でＬ＝６なら１／５１２＞δ＞１／１０２４、の単位で分けなければならない。これは大きくはないがコンピュータ上の浮動小数点単精度実数としては粗い。しかし統計的な仮定、乗算合同法（ｄ、ｚ）からのＬ連が一様独立な列のものである、に関して言えば、この粗い精度の細胞に関しても超立方体Ｃ１を均等に占拠している方が否定材料は少ない、という事は言える。我々はスペクトル検定の効力は次数Ｌの増大、相続く連の数Ｌの増大と共に減少する事は明確に認識した上で、Ｌ＝２、３のような低次の評価を乱数列の統計的精度の鍵として扱うべき事は強調しなければならない。
【００１４】
スペクトル検定の上述の定性的知識の下に、我々はその定量的側面に向う。再び視認の容易なＬ＝２の場合から始める。関心事の（ｄ、ｚ）が定める２次元格子は前述の基ベクトルｅ１＝（１、ｚ）、ｅ２＝（０、ｄ）で張られる。この格子は無数の格子線（一般の次数Ｌ≧２ではＬ−１次元の超平面）、即ち任意のＬ＝２個の格子点を通る直線を持つ。勿論任意の格子線はその延長上に２個だけではなく無限個の格子点を載せている。格子線は無数にあり、その平行で隣り合う２つの間の距離も無数にあるが、その中の最大のものをλｄ（Ｌ）（ｚ）、但し今の場合Ｌ＝２、と記す。基ベクトルｅ１、ｅ２の張る面積（今の場合行列式のｄ；一般の次数Ｌでは行列式が表す超体積ｄＬ−１）を一定に保って様々な格子を比べると、幾何学的な制限が存在して、λｄ（Ｌ）（ｚ）にはすべての格子形に対する下限λｄ（Ｌ）が存在する。現在のＬ＝２次元ではそれは最も平面を稠密に埋める３角格子が与えるλｄ（Ｌ）（ｚ）で、３次元では面心立法格子が、・・・となる。次元Ｌ毎のこのλｄ（Ｌ）（ｚ）の下限をλｄ（Ｌ）と記し、図５の表４に与える。下限を与える幾何学的に理想の形の格子はその基ベクトルに無理数の座標を必要とするので、スペクトル検定に登場する格子のλｄ（Ｌ）（ｚ）は決してλｄ（Ｌ）に到達できず、不等式λｄ（Ｌ）（ｚ）＞λｄ（Ｌ）が成り立つ。比
［数１１］ρｄ（Ｌ）（ｚ）：＝λｄ（Ｌ）（ｚ）／λｄ（Ｌ）＞１
を定義しよう。もしρｄ（２）（ｚ）がより１に近ければ、平面Ｅ２で（ｄ、ｚ）格子の格子点の平面内の分布はより一様等方的（即ちどの方向にも同様な分布）である。ρｄ（２）（ｚ）の値と対応する格子の形の関係は図１Ａと図１Ｂとから直感的視覚的に把握されるだろう。Fishman and Moore (1986) はその画期的な報告の中でρｄ（Ｌ）（ｚ）＜１．２５が２≦
Ｌ≦６で成り立つ原始根乗数ｚを素数の法ｄ＝２３１−１に対する合格者とする判定基準を採用した。それ以後、彼らの判定基準は一般的で有能な道具である事が多くの場合に示された。ここで我々は法ｄと乗数ｚの形の制限は殆んどない事に注意する。法ｄは任意の奇数でよいし、乗数ｚはｄと素であれば（ｄ、ｚ）格子は定義できてスペクトル検定の評価値ρｄ（Ｌ）（ｚ）も格子の幾何学的形状の評価として定まる。但しそこに余りに少数のＬ連しか入らなければ（即ちｚの位数がｄのごく小さい部分であれば）格子の形状の評価はＬ連の点の分布の評価とは考える事ができない。
【００１５】
さらに深いスペクトル検定の意味に進む。再び２次検定から出発しよう。２次スペクトル検定はｚｋとｚｋ＋１の関係が独立と言ってよいかを調べる。我々はさらに、ｚｋとｚｋ＋２も独立である事を望む。これは乗算合同法（ｄ、ｚ２）を検定すればよい。それなら同様に、我々は（ｄ、ｚ３）、（ｄ、ｚ４）、・・・も良い検定独立性を示す事を望む。第２図の表１Ａから表１Ｅに Fishman and Moore (1986) が示した法ｄ＝２３１−１での上位の５つの合格乗数ｚについて我々が行った計算を示す。コンピュータの演算素子の現在までの進歩はこの法でのスペクトル検定を大変容易にしている。ａの行は彼らの導いた評価、１／ａの行はａの行の逆数で我々の評価ρｄ（Ｌ）（ｚ）（ｄ、ｚ２）と同じ量、ｂの行が我々の再計算の結果で、一致は明らかである。ｃの行は２次の性能ρｄ（２）（ｚｋ）を２≦ｋ≦６の範囲でｚ２、ｚ３、・・・、ｚ６について検定して求めたものである。図１Ａ、図１Ｂを参照して、我々はこれらの乗数としての性能は独立性に関しては良くない、とわかる。
【００１６】
計算としては上述の発見は殆んどトリビアルであるが、その意味は重く大切である。現在存在し使用されているすべての乗算合同法は（ｄ、ｚ２）、（ｄ、ｚ３）、・・・について少なくとも２次スペクトル検定で再検査を要し、もし結果が満足できなければ（その可能性が大きいと恐れられる）それらの乗算合同法（ｄ、ｚ）はより信頼できる統計を与えるものと置き換えられなければならない；どのような用途に（ｄ、ｚ）が生成する乱数を用いるにしても、ρｄ（２）（ｚｋ）が２≦ｋ≦６の範囲で性能が図２の諸表の様であれば、我々は使用を躊躇わざるを得ないだろう。重要なのは、検定を経ず乱数を使用する事はできない、という教訓である。勿論、この拡張検定で完全かどうかも断定できない。不完全と分かれば正せる所は正して進む、それ以外は神ならぬ身には知る由もない。事柄の一般的重要性から、我々は（ｄ、ｚ２）、（ｄ、ｚ３）、・・・、（ｄ、ｚ６）に対する２次スペクトル検定を行う方式の拡張を請求項１として特許を申請する。目的はこの拡張検定を束縛なく自由に広く普及させる事である。工業所有権が認められれば、それは自由な使用に開放されるだろう。
［第２、第３の発明の詳しい説明］
【００１７】
より広い視点で見ると、図２の諸表は、メルセンヌ素数の法ｄ＝２３１−１は満足できる性能の原始根乗数ｚを持たないかも知れないと示唆している。我々はより多くの奇素数、奇素数の冪、２つの奇素数の冪の積、を法とし、よい乗算合同法を調べなければならない。何よりも、法ｄ＝２３１−１は今の小さいコンピュータにも小さすぎて、例えば法ｄ≒２４８かそれ以上かに進む事が必要である。我々は計算可能性に直面し、唯一の解決の道は２つの奇素数の積或いは２つの奇素数の冪の積の法を採ることである。さらに、(ｄ、ｚ２）、（ｄ、ｚ３）、・・・から生じる新しい問題も考える必要がある。まずそれらの持つ周期を調べ、次に−１がそれらからの巡回列に現れるかどうかを見、そして (ｄ、ｚ２）、（ｄ、ｚ３）、・・・の最小限２次のスペクトル検定は行うべきである。計算負荷の増大の展望は重い。しかし研究はこれらの問題の少なくとも前半を軽減する２つの新しい設計の存在にに導く。我々は一般的な形の中からの抽出はさて置いて、これら２つの新設計の記述に集中する。
【００１８】
２つの数学的補題から出発する。奇素数ｐはｐ＝２ｑ＋１と表され、そしてｑは再び奇素数である、と仮定する。例ｐ＝７とｑ＝３、或いはｐ＝２３とｑ＝１１はこのような奇素数の対の存在を示す。計算機実験は実際その様な対はどこまでも潤沢に存在する事を示唆する。次が成り立つ：
(補題１）もし奇素数ｐ≧７が他の奇素数ｑによる形ｐ＝２ｑ＋１を持てば、乗数ｚ＝２はｐの原始根で位数φ（ｐ）＝ｐ−１＝２ｑを持つか、または原始根のマイナスで位数φ（ｐ）／２＝ｑを持つか、である。
(証明）法ｐでの乗法に関する既約剰余（類）群Ｚｐ：≡｛１、２、・・・、ｐ−１＝２ｑ｝ｍｏｄ（ｐ）を取る。ラグランジュの定理はｚ≡２の位数をｐ−１＝２ｑの約数に限る。それらは１、２、ｑと２ｑである。仮定ｐ≧７から２の位数は１や２ではない。故にそれはｑ或いは２ｑである。位数２ｑなら原始根である。ｚ＝２の位数が奇数のｑなら
［数１２］（−ｚ)ｑ≡（−１）ｑｚｑ≡−１  ｍｏｄ（ｐ）、
奇数ｑを位数に持つｚの巡回列に−１は存在せず、ｚ'はｑ乗までに１に合同にはならないから、これはｚ'：≡−ｚ  ｍｏｄ（ｐ）が法ｐの原始根である事、即ちｚ≡２  ｍｏｄ（ｐ）が原始根ｚ'のマイナスである事を示す。                                ■
【００１９】
今度は奇素数がｐ＝４ｒ＋１の形で再び奇素数であるｒを持つとする。ｐ＝１３或いは２９の例、そしてコンピュータ実験はその様なｐが再び潤沢に存在する事を確信させる。次が成り立つ：
(補題２）もし奇素数ｐ≧１３がｐ＝４ｒ＋１の形でｒが再び奇素数であれば、ｚ＝２は法ｐでの原始根である。
(証明）法ｐ＝１３での２の冪の直接計算は２が原始根である、と示し、補題２は正しい。従って我々はｐ≧２９、ｒ≧７を仮定して証明すればよい。整数の法ｐ≧７での乗法群は１からφ（ｐ）＝ｐ−１＝４ｒまでの偶数個の整数と見てよく、ｒが素数だからｚ＝２の位数は１、２、４、ｒ、２ｒ、４ｒのどれかで、ｐ≧２９、ｒ≧７から可能性はｒ、２ｒ、４ｒで尽きる。我々はｚ２ｒ≡−１  ｍｏｄ（ｐ）を示す；これが示されればｚｒ≡１はあり得ず、唯一の可能性ｚ４ｒ≡１  ｍｏｄ（ｐ）、ｚ＝２の位数が最大の４ｒで、ｚは原始根だと示されるからである。次の積を考える：
［数１３］Ｍ：＝（２・１）・（２・２）・・・（２・ｒ）・｛２・（ｒ＋１）｝
・｛２・（ｒ＋２）｝・・・｛２・（２ｒ）｝
＝２２ｒ（２ｒ）！
法ｐではＭは次の表現も持つ：
［数１４］Ｍ＝２・４・・・（２ｒ）・（２ｒ＋２）・（２ｒ＋４）・・・（２ｒ＋２ｒ）
＝２・４・・・（２ｒ）・｛ｐ−（２ｒ−１）｝｛ｐ−（２ｒ−３）｝・・・（ｐ−１）
≡（−１）ｒ（２ｒ）！
≡−（２ｒ）！  ｍｏｄ（ｐ）。
故に２２ｒ（２ｒ）！≡−（２ｒ）！  ｍｏｄ（ｐ）である。素数ｐ＝４ｒ＋１と（２ｒ）！とは素だから、２２ｒ≡−１ｍｏｄ（ｐ）が成り立つ。                        ■
上の証明は、数論での平方非剰余の証明で用いられる論理の応用として中澤直也から２０１３年４月１７日に中澤宏に示された。
【００２０】
上の２つの補題は次の予想に導く。
（予想３）奇素数ｐ≧７がｐ＝２ｑ＋１の形を持ち、ｑが再び奇素数であれば、任意の正の整数指数ｉ＝１，２，・・・について、ｚ＝２は法ｄ＝ｐｉの原始根であるか、或いは原始根のマイナスであるか、である。                                （予想３終り）
（予想４）奇素数ｐ≧１３がｐ＝４ｒ＋１の形を持ち、ｒが再び奇素数であれば、任意の正整数の指数ｉ＝１，２，・・・に対して、ｚ＝２は法ｄ＝ｐｉの原始根である。
（予想４終り）
法ｐ２の場合に予想３、４が証明できれば、全体が定理として帰納的にすべての指数ｉ≧２に対する法ｐｉの場合に証明される事は容易に示されるが、残念ながら我々はこの予想の完全な証明を得る事ができなかった。しかし計算機はｐ＜１０７≒２２３．２５の奇素数ｐについては例外なく（予想３、４）が成り立つ事を示す。これ以上の大きさの奇素数ｐで反例が見つかる事は想像しにくいからこれら予想は真であると考えてよかろう。いずれにせよ述べられた補題や予想は、法ｄを補題あるいは予想に述べられた形の素数いずれかとその冪で、或いはそれらの冪の積として、乗算合同法（ｄ、ｚ）を設計する事を示唆する。補題や予想は奇素数ｐの冪ｄ＝ｐｉのオイラーの関数φ（ｄ）＝（ｐ−１）ｄ／ｐができるだけ少ない素因数を持つ場合に関係し、原始根やそのマイナスを掃過するのに２の冪を取れば十分である、という簡明化の他に乗算合同法（ｄ、ｚ）の設計を大変容易にして、次の２つの新しい発明へと導く。
【００２１】
第２及び第３の請求項として掲げられる発明を述べるために、必要となる諸概念を前もって説明する方がよい。来るべき計算はすべて２つの素数冪の積である法ｄと、それら素数冪それぞれの原始根の対が作る乗数ｚとに関わる。関心はそのような（ｄ、ｚ)乗算合同法の周期と、−１がそれによって生成される列に入るか否か、の判定である。次の補題５-７は議論と理解を大きく助けるのでここに記す。
(補題５）ｄ１、ｄ２は互いに素な（部分）法、そしてｚｋはｄｋとは素な（部分）乗数、ｋ＝１、２とする。(部分）乗算合同法（ｄｋ、ｚｋ）は位数或いは周期Ｔｋを持つとする。
［数１５］ｄ＝ｄ１ｄ２、  ｚ≡ｚｋ  ｍｏｄ（ｄｋ）、  ｋ＝１、２
で定まる乗算合同法（ｄ、ｚ）の作る巡回列Ｇ（ｚ；ｄ）：≡｛１、ｚ、ｚ２、・・・}  ｍｏｄ（ｄ）の周期ＴはＴ＝ＬＣＭ（Ｔ１、Ｔ２）で与えられる。
(証明）孫子の定理はｚを定める連立合同式の解が法ｄで一意に
［数１６］ｚ≡Ｕ１ｚ１＋Ｕ２ｚ２  ｍｏｄ（ｄ）、
の形に与えられる事を示す。ここでＵ１、Ｕ２はｄ１、ｄ２だけに依存して定まる整数である。任意の指数ｊ＝１、２、・・・に対してｚｊ≡ｚｋ＾ｊ  ｍｏｄ（ｄｋ）であるから、同様にｚｊ≡Ｕ１（ｚ１）＾ｊ＋Ｕ２（ｚ２）＾ｊ  ｍｏｄ（ｄ）も成り立つ。これから周期Ｔは
［数１７］ｚＴ≡Ｕ１（ｚ１）＾Ｔ＋Ｕ２（ｚ２）＾Ｔ≡１  ｍｏｄ（ｄ）、
即ち（ｚｋ）＾Ｔ≡１  ｍｏｄ（ｄｋ）、ｋ＝１、２の成り立つ正で最小の整数で、それはＴ１とＴ２の最小公倍数である。（証明終り）
（補題６）乗算合同法（ｄ、ｚ）或いはそれからの巡回列Ｇ（ｚ；ｄ）が位数或いは周期Ｔを持つとせよ。このとき（ｄ、ｚｊ）或いは巡回列Ｇ（ｚｊ；ｄ）の周期Ｔ（ｊ）は次の様にｊとＴの最大公約数で与えられる：
［数１８］Ｔ（ｊ）＝Ｔ／ＧＣＤ（ｊ、Ｔ）。
（証明）（ｚｊ）＾Ｔ'＝ｚ＾（ｊＴ'）≡１  ｍｏｄ（ｄ）となる最小の整数Ｔ'はｊＴ'がＴの倍数となる最小のＴ'であるから明らか。(証明終り）
（補題７）法ｄ＝ｄ１ｄ２が互いに素な因子ｄ１、ｄ２の積であれば、連立合同式ｚ≡ｚｋ  ｍｏｄ（ｄｋ）、ｋ＝１，２で定義された乗数ｚを用いる乗算合同法（ｄ、ｚｊ）で生成された巡回列Ｇ（ｚｊ；ｄ）、冪指数ｊは１、２、・・・、に−１が現れるか否かに関して、次が成り立つ。
（Ａ）もし巡回列Ｇ（ｚ；ｄ）に法ｄで−１が現れなければ、任意の指数ｉ＝１、２、・・・に対してもＧ（ｚｊ；ｄ)には−１は現れない。
（Ａ'）もしｋ＝１或いは２の少なくとも１つに対する部分巡回列Ｇ（ｚｋ；ｄｋ）が法ｄｋでの−１を含まなければ、任意の指数ｊ＝１、２、・・・に対して巡回列Ｇ（ｚｊ；ｄ）には−１は現れない。
（Ｂ）任意の冪指数ｊ＝１、２、・・・に対する巡回列Ｇ（ｚｊ；ｄ）の周期或いは位数を再びＴ（ｊ）と記す。巡回列Ｇ（ｚｊ；ｄ）が−１を含むにはＴ（ｊ）が偶数である事が必要である。対偶として、もしＴ（ｊ）が奇数なら、巡回列Ｇ（ｚｊ；ｄ）は−１を含まない。
（Ｃ）偶数のＴ（ｊ）は巡回列Ｇ（ｚｊ；ｄ）に−１が現れるための十分条件ではない。−１が現れるための１つの必要十分条件はＴ（ｊ）が偶数で、かつ部分巡回列Ｇ（ｚｋ＾ｊ；ｄｋ）が同期して共にＴ（ｊ）／２で法ｄｋでの−１を与える事、即ち
［数１９］ｚｋ＾（Ｔ（ｊ）／２）≡-１  ｍｏｄ（ｄｋ）、
がｋ＝１，２の両方で成り立つ事である。
（証明）（Ａ）巡回列Ｇ（ｚｊ；ｄ）は巡回列Ｇ（ｚ；ｄ）の部分列であるから明らか。
（Ａ'）巡回列Ｇ（ｚｋ；ｄｋ）は巡回列Ｇ（ｚ；ｄ）を法ｄｋで見たものだから、−１がＧ（ｚ；ｄ）に含まれるなら、ｋ＝１、２の両方について−１  ｍｏｄ（ｄｋ）がＧ（ｚｋ；ｄｋ）に含まれる。この対偶としてｋ＝１、２の少なくとも１つでＧ（ｚｋ；ｄｋ）が−１を含まなければ、巡回列Ｇ（ｚ；ｄ）は−１を含まず、（Ａ）によってすべての冪指数ｊ＝１、２、・・・でＧ（ｚｊ；ｄ）は−１を含まない。
（Ｂ）もし巡回列Ｇ（ｚｊ；ｄ）がどれかの冪指数Ｔ'＜Ｔ（ｊ）で−１になるとすれば、
［数２０］（ｚｊ）＾Ｔ'≡−１  ｍｏｄ(ｄ)、  （ｚｊ）＾（２Ｔ'）≡１  ｍｏｄ（ｄ）が成り立つ。故に２Ｔ'（＜２Ｔ（ｊ））はＴ（ｊ）の倍数としてＴ'＝Ｔ（ｊ）である以外にはなく、Ｔ（ｊ）は偶数である。対偶も含めて（Ｂ）が得られる。
（Ｃ）偶数の位数Ｔ（ｊ）の巡回列Ｇ（ｚｊ；ｄ）が−１を持たない例はまもなく見られる。必要十分条件を証明する。−１を持つために偶数のＴ（ｊ）が必要である事は（Ｂ）の証明で見られた。さらに（ｚｊ）＾（Ｔ（ｊ）／２）≡−１  ｍｏｄ（ｄ）が成り立つとすれば
［数２１］（ｚｊ）＾（Ｔ（ｊ）／２）
≡（ｚｋｊ）＾（Ｔ（ｊ）／２）≡−１  ｍｏｄ（ｄｋ）、  ｋ＝１、２
が成り立ち、これらが必要条件である事がわかる。逆にＴ（ｊ）が偶数で上の合同式が成り立つとしよう。孫子の定理は法ｄで一意の解の存在を保証し、（ｚｊ）＾（Ｔ（ｊ）／２）≡−１  ｍｏｄ（ｄ）は自明にその解である。即ち巡回列Ｇ（ｚｊ；ｄ）は−１を含み、十分条件である事も示された。（証明終り）
【００２２】
以下乗算合同法（ｄ、ｚ）に関する２つの発明を記述する。１つは後に請求項２として掲げるものでありここから説明される。乗算合同法（ｄ、ｚ）は次の７条件（２ａ）-（２ｇ）を満たすものである：
（２ａ）法ｄは２つの互いに素な因数の積ｄ＝ｄ１ｄ２である。以下ｄ１、ｄ２を部分法と呼ぶ。
（２ｂ）部分法ｄ１は奇素数ｐ１の冪、ｄ１＝ｐ１＾（ｉ１）の形で整数指数ｉ１≧１であり、かつｐ１はある奇素数ｑによってｐ１＝２ｑ＋１と表される。
（２ｃ）部分法ｄ２は奇素数ｐ２の冪、ｄ２＝ｐ２＾（ｉ２）の形で整数指数ｉ２≧１であり、かつｐ２はある奇素数ｒによってｐ２＝４ｒ＋１と表される。
（２ｄ）奇素数ｐ１、ｐ２、ｑ、ｒはすべて異なる。
（２ｅ）乗数ｚは合同式の組
［数２２］ｚ≡ｚｋ  ｍｏｄ（ｄｋ）、ｋ＝１、２
で定められる。以下ｚ１、ｚ２を部分乗数と呼ぶ。
（２ｆ）部分乗数ｚ１は法ｄ１での原始根であるか、或いは原始根のマイナスである。
（２ｇ）部分乗数ｚ２は法ｄ２での原始根である。
【００２３】
これらの設計が与える乗算合同法（ｄ、ｚ）の性能は図３に表２Ａ及び表２Ｂとして掲げられている。最初に（２ｆ）で部分法ｄ１＝ｐ１＾（ｉ１）に関する原始根ｚ１を部分乗数として選ぶ場合を考え、その結果を表す表２Ａを証明する。仮定によってｚ１は法ｄ１で最大の位数
［数２３］Ｔ１：＝φ（ｄ１）ｐ１＾（ｉ１−１）（ｐ１−１）＝２ｑｄ１／ｐ１
を持つ。部分乗算合同法（ｄ２、ｚ２）では（２ｇ）から部分乗数ｚ２は法ｄ２＝ｐ２＾（ｉ２）の原始根で最大位数
［数２４］Ｔ２：＝φ（ｄ２）ｐ２＾（ｉ２−１）（ｐ２−１）＝４ｒｄ２／ｐ２
を実現する。（補題５）によって乗算合同法（ｄ＝ｄ１ｄ２、ｚ）は最小公倍数位数Ｔ、
［数２５］Ｔ：＝ＬＣＭ（Ｔ１、Ｔ２）
＝ＬＣＭ（２ｑｄ１／ｐ１、４ｒｄ２／ｐ２）
＝４ｑｒｄ／（ｐ１ｐ２）
を持ち、巡回列Ｇ（ｚｊ；ｄ）の位数或いは周期Ｔ（ｊ）は（補題６）から
［数２６］Ｔ（ｊ）：＝Ｔ／ＧＣＤ（ｊ、Ｔ）＝Ｔ／ＧＣＤ（ｊ、４ｑｒｄ／（ｐ１ｐ２））
となる。この式から前提（２ａ）-（２ｄ）によって次の３つの有意の場合になると分る：
２Ａ１）もしｊ＜ｍｉｎ（ｑ、ｒ）でｊが奇数ならＴ（ｊ）＝Ｔ，
２Ａ２）もしｊ＜ｍｉｎ（ｑ、ｒ）でｊが４の倍数ではない偶数ならＴ（ｊ）＝Ｔ／２，
２Ａ３）もしｊ＜ｍｉｎ（ｑ、ｒ）でｊが４の倍数ならＴ（ｊ）＝Ｔ／４。
次に我々は−１が巡回列Ｇ（ｚｊ；ｄ）に現れるかどうかを調べ、独立乱数として用い得る周期Ｔｕ（ｊ）を求めなければならない。我々が匍匐前進しなければならない状況は部分乗数ｚ１、ｚ２が原始根であり、それぞれの巡回列の中でそれぞれの法での−１を経由する面倒な場合である。故に（補題７）の（Ｃ）に頼り、部分巡回列Ｇ（ｚ１；ｄ１）が同調を外している、離調している事を示す。Ｔ／２＝Ｔ１×（整数）であるから、
［数２７］（ｚ１＾ｊ）＾（Ｔ１／２）
＝（ｚ１＾Ｔ１）＾｛ｊ×（整数）｝≡１  ｍｏｄ（ｄ１）。
故に（補題７）の（Ａ）はすべてのｊ＝１、２、・・・について巡回列Ｇ（ｚｊ；ｄ）がｊ＜ｍｉｎ（ｑ、ｒ）である限り−１は持たない、Ｔｕ（ｊ）＝Ｔ（ｊ）である、と示す。こうして表２Ａについて、
［数２８］奇数のｊの行：（効率τ）＝Ｔ／ｄ≒１／２、
偶数だが４の倍数ではないｊの行：（効率τ）＝（Ｔ／２）／ｄ≒１／４、
４の倍数のｊの行：（効率τ）＝（Ｔ／４）／ｄ≒１／８、
が算出され、図３の表２Ａがすべて示された。
【００２４】
図３の表２Ｂは仮定（２ｆ）が求める原始根のマイナスを部分乗数に選ぶ場合に関わる。まず部分法ｄ１での原始根をｚ１として−ｚ１の位数を考える。原始根ｚ１は巡回列
［数２９］Ｇ（ｚ１；ｄ１）＝｛１、ｚ１、ｚ１＾２、・・・、
ｚ１＾（Ｔ１／２）≡−１、・・・、ｚ１＾Ｔ１≡１｝  ｍｏｄ（ｄ１）、
を生成し、Ｔ１＝２ｑｄ１／ｐ１でＴ１／２＝ｑｄ１／ｐ１は奇数であり、数｛ｚ１、ｚ１＾２、・・・、ｚ１＾（Ｔ１／２−１）｝はすべて異なって±１は含まれない。故に
［数３０］（−ｚ１）＾（Ｔ１／２）
≡（−１)＾（Ｔ１／２）×(−１）≡１  ｍｏｄ（ｄ１）
は初めての１であり、Ｇ（−ｚ１；ｄ１）の位数は奇数のＴ１／２＝ｑｄ１／ｐ１である。部分乗数−ｚ１は原始根ではない。しかし（補題６）は巡回列Ｇ（ｚ；ｄ）の位数が
［数３１］（ｚの法ｄでの位数）＝ＬＣＭ（Ｔ１／２、Ｔ２）
＝ＬＣＭ（ｑｄ１／ｐ１、４ｒｄ２／ｐ２）＝４ｑｒｄ／（ｐ１ｐ２）
である、と知らせる。これは部分乗数が原始根ｚ１の場合と同じものである。故に任意の冪指数ｊ＜ｍｉｎ（ｑ、ｒ）に対して乗数冪ｚｊの位数も同じである。さらに−ｚ１の奇数の位数は−１が巡回列Ｇ（−ｚ１；ｄ１）には現れないから、(補題７）の（Ａ'）から−１はＧ（ｚｊ；ｄ）にも現れない事、表２Ｂの全体が使い得る周期Ｔｕ（ｊ）＝Ｔ（ｊ）の場合である事を保障し。表２Ｂは表２Ａと同一であると分り、図３はすべて証明された。
【００２５】
ｊ＝２、３、・・・に対するｚｊを乗数と考える事の重要性に気付き、図３の表２Ａ、表２Ｂの諸結果を得た。効率τは１／２から１／８の間で変わり、それは特に後に触れる法ｄ＝２ｉの場合と比べると穏やかな変動である、と言ってよい。実際の使用では我々は乱数をｄ／８個まで使用する事は殆んどないと思われる。しかしｚ、ｚ２、・・・の使用可能な周期Ｔｕ（ｊ）の述べられた変動は、実際の使用ではｄ／８までと人工的に切り揃えられるだろうし問題はなかろうが、少し目立つと感じられないでもない。結局のところ、我々は信頼できる統計性を持つ（ｄ、ｚ）を発見するために重いスペクトル検定計算を行わなければならないので、それに有利に働くように設計を選びたいし、Ｔｕ（ｊ）のｊの値に伴う変動が良い統計性を持つＧ（ｚｊ、ｄ）の多い少ないにどう関係するかも分らない。しかし我々の技術的直感はより平坦で美しい実用周期をｚ、ｚ２、・・・に対して持つ設計は有利かもしれない、と告げる。請求項３を与える次の発明は、実際Ｇ（ｚｊ；ｄ）の冪指数ｊに関係ない平坦な実用周期を、最大周期の幾分の損失と引き換えだが、与える。その設計は次の（３ａ)−（３ｇ）の７条件を満たすものである：
（３ａ）法ｄは２つの互いに素な部分法ｄ１、ｄ２の積ｄ＝ｄ１ｄ２である、
（３ｂ）部分法ｄ１＝ｐ１＾（ｉ１）は冪指数ｉ１≧１を持つ奇素数ｐ１の冪であり、奇素数ｐ１は他の奇素数ｑ１に対する形ｐ１＝２ｑ１＋１を持つ、
（３ｃ）部分法ｄ２＝ｐ２＾（ｉ２）は冪指数ｉ２≧１を持つ奇素数ｐ２の冪であり、奇素数ｐ２は他の奇素数ｑ２に対する形ｐ２＝２ｑ２＋１を持つ、
（３ｄ）奇素数ｐ１、ｐ２、ｑ１、ｑ２はすべて異なる、
（３ｅ）乗数ｚは部分乗数ｚ１、ｚ２によって連立合同式
［数３２］ｚ≡ｚｋ    ｍｏｄ（ｄｋ）、  ｋ＝１、２、
で定義される、
（３ｆ）部分乗数ｚ１は部分法ｄ１での原始根であるか、或いは原始根のマイナスである、
（３ｇ）部分乗数ｚ２は部分法ｄ２での原始根であるか、或いは原始根のマイナスである。
結果として得られる乗算合同法（ｄ、ｚ）の性能は図４の表３Ａから表３Ｃにまとめられている。我々はこれらの表を証明し、この設計が持つ利点を明らかにする。
【００２６】
最初に部分乗数ｚ１とｚ２として部分法での原始根を用いる表３Ａの場合を取る。ｋ＝１、２に対する部分乗算合同法（ｄｋ、ｚｋ）或いは部分巡回列Ｇ（ｚｋ；ｄｋ）は最大位数Ｔｋ、
［数３３］Ｔｋ：＝φ（ｄｋ）＝ｐｋ＾（ｉｋ−１）（ｐｋ−１）＝２ｑｋｄｋ／ｐｋ
を持つ。乗数ｚは（３ｅ）の連立合同式で孫子の定理によって法ｄで一意に定められ、巡回列Ｇ（ｚ；ｄ）はＴ１とＴ２の最小公倍数の偶数位数Ｔ、
［数３４］Ｔ：＝ＬＣＭ（Ｔ１、Ｔ２）＝ＬＣＭ（２ｑ１ｄ１／ｐ１、２ｑ２ｄ２／ｐ２）
＝２ｑ１ｑ２ｄ／（ｐ１ｐ２）
を持つ。冪指数ｊ＝１，２、・・・に対する巡回列Ｇ（ｚｊ；ｄ）の位数Ｔ（ｊ）は次の２つに分類される：
［数３５］（３Ａ奇)：奇数のｊ＜ｍｉｎ（ｑ１、ｑ２）では偶数：
Ｔ（ｊ）＝Ｔ＝２ｑ１ｑ２ｄ／（ｐ１ｐ２）
＝Ｔ１（Ｔ２／２）＝（Ｔ１／２）Ｔ２、
（３Ａ偶)：偶数のｊ＜ｍｉｎ（ｑ１、ｑ２）では奇数：
Ｔ（ｊ）＝Ｔ／２＝ｑ１ｑ２ｄ／（ｐ１ｐ２）。
まず偶数のｊ、Ｔ（ｊ）が奇数、を取る。（補題７）（Ｂ）は位数Ｔ（ｊ）の巡回列Ｇ（ｚｊ；ｄ）には−１は現れず、独立乱数として使い得る位数はＴｕ（ｊ）：＝Ｔ（ｊ）だと知らせる。直ちに（偶数のｊの巡回列Ｇ（ｚｊ；ｄ）の効率τ）：＝Ｔ（ｊ）／ｄ≒１／４が得られ、表３Ａの偶数のｊの行は証明される。対比して、奇数の冪指数ｊに対しては巡回列Ｇ（ｚｊ；ｄ）の位数は偶数なので（ｚｋ＾ｊ）＾（Ｔ（ｊ）／２）を計算しなければならない。この場合Ｔ（ｊ）／２＝Ｔ／２＝（Ｔ１／２）（Ｔ２／２）は奇数の積なので、次が成り立つ：
［数３６］（ｚｋ＾ｊ）＾（Ｔ（ｊ）／２）＝（ｚｋ＾ｊ）＾（Ｔ／２）
＝｛（ｚｋ＾ｊ）＾（Ｔｋ／２）｝＾(奇数）
＝｛ｚｋ＾（Ｔｋ／２）｝＾（ｊ×奇数）
≡（−１）＾(奇数)≡−１  ｍｏｄ（ｄｋ）、ｋ＝１、２。
故に奇数の冪指数ｊのときｋ＝１、２の巡回部分列Ｇ（ｚｋ＾ｊ；ｄｋ）は同期して働き、（補題７）の（Ｃ）は（ｚｊ）＾（Ｔ（ｊ）／２）≡−１  ｍｏｄ（ｄ）が成り立つ事を示す。巡回列Ｇ（ｚｊ；ｄ）の実用周期はＴｕ（ｊ）＝Ｔ（ｊ）／２＝Ｔ／２であり、奇数の冪指数ｊについても効率はτ＝（Ｔ／２）／ｄ≒１／４と得られる。これが表３Ａ証明のすべてである。
【００２７】
今度は部分乗数の１つが部分法の原始根のマイナスである場合、図４の表３Ｂ、を考える。一般性を失う事なく第１部分乗数が原始根のマイナス、−ｚ１でありｚ１は法ｄ１の原始根であるとして表記を定める。部分巡回列Ｇ（−ｚ１；ｄ１）は奇数の位数
［数３７］Ｔ１'：＝Ｔ１／２＝ｑ１ｄ１／ｐ１
を持つ。故に（補題７）の（Ａ'）はすべての冪指数ｊ＝１、２、・・・について巡回列Ｇ（ｚｊ；ｄ）が−１を持たない事を保障し、その周期或いは位数Ｔ１'は独立乱数として用いる事ができる。合成された巡回列Ｇ（ｚ；ｄ）の周期或いは位数Ｔ'は（補題５）の最小公倍数周期であり、
［数３８］Ｔ'＝ＬＣＭ（Ｔ１'，Ｔ２）＝ＬＣＭ（ｑ１ｄ１／ｐ１、２ｑ２ｄ２／ｐ２）
＝２ｑ１ｑ２ｄ／（ｐ１ｐ２）＝Ｔ、
であって、これは部分乗数が原始根＋ｚ１の場合と同じである。故に巡回列Ｇ（ｚｊ；ｄ）の位数Ｔ（ｊ）もすべてのｊ＝１、２、・・・に対して同じで、違いは上の通りすべての場合に−１が巡回列に現れない１点になる。表３Ｂは表３Ａに実用周期への縮減を取り除いて得られ、図４の通りとなる。
【００２８】
部分乗数が２つとも原始根のマイナス、−ｚ１、−ｚ２の場合が残っている。部分巡回列のＧ（−ｚｋ；ｄｋ）、ｋ＝１、２の位数或いは周期Ｔｋ'は
［数３９］Ｔｋ'＝Ｔｋ／２＝ｑｋｄｋ／ｐｋ、  ｋ＝１、２、
で共に奇数、どちらの部分巡回列には−１を持たないから（補題６）の（Ａ'）によって合成された周期Ｔ（ｊ）の巡回列Ｇ（ｚｊ；ｄ）も同様に−１は持てない。これは全体の姿、実用周期Ｔｕ（ｊ）は巡回列の周期Ｔ（ｊ）そのものである、を明らかにする。残る作業は基礎の巡回列Ｇ（ｚ；ｄ）の周期Ｔ"の算出であって、それは
［数４０］Ｔ"＝ＬＣＭ（Ｔ１'、Ｔ２'）
＝ＬＣＭ（ｑ１ｄ１／ｐ１、ｑ２ｄ２／ｐ２）
＝ｑ１ｑ２ｄ／（ｐ１ｐ２）
で終わる。冪指数ｊ＜ｍｉｎ（ｑ１、ｑ２）が何であっても、仮定（３ｂ）-（３ｄ）によってＧＣＤ（ｊ，Ｔ"）＝１である。故にｊに関係なくＴｕ（ｊ）＝Ｔ（ｊ）＝Ｔ、表３Ｃの証明が完結する。
【００２９】
この最終数節ではスペクトル検定の実際手続きの必要最小限の記述を与える。後に法をｄ＝２ｉとし、ｉ≧４に対して用いる場合に触れるまでは、乗算合同法（ｄ、ｚ）は任意の奇数の法ｄとそれとは素な任意の乗数ｚからなる、という以外の限定は置かない。巡回列Ｇ（ｚ；ｄ）からのＬ連を法ｄでの合同関係を置かずＬ次元ベクトルとして
［数４１］Ｑｋ：＝（ｎｚｋ−１、ｎｚｋ、・・・、ｎｚｋ＋Ｌ−１）
＝ｎｚｋ−１（１、ｚ、・・・、ｚＬ−１）、  ｋ＝１、２、・・・、
と記した。それらとそれらの各座標軸方向へのｄ移動は、対比を容易にするために再記する基ベクトルの組
［数４２］  ｅ１＝（１、ｚ、ｚ２、・・・、ｚＬ−２、ｚＬ−１）、
ｅ２＝（０、ｄ、０、・・・、０、０）、
ｅ３＝（０、０、ｄ、・・・、０、０）、
・・・・・・
ｅＬ−１＝（０、０、０、・・・、ｄ、０）、
ｅＬ＝（０、０、０、・・・、０、ｄ）、
の整数係数１次結合で表され、これらの全ての整数係数１次結合である格子の部分であった。通常２≦Ｌ≦６の範囲に取られるＬ次スペクトル検定の目的は、この格子中のＬ個の一次独立ベクトルを含むＬ−１次元超平面で互いに平行で隣接するものの間の距離の最大値λｄ（Ｌ）（ｚ）を求め、幾何学的理論的なその最小値λｄ（Ｌ）との比
［数４３］ρｄ（Ｌ）（ｚ）：＝λｄ（Ｌ）（ｚ）／λｄ（Ｌ）、  Ｌ＝２、３、・・・、６
によって（ｄ、ｚ）が与える巡回列のＬ連の独立性の評価点とする事であった。
【００３０】
スペクトル検定計算の最も難解な部分は次の定理にまとめられる：
(定理８）Ｌ次元格子の基ベクトル｛ｅ１、ｅ２、・・・、ｅＬ｝に対してその逆或いは双対格子の基ベクトル｛ｆ１、ｆ２、・・・、ｆＬ｝を
［数４４］  ｆ１：＝（ｄ、０、０、・・・、０、０）、
ｆ２：＝（−ｚ、１、０、・・・、０、０）、
ｆ３：＝（−ｚ２、０、１、・・・、０、０）、
・・・・・・
ｆＬ−１：＝（−ｚＬ−２、０、０、・・・、１、０）、
ｆＬ：＝（−ｚＬ−１、０、０、・・・、０、１）、
これらの整数係数での１次結合の全体が乗算合同法（ｄ、ｚ）に伴われる双対格子である。この格子の全ベクトルの持つ長さの中の正の最小値をａｄ（Ｌ）（ｚ）と記す。もとの格子の隣接並行超平面の最大間隔λｄ（Ｌ）（ｚ）はλｄ（Ｌ）（ｚ）＝ｄ／ａｄ（Ｌ）（ｚ）で与えられる。（定理８終り）
この（定理８）証明は Nakazawa and Nakazawa (2012c) に与えられている。その記述は長大になり不適切と思われるので与えない。原報告を参照して頂きたい。ここでは定理８を応用して、請求項１の理解と応用に必要なＬ＝２の場合の具体手続きだけを述べる。乗算合同法（ｄ、ｚ）に対するＬ＝２次の双対格子基ベクトルは
［数４５］ｆ１＝（ｄ、０)、ｆ２＝（−ｚ、１）
である。一般次元Ｌでも有用な理解が次で得られる：
(補題９）整数直交座標を持つベクトルｆ＝（ｊ１、ｊ２）が（ｄ、ｚ）双対格子ベクトルである必要十分条件は次の合同式の成立である：
［数４６］ｊ１＋ｚｊ２≡０  ｍｏｄ（ｄ）。
(証明）ｆが双対格子のベクトルなら、整数ｍ１、ｍ２が存在して次が成り立つ：
［数４７］ｊ１＝ｍ１ｄ−ｚｍ２、  ｊ２＝ｍ２。
故にｊ１＋ｚｊ２＝ｍ１ｄ≡０  ｍｏｄ（ｄ）であり、これはｆが双対格子ベクトルである必要条件である。逆にｊ１＋ｚｊ２≡０  ｍｏｄ（ｄ）なら、ある整数ｋがｊ１＋ｚｊ２＝ｋｄ、即ちｊ１＝ｋｄ−ｚｊ２を与え、
［数４８］ｆ＝（ｊ１、ｊ２）＝（ｋｄ−ｚｊ２、ｊ２）＝ｋｆ１＋ｊ２ｆ２
が成り立ち、ｆは双対格子に所属し、十分条件である事も示された。(証明終り）
整数直交座標の１つの利点は、長さが‖ｆ‖＝｛（ｊ１）２＋（ｊ２）２｝１／２で簡単に与えられる事である。さらに図５の表４に記された任意の乗算合同法（ｄ、ｚ）、或いは互いに素な整数の任意の整数ｄとｚ、に対して成り立つ幾何学的制限、
［数４９］λｄ（２）（ｚ）＝ｄ／ａｄ（２）（ｚ）＞λｄ（２）＝２−１／２３１／４ｄ１／２、
ａｄ（２）（ｚ）＜２１／２３−１／４ｄ１／２、
が存在する。だから最小値ａｄ（２）（ｚ）を与える最短整数ベクトルｆ＝（ｊ１、ｊ２）の探索は｜ｊ１｜、｜ｊ２｜＜２１／２３−１／４ｄ１／２の範囲で行えばよい。同様の有用な上限はすべての次元Ｌ≧２で存在し、これはスペクトル検定が計算的に性質のよい問題である事を示している。２次スペクトル検定でFishman and Moore (1986) が採用したのは、乗算合同法（ｄ、ｚ）が
［数５０］ρｄ（２）（ｚ）＝λｄ（２）（ｚ）／λｄ（２）
＝２１／２ｄ１／２／｛３１／４ａｄ（２）（ｚ）｝＜１．２５
を満たす、という合格判定基準であった。
Nakazawa and Nakazawa (2012c): N. Nakazawa and H. Nakazawa, Multiplicative congruential generators with moduluses formed by two odd-prime-factors for uniform and independent random numbers II. Structures associated with spectral tests.  Filename popesq2.pdf, uploaded in http://www10.plala.or.jp/h-nkzw/ (October 15, 2012).
【００３１】
一様独立乱数の乗算合同法（ｄ、ｚ）にはもう１つ有力な法ｄ＝２ｉ、ｉ≧４を取る設計があって、対応する使用可能な最長周期Ｔｕ＝２ｉ−２を与える乗数は非常に明解な条件ｚ≡５  ｍｏｄ（８）で選ぶ事ができる。Fishman (1990) はその画期的な報告で法ｄ＝２３２の下でのすべての最長周期乗数のスペクトル検定を行い、そして法ｄ＝２４８での乗数の部分的なスペクトル検定を、合格基準ρｄ（Ｌ）（ｚ）＜１．２５で与えた；計算の困難から彼は後者の法ではすべての乗数候補を exhaustive に調べる事はできなかった。この様に、法ｄ＝２ｉの乗算合同法も、その出発から計算困難に直面していた。Nakazawa and Nakazawa (2008) はこの計算困難の問題は２ｉと奇数因子との合成数を法として免れる事はできない事を示した。もし２の冪が部分法として存在すると、残る奇数冪の部分法の部分乗数の順次冪には避け難く相関が生じて、独立乱数には用いる事ができない。そしてこの欠点は、スペクトル検定では検出できない、という意味で悪性である。換言すれば、２の冪は法としては必ず単独で用いられなければならず、孫子の定理による計算量の縮減の恩恵を利用できず、状況は Fishman (1990) から改善しない。我々はここで別の問題に触れる。乗算合同法（ｄ＝２ｉ、ｚ≡５  ｍｏｄ（８））があって周期Ｔ＝２ｉ−２を持つとする。我々が同様によい性能を持つ事を期待する（ｄ、ｚｊ）は周期Ｔ（ｊ）＝Ｔ／ＧＣＤ（ｊ，２ｉ−２）を持つが、それはｊが２の冪２ｍとなると大きくＴ／２ｍと減少する。この様子は様々な冪指数ｊに対して乗算合同法（ｄ＝２ｉ、ｚｊ）が変わらず一定の高性能を保つのに相応しいか、疑問となる。勿論これはスペクトル検定の重い計算に直面する経験から少しでも有利な設計を採用したい希望からこの種の法に対して生じる躊躇であって、実際の性能がどうなるかは計算実験を行って確かめなければならない事であるが。
Fishman (1990): G. S. Fishman, Multiplicative clngruential random number generators with modulus 2β: An exhaustive analysis for β=32 and a partial analysis for β=48. Mathematics of Computation Vol. 54 (1990), pp. 331-344.
【産業上の利用可能性】
【００３２】
構成された乗算合同法は、すべての乱数生成方法の中で最も高速な四則演算の最小回数の利用で構成されるため、コンピュータに与える計算負荷は乱数のすべての生成方式の中で最小で、従って最高速での乱数生成を保障する。任意の有限乱数列を近似する乗算合同法の力とこの計算上の最良性は、本発明の産業上科学技術上の大きな利用可能性、必要性を意味する。請求項１が実現する大きく改善された検定技術は、現在まで不分明であった乱数生成機構の欠点も容易に認識させ、現在の技術構成の欠点を大きく是正するものとして、ぜひとも活用されなければならない。
【００３３】
請求項２および３が基づく補題１，２と予想３、４とは、単なる技術利用を越えて、原始根にまつわる理解の困難が、特殊ではあるが十分に潤沢に現れる場合には単純平易に理解可能である事、法２ｉの場合よりも簡明に見通される事、を明らかにした。実際に応用可能な工学設計技術として、現在の発明で得られた所は大きいと考える。これらを含めて、乱数問題により多くの人々の参加を促すものとなる事、発明の経済的効果と産業科学技術上の利用可能性にさらに肉付けと寄与とを得る事、が深く期待される所である。
【図１Ａ】
2015035197.tif 000002
【図１Ｂ】
2015035197.tif 000003
【図２】
2015035197.tif 000004
【図３】
2015035197.tif 000005
【図４】
2015035197.tif 000006
【図５】
2015035197.tif 000007
【手続補正書】
【提出日】平成26年1月26日(2014.1.26)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2015035197.tif 000008