オンライン整数列大辞典
オンライン整数列大辞典(オンラインせいすうれつだいじてん、On-Line Encyclopedia of Integer Sequences, 以下 OEIS)は、無料で利用可能な整数列(各項が整数である数列)のオンラインデータベースである。
2018年3月時点で30万を超える整数列の情報が収められており、この種のデータベースとしては最大のものである。英単語や数列の一部分を入力することにより検索ができる。各々の項目は数列の名前に始まり、由来、参考文献、公式、キーワードなどの情報を含む。その他、数列を一定の規則で変換した音楽を聞くことができるといった遊び心もあり、数学の専門家から数学パズル愛好者まで幅広い利用者の興味を集めている。
コンテンツは基本的に全て英語である(各言語版も用意されているが、一部のごく簡単なメッセージが翻訳されているに過ぎない)。
アメリカの数学者ニール・スローンは、学生であった1960年半ば、組合せ論における自身の研究のために整数列のコレクションを始めた。当初はパンチカードでデータ整理されていた。彼はそのコレクションを二度、本として出版している。
A Handbook of Integer Sequences (1973年, ISBN 0-12-648550-X):約2400個の整数列を含む。
The Encyclopedia of Integer Sequences サイモン・プラウフとの共著 (1995年, ISBN 0-12-558630-2):5487個の整数列を含む。
これらの本は好評を博し、特に2冊目の出版の後は数学者たちが絶えずスローンに新しい整数列を知らせるようになった。コレクションは本の形式で出版するには膨大になりすぎたため、整数列が16000個を超えた1994年8月には電子メールサービスが始まり、直後の1995年にはウェブサイトが開設された。この活動のスピンオフとして、1998年に学術雑誌 Journal of Integer Sequences が創刊された。
スローンは約40年にわたって「自分の」数列たちを一人で管理してきたが、2002年に編集委員会を結成し、2009年まで編集委員およびボランティアたちによってデータベースが維持されてきた。この間、1年あたり約1万個のペースで新しい整数列がデータベースに加わり、2004年11月7日、整数列の個数は10万個を突破した。データ量は、1995年の本に換算すれば750巻分に達した。
2009年3月には、を用いたページが開設され、情報のやり取りに利用されている。2009年10月26日、スローンは OEIS の知的財産権をOEIS財団に委譲した。
2011年11月に項目数が20万を突破し、2018年2月には項目数が30万を突破した。
データベースに登録されている全ての数列には6桁の識別番号 (ID number) が割り当てられており、先頭に A を付して表される。A000796 の代わりに A796 を用いるなど、しばしば先頭の 0 は省略される。
OEIS では ASCII によるプレーンなテキストのみが用いられるため、表記においてはいくつかの暗黙の了解がある。数列 f の第 n 項は f ( n ) と表す。当該項目の数列は a と表し、その他の数列は英語の名前もしくは ID で表す。また、ギリシャ文字は通常その英語名で表される。例えば μ は mu と表し、φ は phi と表す。
本記事においては、これらの慣習にならって基本的にローマン体の文字を用いる。
0 はときどき「存在しない」ことを表すために用いられる。例えば、A104157 の第 n 項は「なるべく小さな n × n 個の連続した素数を用いて魔方陣を作ったときの、その最小の素数」である。明らかに a ( 1 ) は 2 である。a ( 3 ) を求めるのはやや難しいが 1480028129 である。しかし、n = 2 のときはそのような魔方陣は存在しないため、a ( 2 ) は 0 とされている。
0 が本来の意味を持つ数列では、この用法として -1 が代わりに用いられることもある。例えば A072041 など。
OEIS においては整数が主役であるが、何らかの方法で整数列に変換することで、整数でない数も扱われていると言える。
有理数の列は、分子の列と分母の列の2つの整数列と見なせる。例えば、ファレイ数列 0/1, 1/1, 0/1, 1/2, 1/1, 0/1, 1/3, 1/2, 2/3, 1/1, … に対しては、その分子の列 0, 1, 0, 1, 1, 0, 1, 1, 2, 1, … (A006842) と分母の列 1, 1, 1, 2, 1, 1, 3, 2, 3, 1, … (A006843) がデータベースに収められている。
円周率 π = 3.1415926535897… は超越数であるが、各桁の数字を並べてできる整数列 3, 1, 4, 1, 5, 9, 2, 6, … (A000796) や、連分数展開してできる整数列 3, 7, 15, 1, 292, 1, … (A001203) がデータベースに収められている。
OEIS の歴史の初期の段階から、多くの人々が OEIS 自身を用いてできる数列を登録するように主張してきた。このことについてスローンは次のように回想している。「一つにはデータベースの重要性を維持したいという気持ちから、また一つには A22 が 11 項しか知られていなかったことから、私はそのような数列を登録することを拒否してきました。」
以下、変数 n に対し、ID が n である数列は A_n で表す。スローンが比較的早くに登録を認めた自己参照数列に、a ( n ) = A_n の第 n 項(A031135、後に A091967)がある。当然この数列は有限である。また、第 91967 項は定義されていない。なお、この項目の存在が A000022 の先の項を求めることを促進した。
A100544 は第 n 項が A_n の初項に等しい数列である。しかし、数列の初項をどうすべきかは意見の相違があるため(オフセットの項を参照)、度々変更されるのが問題である。
n が数列 A_n に含まれるか、という問いを考えることにより、ある問題をはらんだ数列 A053873(含まれるような n の列)と A053169(含まれないような n の列)が考えられる。例えば A002808 は合成数の列であるから、合成数 2808 は A053873 に含まれる。A000040 は素数の列であるから、素数でない 40 は A053169 に含まれる。問題は 53169 や 53873 はどちらに含まれるか、ということである。53169 は A53169 に含まれるか含まれないかのどちらかである。含まれるとすれば、A53169 の定義より 53169 は A53169 に含まれないことになって矛盾する。含まれないとすれば、再び A53169 の定義より 53169 は A53169 に含まれることになってやはり矛盾する。この議論はラッセルのパラドックスによく似ている。
本節は OEIS の各項目の主な欄についての解説である。
OEIS に登録された全ての数列に割り振られた6桁の識別番号。先頭に A を付して表される。論文・本や外部のサイトにおいて数列を表すために「OEIS の A****** (A****** in OEIS)」 または単に「スローンの A****** (Sloane's A******)」のように書かれるほど世間に認知されている。
以前は現在とは別の識別番号が用いられていた。1973年出版の Handbook of Integer Sequences では、約2400個の数列が辞書式順序で並べられ、M が付された4桁の識別番号が与えられた。1995年出版の Encyclopedia of Integer Sequences では、5487個の数列がやはり辞書式順序で並べられ、N が付された4桁の識別番号が与えられた。これらの古い識別番号は、A が付いた新しい識別番号と同じく利用可能であり、この欄に記載されている。
その数列の一般的な名前もしくは簡単な説明が記載されている。定義式が与えられている場合もある。例えば立方数の列 1, 8, 27, 64, 125, 216, 343, 512, … (A000578) の Name の欄には The cubes: a ( n ) = n^3 と記載されている。
数列の先頭部分。大抵の場合4行ほどにわたって記載されているが、この部分だけ見ても、長い有限数列か無限数列かは区別できない。区別するためには Keyword の欄(後述)を見る必要がある。
ここで言うオフセットとは、初項が第何項であるか、ということである。すなわちオフセットが n のとき、初項は a ( n ) と表される。例えば、平方数の列 a ( n ) = n^2 (A000290) 0, 1, 4, 9, 16, 25, … のオフセットは 0 であるが、もし 1, 4, 9, 16, 25, … で始まるならオフセットは 1 である。ほとんどの数列のオフセットは 0 か 1 であるが、次のようにそれ以外のオフセットを持つ数列もある。
オフセットが 3 である数列の例。初項 a ( 3 ) は、なるべく小さな素数と 1 を用いて 3 × 3 の魔方陣を作ったときの、各行の和。以下、a ( n ) は n × n の魔方陣を考えたときのその値。
オフセットが -1 である数列の例。初項 a ( -1 ) は -1等星、すなわち視等級が -1.5 から -0.5 までの恒星の個数。-1等星はシリウスとカノープスのみであるから a ( -1 ) = 2 である。以下、a ( n ) は n 等星の恒星の個数(ただし、変光星や二重星をどう扱うかによって個数は変動する)。先の方では隣り合う項の比がほぼ一定になるという主張が興味深い。
時には初項に採用すべき項について意見が分かれることがある。例として、第 n 項が次の意味を持つ数列を考えよう。パンケーキに包丁を n 回入れて、なるべく多くのピースに分けたとき、ピースは何個になるか。1回ならば2個に、2回ならば4個に、3回ならば7個に切り分けることができる。OEIS におけるこの数列 A000124 は 1, 2, 4, 7, 11, 16, 22, 29, 37, … で始まる。初項の 1 は、包丁を1回も入れない場合のピースの個数を表している。すなわち、この数列のオフセットは 0 である。しかし、包丁を入れない場合を考えるのは無意味であるとの解釈もあり、MathWorld は 2 を初項としている。
オフセットは重要な項目であるが、ときどき数列の投稿者が、デフォルトのオフセット 1 が適当かどうかをチェックすることを怠るために混乱がおこる。
Offset の欄には通常ふたつの数が記載されている。ひとつ目の数は上に説明された意味を持ち、ふたつ目の数は「絶対値が 1 より大きな数が初めて現れるのは初項から数えて何項目か」を表している。このふたつ目の数は、検索の速度を上げるのに役立っている。例えば、第 n 項が位数 n の群の個数である数列 A000001 は 1, 1, 1, 2 で始まり、その前に n の項が 0 である 0 が並んでいるので、オフセットの欄には 0, 5 と記載されている。また、全ての項が 0, 1, -1 のどれかならば、ふたつ目の数は 1 と記載される。
この欄には、他の欄に記載されるのが適当でないあらゆる情報が記載される。他の数列との興味ある関係や、定義からすぐに導かれるわけではない応用例などである。
例えば Lekray Beedassy は立方数の列 A000578 に次の意味のコメントを与えている。「三角形の二辺を n 等分し、各等分点を向かい合う頂点と線分で結ぶ。その図形内に三角形は(重なりあっているものを含めて)n^3 個ある。」
各コメントにはそのコメントを書いた人の名前と日付が付けられているが、それが省略されている場合は、そのコメントを書いたのは数列を投稿した人である(Author の欄を参照)。
その数列を扱っている文献。多くは英語で書かれた論文や専門書である。
関連するサイトへのリンク集。多くは個人的なサイトであり、そのサイトの著者名も記されている。
種々の公式が与えられている。その数列の各項を与える閉じた計算式(もし存在すればだが)をはじめ、漸化式や他の数列との関係式などもこの欄で与えられる。
ある項がなぜその数になるかの説明。定義だけでは意味が分かりにくい場合に、この欄が用意されていることがある。
その数列を計算するためのプログラム。比較的簡単なコードで書かれており、計算効率は考慮されていないことが多い。Maple と Mathematica のプログラムには固有の欄が用意されるが、その他の数式処理ソフト(PARI/GP, Magma, MATLAB, Python, Excel など)によるプログラムはそのソフト名とともに一括して Program の欄に記載される。
関連する数列への内部リンク。
Cf. の部分は、投稿者が関係が深いと認めた数列である。Adjacent sequences: の部分は、ID が近いいくつかの数列である。Sequence in context: の部分は、辞書式順序でその数列の前後にあるいくつかの数列である。ただし、OEIS における順序では、基本的に符号および先頭部分の 0, 1, -1 たちは無視する。
OEIS は各々の数列を特徴付ける4文字程度のアルファベットの列をいくつか用意している。
投稿者のために割り当てられた数列であり、編集中または承認待ちの状態である。
割り当ての過程においてこのキーワードが付けられることがある。
定義が基数に依存することを意味する。例えば、回文素数の列 2, 3, 5, 7, 11, 101, 131, 151, 181, … (A002385) は10進法という特殊事情が大きく働いている。実際、2進法で表すとその多くは回文数にならない。ある意味でこのキーワードが付されるべきであっても、そのようになっていない数列もある。例えば、メルセンヌ素数の列 3, 7, 31, 127, 8191, 131071, … (A000668) はキーワード欄に base がないが、メルセンヌ素数は2進法に関するレピュニット素数とも解釈できる。
その数列の知られている部分が非常に短い、もしくは次の項が非常に大きいために、3項以下しか表示されていないことを意味する。
最近編集されたことを意味する。
ある数の連分数展開により得られる数列であることを意味する。例えばネイピア数の連分数展開 (A003417) や、 円周率の連分数展開 (A001203) がある。
ネイピア数 (A001113) や円周率 (A001203) などの、数学上の定数を各桁の数を並べて表した数列であることを意味する。
素数列 (A000040) やフィボナッチ数列 (A000045) のように、数学的に重要な数列であることを意味する。しばしば nice キーワードとともに付与される。
二重に登録されたものや、文献に掲載された誤りを含む数列などのうち、削除されずに残されているものに付けられる。例えば、メルセンヌ素数の列 A000668 に対する A088552 などがある。
主観的なキーワードの一つであり、重要でないことを意味するが、後述の less キーワードと重複する部分が大きいため、現在ではあまり用いられなくなった。数学的に意味のある解釈ができないものや数学に関係がないものがある。前者の例としては、円周率とネイピア数の各桁の数を交互に並べたもの (A001355) があり、後者の例としては、キーボードのテンキーの数字を螺旋状に読んだもの (A082390) がある。
数列の各項が簡単に計算できることを意味する。計算方法や数列自体の理解が難しい数列であっても、コンピューターで短時間のうちに計算できる手法が存在すればこのキーワードが付けられる。
何らかの変換をしても自身が変化しない、固有数列 (eigensequence) であることを意味する。スローンは論文において、ある数列の変換によって不変である数列を固有数列と名付けた。例えば、数列におけるオイラー変換とは次の式によって an を bn に移す変換である。
1+\sum_{n=1}^\infty b_n x^n = \prod_{n=1}^\infty \frac{1}{(1-x^n)^{a_n}
a ( n ) が「節点の個数が n 個である根つき木の個数」である数列 (A000081) は(オフセットを適切に解釈することによって)この変換に関して不変である。
数列が有限であることを意味する。ただし、このキーワードが付いているからといって、表示されている項で全てであるとは限らない。例えば A105417(ローマ数字 I, V, X, L, C, D, M を少なくとも一回ずつ用いてできる数、すなわち一種のパンデジタル数の列)では、全ての項の4分の1ほどが表示されているだけであり、末項は 3888 (MMMDCCCLXXXVIII) である。
分数列の分子または分母のみを取り出した数列であることを意味する。ほとんどの場合は、分子の列と分母の列は相互参照されている。ただし、A069257 のように、片方(この場合は 1 が並んだ数列 A000012 である)が明らかな場合は省略されることもある。
数列が有限であって、なおかつ表示されているもので全てであることを意味する。このキーワードが付いている場合は、fini も同時に付いていることになる。例えば、散在型単純群 はちょうど 26 個存在することが知られており、その位数の列 A001228 にはこのキーワードが付されている。
現在知られている項が少なく、次の項を求めることが難しいと考えられていることを意味する。例えば、メルセンヌ素数を表す数列 A000668 などの分散コンピューティングにより次の項の探索が行われているものや、n 次元単位球を格子状に並べた際に一つの球が接することのできる球の最大個数を表す数列 A001116 (格子状という条件を除けば、より難しい接吻数問題に対応する)などの未解決問題にかかわるものもある。
数値を音程に変換して再生すると、聴覚的に面白い数列であることを意味する。OEIS内のページ  で MIDI ファイルを生成することができる。
主観的なキーワードであるが、あまり調べられることがなく面白みがないと思われる数列であることを意味する。
数列をグラフ上にプロットすると、視覚的に面白い並び方になることを意味する。
もっと多くの項が必要とされていることを意味する。例えば hard の例にある A001116 にはこのキーワードが付されている。求めることが難しい数列にこのキーワードが付けられることもあり、hard とともに付けられることもある。
数列が乗法的であることを意味する。数列が乗法的であるとは a ( 1 ) = 1 であって、互いに素な二つの整数 m, n に対して a ( m n ) = a ( m ) a ( n ) を満たすことである。例えば、A046970 はゼータ関数 ζ に対し、
\frac{\zeta(s)}{\zeta(s-2)}=\sum_{n=1}^\infty \frac{a_n}{n^s}
で与えられる数列 an であるが、これは乗法的である。
その時点から数週間以内に、新しく投稿されたものであるか大幅に書き直されたものであることを意味する。このキーワードは投稿フォームのチェックボックスには存在せず、新しい数列には自動的に付加される。
興味深い数列に付される。慣例では、数列の著者は自身でこのキーワードを付けず、代わりに他の人が提案する。
数列が非負整数のみで構成されていることを表す。知られている部分が非負整数であることを表すのであって、無限の先まで非負整数であることを保証するものではない。また、採用されるオフセットに依存する場合もある。例えば、立方数の列 A000578 はオフセットが負ならば負の整数を含むが、オフセットが 0 であるためにこのキーワードが付されている。
定義が不明瞭なものや、分かりにくいものに付けられるキーワードで、もっと良い記述が望まれることを意味する。
仮に登録されたものの、後に編集者によって削除されるかもしれないことを意味する。このキーワードはほとんど使われることがない。
提案された登録が却下され、後にすぐ新たな数列が登録されることを意味する。
数列が負の数を含むことを意味する。
やや不規則だが面白い形に並んだ数から得られたものであることを意味する。例えば A070887 はルール 110 のセル・オートマトンから得られた数列である。次の tabl と似ているが、そこで例示するパスカルの三角形から得られる数列が、初項から1項、2項、3項、… ずつ区切れば由来が分かるのに対し、tabf では1項、1項、2項、2項または1項、3項、5項のように不規則に区切らなければ由来が見えないという違いがある。
数列が三角形上に並んだものから得られたものであることを意味する。例えば A007318 はパスカルの三角形を一列に並べたものである。
数値や内容に誤りが含まれる可能性があり、確認することが求められている。
その数列の定義やどのようにして得られたものなのかなど、ほとんど何も知られていないことを意味する。例えば A072036 はウェブ上で話題にされたものであるが、詳しいことはわかっていない。
一筆書きやSelf-avoiding walkなど、パスに関する数列であることを意味する。例えば A001411 は正方形状に並んだ n^2 個の点を(点から次の点へは最短距離で結ぶようにして)一筆書きする方法の個数である。
特定の言語に依存する数列であること意味する。例えば 4, 3, 3, 5, 4, 4, 3, 5, 5, 4, 3, 6, 6, 8, 8, 7, 7, 9, 8, 8, … (A005589) は zero, one, two, three, four, five, … の文字数である(21 以降ではハイフンまたは空白は数えない)。
いくつかのキーワードは互いに排他的である。すなわち両立しない組み合わせとして core と dumb、easy と hard、full と more、less と nice、nonn と sign 、tabl と tabf がある。
たとえその数列が古くから知られていたとしても、この欄には OEIS への投稿者が記される。著者の名前はフルネームで与えられる。すなわち、ファーストネームの完全なスペル、ミドルネーム(もしあれば)、ラストネームが記される。Reference や Links の欄では通常名前が省略されることと対照的である。また、著者のメールアドレスが記される。その際、アットマークは (AT) で代用される。A055000 以降の多くの数列では、投稿した日付も記されている。特によく投稿する人の名前は略記される。例えば、スローン自身は njas と表記されている。
OEIS で数列を検索するにはいくつかの方法がある。以下、その方法について解説する。
整数をいくつか入力すると、それらを項に含む数列を検索できる。各項は空白かコンマで区切るが、その両者では意味が異なり、コンマで区切った場合は項の並びも指定したことになる。
検索結果を絞り込むために、a ( 2 ) から a ( 7 ) までをコンマ区切りで入力することが推奨されている。それでもなお、望む程度に検索結果が絞り込まれない場合もある。
マイナスの記号を入力することはできるが、それらは基本的に無視される。例えば、第 n 項が n^2 から n 番目のフィボナッチ数を引いたものである数列 0, 3, 7, 13, 20, 28, 36, 43, 47, 45, 32, 0, -64 を入力すると、符号を入れ替えた数列 0, -3, -7, -13, -20, -28, -36, -43, -47, -45, -32, 0, 64 (A014283) が検索される。signed: を先頭に入力すればマイナスの記号は無視されない。
アルファベットや記号からなる文字列を入力すれば、記事内にその文字列を含む数列を検索できる。
多角数を検索する場合には注意が必要である。12角数 (dodecagonal numbers) よりも先では、ギリシャ語の接頭辞を用いた表現ではなく、n-gonal numbers で検索する必要がある。例えば、47角数は heptaquartagonal numbers ではなく、47-gonal numbers で登録されている。
文字列が存在する欄を指定することもできる。例えば、keyword:more や offset:-2 などと入力すればよい。
各々の数列に付された ID で検索する方法もある。A796 と入力すれば、記事内に A000796 を含む全ての項目が検索できる。ID が A000796 である数列のみ表示したいならば、id:A796 と入力すればよい。