数学において、保型数(循環数と呼ばれることもある)とは、与えられた基数における自然数であり、その平方がその数自体と同じ桁で終わる数である。
定義と特性
基数 が与えられたとき、桁の自然数は、 が ( を法とする整数環)上の多項式関数の不動点である場合に、保型数と呼ばれます。の逆極限は( -進整数環)であるため、保型数は上の の不動点の数値表現を求めるために使用されます。
たとえば、 の場合、 の 10 進固定小数は 4 つあり、その最後の 10 桁は次のようになります。
したがって、10進数の保型数は0、1、5、6、25、76、376、625、9376、90625、109376、890625、2890625、7109376、12890625、87109376、212890625、787109376、1787109376、8212890625、18212890625、81787109376、918212890625、9918212890625、40081787109376、59918212890625、 ...(OEISの配列A003226)。
の不動点は、関数 の零点です。 を法とする整数環には、から までの零点があります。ここで、素数オメガ関数は、における異なる素因数の数です。の元がの零点となるのは、すべてのまたはの場合に限ります。 には 2 つの可能な値があり、そのようなが存在するため、の零点が存在し、したがっての不動点が存在します。ヘンゼルの補題によれば、 を法とする多項式関数の零点または不動点が存在する場合、の任意の累乗を法とする同じ関数の対応する零点または不動点が存在し、これは逆極限においても当てはまります。したがって、任意の基数においての -進不動点が存在します。
0 は常に零因子なので、0 と 1 は常に の不動点であり、0 と 1 はあらゆる基数において保型数です。これらの解は、自明な保型数と呼ばれます。 が素数 のべき乗である場合、 -進数の環には0 以外の零因子がないため、 の唯一の不動点は0 と 1 です。結果として、 0 と 1 以外の非自明な保型数は、基数が少なくとも 2 つの異なる素因数を持つ 場合にのみ存在します。
基数における保型数b
すべての- 進数は 基数で表され、A−Z を使用して 10 から 35 までの数字の値を表します。
拡張機能
保型数は、 b進係数を持つ任意 の次数の多項式関数に拡張できます。これらの一般化された保型数はツリーを形成します。
1つの- 保型数
保型数は、多項式関数が
例えば、および の場合、 (および)には 2 つの不動点があるため、ヘンゼルの補題によれば、には 2 つの 10 進不動点があり、
したがって、10 を底とする 2 自己同型数は 0、8、88、688、4688... です。
三形数
三態数または球状数は、多項式関数が であるときに発生します。[1]すべての自己同型数は三態です。円形および球状という用語は、以前は、すべての累乗の最後の桁がその数自体と同じである数のわずかに異なるケースに対して使用されていました。[2]
基数 の場合、三態数は次のようになります。
- 0、1、4、5、6、9、24、25、49、51、75、76、99、125、249、251、375、376、499、501、624、625、749、751、875、999、1249、3751、4375、4999、5001、5625、6249、8751、9375、9376、9999、... (OEISのシーケンスA033819 )
基数 の場合、三態数は次のようになります。
- 0、1、3、4、5、7、8、9、B、15、47、53、54、5B、61、68、69、75、A7、B3、BB、115、253、368、369、 4A7、5BB、601、715、853、 854、969、AA7、BBB、14A7、2369、3853、3854、4715、5BBB、6001、74A7、8368、8369、9853、A715、BBBB、...
プログラミング例
def hensels_lemma ( polynomial_function , base : int , power : int ) -> list [ int ]:
"""ヘンゼルの補題。""" if power == 0 : return [ 0 ] if power > 0 : roots = hensels_lemma ( polynomial_function , base , power - 1 ) new_roots = [] for root in roots : for i in range ( 0 , base ): new_i = i * base ** ( power - 1 ) + root new_root = polynomial_function ( new_i ) % pow ( base , power ) if new_root == 0 : new_roots . append ( new_i ) return new_roots
基数 = 10
桁 = 10
定義 automorphic_polynomial ( x : int ) -> int :
戻り値 x ** 2 - x
i が 範囲( 1 、digits + 1 )の 場合: print ( hensels_lemma ( automorphic_polynomial 、base 、i ))
参照
参考文献
- ^ ジェラール・ミションの記事を参照
- ^ 「球面数」。オックスフォード英語辞典(オンライン版)。オックスフォード大学出版局。 (サブスクリプションまたは参加機関のメンバーシップが必要です。)
- PlanetMathの 1-保型数の例。
