遊びの数論65 

[遊びの数論] 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40
41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60
61 | 62 | 63 | 64 | 65

『遊びの数論64』の続き。誤字脱字・間違いがあるかも。


✿ ✿ ✿ ✿ ✿


2026-10-31 囲碁の握りはイカサマさいころ ラームス・序曲

将棋も碁も、理論的には「先手必勝」のゲームらしい†。

よって「先手・後手」の決定は、勝負の上で重大。囲碁では、どちらの対局者が先手になるか決めるのに「握り」が使われる。一方の対局者が碁石を適当に手で握る。その手の中の碁石が偶数個か奇数個か、他方の対局者が推測する。当たれば先手を選べる、という仕組み。

直観的には「碁石をランダムに握ったとき、その個数が偶数か奇数かもランダム。握りは、コイン投げなどと同様、公平な手続き」とも思える。ところが「必ず 1 個以上の碁石を握る」という常識的な前提だと、「握り」の結果は奇数になりやすい。例えるなら「奇数の目が出やすい、偏ったさいころ」だ!

19世紀フランスでも、じゃんけんの代わりに(?)「握り」と同様の「偶数・奇数ゲーム」が使われていたらしく、当時の学者たちは、既にこの偏りに気付いていた(「100円玉つかみ取り/確率でびっくり」参照)。例えば、袋からあめ玉を適当にひとつかみ取り出すと、握ったあめの数は「偶数か奇数か確率半々」ではなく「奇数になりやすい」――これは直観に反している!

でも、その理由は、簡単に説明がつく。つまり…

† ここで「先手」というのは、囲碁用語の「先手」ではなく、将棋の「先手」と同じ意味(最初のターンのプレーヤー)。囲碁の場合「コミ」(ゲームバランス調整の設定)によっては後手有利だが、その件については省略。

✿

具体例として、「握り」の対象の碁石が合計 4 個だけだとすると、「握り」の結果は「4 枚のコイン A, B, C, D を無作為に投げて、表が何枚出るか?」と、おおむね同じこと(表が出る場合 ◎ は「握られた碁石」に当たり、裏が出る場合は「握られなかった碁石」に当たる)。 4 枚投げた結果は、次の 16 パターンのどれか。どのパターンになるかは等確率。

コイン◎の数
ABCD
◎◎◎◎4
◎◎◎裏3
◎◎裏◎3
◎◎裏裏2
◎裏◎◎3
◎裏◎裏2
◎裏裏◎2
◎裏裏裏1
裏◎◎◎3
裏◎◎裏2
裏◎裏◎2
裏◎裏裏1
裏裏◎◎2
裏裏◎裏1
裏裏裏◎1
裏裏裏裏0

◎ の数が 0, 1, 2, 3, 4 になるパターンを数えてみると、それぞれ 1, 4, 6, 4, 1 通り。よって本来なら ◎ の数が偶数になるパターンは 1 + 6 + 1 = 8 通り、奇数になるパターンは 4 + 4 = 8 通り、どちらも 8/16 なので、確率は五分五分。ところが「石を必ず 1 個以上、握る」という条件を付けると「0 個握る」というオプションがなくなるので、コインでいう「裏・裏・裏・裏」(◎ が 0 枚)が選択肢から除外され、結果が偶数になるパターンは 7 通りに減ってしまう。コインが何枚あっても同様で「全部裏」が除外されると、偶数になるパターンが 1 減って、「表になる枚数」は奇数になりやすい。

✿

上の例で ◎ の数が 0, 1, 2, 3, 4 になるパターン数 1, 4, 6, 4, 1 の一つ一つは「二項係数」と呼ばれる。例えば 6 という数は「4 枚のコインから(表になる)コイン 2 枚を選ぶ組み合わせ」の数なので、式で書けば、
  (4 C 2) = (4 × 3)/2! = 12/2 = 6
となる(「二項係数・超入門」参照)。細かいことはさておき、このような組み合わせの数は、その気になれば機械的に計算できる、と。

例えば、石が n = 10 個あるとき:
  1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1
これらの整数は順に、そこから k 個を取り出す選択肢の数を表し(k = 0, 1, 2, ···, 10)、言い換えれば 10 枚のコインを投げたとき、表が k 枚になるパターン数に当たる。参照の便宜上、これらの整数を
  C0, C1, C2, ···, C10
と呼ぶと、偶数個(ただし 0 個を除く)を取り出す選択肢の総数は:
  C2 + C4 + C6 + C8 + C10 = 45 + 210 + 210 + 45 + 1 = 511
奇数個を取り出す選択肢の総数は:
  C1 + C3 + C5 + C7 + C9 = 10 + 120 + 252 + 120 + 10 = 512
再び「握りの結果は奇数になりやすい」ことを確認できる。もし第一の和に「0 個を取り出す選択肢」の数 C0 = 1 を追加するなら、この格差は解消される。

19世紀フランスのクールノ(Cournot)は、問題を拡張して、握った石の数が「3 の倍数」「3 の倍数 + 1」「3 の倍数 + 2」のどれになりやすいか――というようなことを考えた。引き続き n = 10 の例:
  C3 + C6 + C9 = 120 + 210 + 10 = 340
  C1 + C4 + C7 + C10 = 10 + 210 + 120 + 1 = 341
  C2 + C5 + C8 = 45 + 252 + 45 = 342
この場合、第一の和に C0 = 1 を追加しても、もはや格差は解消されない!

Cournot はさらに、握った石の数が「4 の倍数」「4 の倍数 + 1」「4 の倍数 + 2」「4 の倍数 + 3」のどれになるかも検討。言い換えると、握った石の個数を 4 で割った余りが 0, 1, 2, 3 のどれになりやすいか…?

確率の話は別としても、好奇心を刺激する問題だ――あめ玉であれ碁石であれ、ランダムに取り出すなら(そして C0 の可能性も考慮するなら)、握った個数のパターンは常にランダムになりそうにも思えるのだが(だとすれば 3 で割った余りや、 4 で割った余りに偏りがないはず)、実はそうならない。では、どうなるのか?

デンマークのラームス(Ramus)は、視点を広げて、一般の s について「選択のパターン」(例=取り出したあめ玉の数)がどうなるか、 s で割った余りで分類した。例えば s = 5 なら 5 で割った余りが 0, 1, 2, 3, 4 のどれになるか。 s = 6 なら 6 で割った余りが 0, 1, 2, 3, 4, 5 のどれになるか。等々。

この問題は、見掛け以上に奥が深い…

そんなわけで、ラームスの研究を(なるべく分かりやすい形で)まとめてみたい。内容は高校生の知識の範囲で普通に理解可能ではあるけど、多くの読者は、その手法・展開にびっくりするだろう――「碁石の数」のような一見素朴な計算に「複素数」が使われるのだから…。まさに深奥(しんおう)幽玄。

s = 4 の具体例に関しては、既に「漫画の数学」でも、同じ話題に触れている。(次のメモへ続く)

✿ ✿ ✿


2026-10-31 ラームスの公式の導き方 デンマークから

(一つ前のメモから続く)

画像: デンマークの地図、シェラン島・ファルスタ島などの位置。首都コペンハーゲンのあるシェラン島(Sjælland)は、ざっと四国の半分の大きさ。ファルスタ島(Falster)はその南に位置する(淡路島くらいの面積)。デンマーク=北欧といっても、ドイツ北端より低緯度。19世紀の初め、ラームス(Christian Ramus, 1806–1856)は、この小島で生まれた。

ラームスの恒等式――その起源は、フランスの「偶数・奇数ゲーム」。例えば、袋からあめ玉を無作為にひとつかみ(1 個以上)取り出すと、握ったあめの数は「偶数か奇数か確率半々」ではなく「奇数になりやすい」。これは直観に反している!

同様に、ランダムに握ったあめ玉の個数が「3 の倍数」「3 の倍数 + 1」「3 の倍数 + 2」のどれになるかも、確率 1/3 ずつではない。

現代では、この問題は確率の問題としてではなく、次のようなパズルとして扱われる――パスカル(Pascal)の三角形の 1, n, ··· と始まる行を数列 C0, C1, ··· と見た場合、次の例のような「一定間隔で抜き出した項の和」を求めるには、どうすればいいか?
  〔例1〕 C0 + C3 + C6 + C9 + ···
  〔例2〕 C0 + C5 + C10 + C15 + ···
  〔例3〕 C2 + C7 + C12 + C17 + ···

ラームスは、この種の和を求める一般公式を最初に発見した。その導出過程は面白く、プログラミングのバイブル TAOCP [5] にも収録されている。

初歩的なことまで細かく記すとかえって要点がぼやけるので、本編を「高校生向けの軽い読み物」のような感じで短くまとめ、付録として脚注を付けた。脚注を無視して本編だけ読めば足りるけど、もし分かりにくい部分があったら対応する脚注リンクをどうぞ、という仕様。自分自身の研究(好奇心)と知識の整理が主目的ですが、何かの参考になれば幸いです。

画像: 高い塔のある教会。
1806年、 Ramus は Falster 島の Nykøbing で生まれた。
この教会は町のランドマークらしい。
左は19世紀、右は現代。 [Credit: Rune Johansen]

✿

本編 [§1/2, §2/2]
 付録 [付録A・別表現, 付録B・具体例, 付録C・別の導出法]
 ○ 脚注    ○ 参考文献

Keywords: Ramus’s Identity, lacunary sums of binomial coefficients, lacunary binomial sums, wraparound binomial coefficients, sum of every m-th entry of row n in Pascal’s triangle, sum of nCk for k ≡ r mod m, multisection of series

✿

§1/2. 0 以上の整数 n を一つ選び、固定する。

nCk = (n C k) は「n 個の物から k 個の物を選ぶ選択肢」の数ですが(二項係数とも呼ばれる)、とりあえず細かい知識は不要。たった一つ、次の性質を使います(n の表記を略して Ck と記す):

「一番簡単な二項展開」⦅もっと詳しく⦆
  (1 + w)n = ∑{k=0 to n} Ck⋅wk = C0⋅w0 + C1⋅w1 + C2⋅w2 + ··· + Cn⋅wn

ここで問題です。 Ck たち(C0, C1, C2, C3, ···)を 一定間隔で抜き出して足した和、例えば C0 + C5 + C10 + ··· は、どういう値を持つでしょうか?

Ck の値を具体的に定義してないのに答えを出せるはずがない、とも思えるが、実は上記「一番簡単な二項展開」の性質だけから答えが出る。

∑{k=0 to n}  Ck = C0 + C1 + C2 + ··· + Cn の和を制限して、 k が 5 の倍数の項だけを足したいとする(C0 + C5 + C10 + ···)。下記公式の最初の発見者 Ramus をリスペクトして、この種の足し算結果を文字 R で表すことにします。

もし魔法のような便利な関数 ƒ(k) があって、
  k が 5 の倍数なら ƒ(k) = 1
  k が 5 の倍数でなければ ƒ(k) = 0
という性質を持つとしたら、単に
  ∑{for k} ƒ(k)⋅Ck  ①
とすることで R が求まる。なぜなら、そのとき①の和は、
  1⋅C0 + 0⋅C1 + 0⋅C2 + 0⋅C3 + 0⋅C4 + 1⋅C5 + 0⋅C6 + 0⋅C7 + 0⋅C8 + 0⋅C9 + 1⋅C10 + 0⋅C11 + 0⋅C12 + ···
のようになって「要らない項」は 0 倍され消滅、「抜き出して足したい項」だけが残るから。

古来このような場合、 1 の原始 5 乗根⦅何それ?⦆
  α = cos (2π/5) + i sin (2π/5)
が活用される。すなわち、等比数列の和
  (1)x + (α)x + (α2)x + (α3)x + (α4)x  ②
は、 x が 5 の倍数なら 5 に等しく、 x がそれ以外の整数なら 0 に等しい⦅なぜ?⦆。従って②を 5 で割ったものを ƒ(x) とすれば、①は望み通りの性質を持つ。 Riordan [6] のいう ancient vintage(年代物の極上ワイン)。

いちいち 5 で割るのも面倒なので、②をそのまま ƒ(x) としてもいい。その場合①の和は、
  5⋅C0 + 0⋅C1 + 0⋅C2 + 0⋅C3 + 0⋅C4 + 5⋅C5 + 0⋅C6 + 0⋅C7 + 0⋅C8 + 0⋅C9 + 5⋅C10 + 0⋅C11 + 0⋅C12 + ···
   = 5C0 + 5C5 + 5C10 + ··· = 5(C0 + C5 + C10 + ··· )
のように求めたい R の 5 倍になるけど、最後にまとめて 5 で割れば同じこと。

同様に、例えば「k が 5 の倍数より 2 大きい」ような項だけを足したいなら(C2 + C7 + C12 + ···)、 ②で x = k − 2 とすればいい――つまり ƒ(k) の代わりに ƒ(k − 2) を使えばいい。そうすれば ƒ(x) の性質上「2 を引いたら 5 の倍数になるような k」について Ck が抜き出され、足し算される(「5 の倍数 + 2」と「2 を引けば 5 の倍数」は同じ意味)。より一般的に 1 以上の整数 s が与えられたとき、
  α = cos (2π/s) + i sin (2π/s)
とするなら(1 の原始 s 乗根)、等比数列の和
  ∑{ℓ=0 to s−1} (αℓ)x = (1)x + (α)x + (α2)x + ··· + (αs−1)x
は、 x が s の倍数か否かに応じて、 s ないし 0 に等しい。 k が「s の倍数 + t」であるような Ck たちを足す方法も、同様(t は k を s で割った余り)。すなわち、特定の s, t が与えられたとき、
  ƒ(k) = ∑{ℓ=0 to s−1} (αℓ)k−t  ③
の値は、 k から t を引いた結果が s の倍数になるか否かに応じて(言い換えれば k が「s の倍数 + t」であるか否かに応じて)、 s ないし 0 に等しい。よって③を使うと、
  ∑{k=0 to n} ƒ(k)⋅Ck  ①再掲
は、求めたい R の――つまり k が「s の倍数 + t」であるような Ck たちの和の―― s 倍だ。③を①に代入して sR はこうなる:
  ∑{k=0 to n} [∑{ℓ=0 to s−1} (αℓ)k−t]⋅Ck


総和はともだち
こわくない

二重の ∑
は表計算。
各行の小計
を縦に足す
と合計が求
まる。 ∑∑
の意味は
それだけ!


二重の ∑ が厄介そうだが心配ご無用。 Ramus の恒等式は ∑ を含む公式であり、別に ∑ があっても困らない。しかも上記の ∑∑ は「一番簡単な二項展開」で w = αℓ と置いた形を内包している――軽微な変形により ∑ を一つ除去して (1 + αℓ)n に置き換えられる。そのためには (αℓ)k⋅Ck だけが ∑k によって直接足し算される必要があるから、まず ∑k と ∑ℓ の順序を入れ替えるのが吉[その後で、式中の (αℓ)k−t = (αℓ)k⋅(αℓ)−t から、欲しい因子 (αℓ)k を取り出せる]:
  sR = ∑{k=0 to n} [∑{ℓ=0 to s−1} (αℓ)k−t]⋅Ck = ∑{k=0 to n} ∑{ℓ=0 to s−1} (αℓ)k−t⋅Ck
   = ∑{ℓ=0 to s−1} ∑{k=0 to n} (αℓ)k−t⋅Ck

上の式の [ ] は、結果に影響しないので⦅なぜ?⦆除去。三つ目の等号では、総和記号の順序を入れ替えた⦅いいの?⦆。入れ替え後の「内側の ∑ 内」において、 ℓ は外側の ∑ によって 1 ずつ増えるけど、ある一つの ℓ の値を扱っている間、内側の ∑ 内では α, ℓ, t は一定。そこで、次のように「共通の因子」をくくり出し内側の ∑ 内を短くできる⦅どういうこと?⦆:
   = ∑{ℓ=0 to s−1} ∑{k=0 to n} (αℓ)k⋅(αℓ)−t⋅Ck = ∑{ℓ=0 to s−1} α−ℓt ∑{k=0 to n} (αℓ)k⋅Ck
これで内側の ∑ は「一番簡単な二項展開」の公式で w = αℓ と置いた形に。公式を逆向きに使うと:
  sR = ∑{ℓ=0 to s−1} α−ℓt (1 + αℓ)n  ④
めでたく ∑ が一つ消滅、いい感じにすっきり!

具体的な Ck たちの値を考えることなく、それらの和の s 倍が、一応求まった―― 1 の原始 s 乗根 α を使った式として。その意味で④は(s で割れば)既に有効な一つの答え。ただし求めたい和 R は整数なのに、複素数 α を使ってそれを表すのは必ずしも便利ではない。

✿

§2/2. さて、④の ∑ 内の式
  α−ℓt (1 + αℓ)n  (✽)
をどう料理しましょう? まずは、かっこ内の 1 + αℓ ですが、それを扱う実直な方法は、定義通りの
  α = cos (2π/s) + i sin (2π/s)  ⑤
を(✽)に代入、三角関数の公式を使って、どうたらこうたら…。その手順も「あり」ですけど(付録C)、少し面倒。こういう場合の定石は、次の速攻:
  1 + αℓ = αℓ/2 (α−ℓ/2 + αℓ/2) = αℓ/2 (2 cos (ℓπ/s))  ⑥
⑥の最初の等号は、「シンプルな左辺をわざわざ難しく書き換える妙な変形」とも思えます。しかしながら、
  α1/2 = cos (π/s) + i sin (π/s)  (✽✽)
  ∴ αℓ/2 = cos (ℓπ/s) + i sin (ℓπ/s)  ⑦
なので⦅なぜ?⦆、それを α−ℓ/2 と足し合わせれば、虚部が消えて実部が 2 倍され⦅どういうこと?⦆、 1 + αℓ が瞬時に⑥右辺の形になる[それは極座標的な形式⦅何?⦆で、扱いやすい。この小技は、 1 + A の A が絶対値 1 なら、いつでも利用可能。 A1/2 をくくり出すだけ]。今、⑥を(✽)に代入して:
  α−ℓt (1 + αℓ)n = α−ℓt × (αℓ/2 × (2 cos (ℓπ/s)))n
   = α−ℓt × αℓn/2 × (2 cos (ℓπ/s))n
あとは α の指数を一つにまとめて α に⑤を代入すればいいのですが、指数に含まれる 1/2 が邪魔くさいので、便宜上 α1/2 を β と略し(α = β2)、 β についての式に書き換えておきます⦅どういうこと?⦆:
   = β−2ℓt × βℓn × (2 cos (ℓπ/s))n = βℓn−2ℓt × (2 cos (ℓπ/s))n
   = βℓ(n−2t) × (2 cos (ℓπ/s))n
文字 β は、 α1/2 つまり(✽✽)の略なので:
   = (cos (π/s) + i sin (π/s))ℓ(n−2t) × (2 cos (ℓπ/s))n  ⑧
ド・モアブルの定理を使うと:
   = (cos (ℓ(n − 2t)π/s) + i sin (ℓ(n − 2t)π/s)) × (2 cos (ℓπ/s))n  ⑨
これで実部と虚部が、さくっと分離されました。

④の ∑ 内の式、すなわち(✽)は、⑨に等しい。⑨を ℓ = 0 から s − 1 まで足した和が sR になるわけです。ここでナイスな観察は、 sR は整数、ということ――それ自体は当たり前(R は、パスカルの三角形に含まれる整数たちを抜き出して足した和なので整数だし、何個置きに抜き出すか?を表す s も整数)。でも、総和の成分⑨の一つ一つは複素数で、虚部がある。これは何を意味するか。仮に⑨の複素数を
  Aℓ + iBℓ ここで Aℓ, Bℓ は何らかの実数
とすると、
  ∑ = (A0 + iB0) + (A1 + iB1) + ··· + (As−1 + iBs−1) = sR + i⋅0
となって、虚部の和はゼロ、ってことです。つまり、
  B0 + B1 + ··· + Bs−1 = 0
です。だったら、結果に関係ない虚部(どうせ和は 0)を初めから無視して実部だけ足し算し、
  A0 + A1 + ··· + As−1 = sR
としても同じこと! その方が、はるかに簡単。⑨の実部は
  cos (ℓ(n − 2t)π/s) × (2 cos (ℓπ/s))n
ですから、それを ℓ = 0 から s − 1 まで足したら sR になる、と。要するに:
  sR = ∑{ℓ=0 to s−1} [cos (ℓ(n − 2t)π/s) × (2 cos (ℓπ/s))n]
おお、女神よ! このロジックは素晴らしい――⑨のゴチャゴチャが、一瞬にして軽快に。

両辺を s で割って、次の結論に至ります(便宜上、積を逆順で表記)。

定理5 ラームスの恒等式(C. Ramus, 1834年/Knuth 風表記) 任意の整数 n ≧ 0 と、任意の整数 s, t について(0 ≦ t < s):
  R = (n C t) + (n C s + t) + (n C 2s + t) + ···
   = (1/s) ∑{ℓ=0 to s−1} (2 cos (ℓπ/s))n cos (ℓ(n − 2t)π/s)

定理5の式は、少し違う形で書かれることもあり、別形式の方が便利なこともある(付録A)。

定理5やその別形式は、任意の s に対する式。具体的な個々の s に対して、この式がどうなるかは別問題。付録Bでは、簡単な例として s = 3, 4 の場合について略述する。

✿

付録A 定理の別表現

定理5.1(Ramus の恒等式の別形式1) n ≧ 0 のとき:
  R = 2n/s + (1/s) ∑{ℓ=1 to s−1} (2 cos (ℓπ/s))n cos (ℓ(n − 2t)π/s)
あるいは、同じことだが:
  R = (1/s)[2n + ∑{ℓ=1 to s−1} (2 cos (ℓπ/s))n cos (ℓ(n − 2t)π/s)]

証明 ℓ = 0 のとき、定理5の ∑ 内は 2n⋅1 = 2n に等しい――なぜならそのとき、第1の因子は (2 cos 0)n = 2n であり、第二の因子は cos 0 = 1 です。 ℓ = 0 に対する ∑ の値を分離し、総和を ℓ = 1 から s − 1 までとすれば、定理5.1を得る。∎

今、定理5.1の総和記号において、
  ℓ = 1, 2, 3, ···, s − 3, s − 2, s − 1
に対応する s − 1 種類の項を考えてみます。両端から 2 項ずつ、例えば ℓ = 1 のときと ℓ = s − 1 のときに総和記号内の項が等しいこと、 ℓ = 2 のときと ℓ = s − 2 のときに総和記号内の式の値が等しいこと、等々を確かめることができます(後述)。よって、大ざっぱに言うと、最初の半分の項だけを足して結果を 2 倍すれば、項の数が約半分になって、結果は同じ。

この整理を行う場合の注意点として、 s が偶数なら s − 1 は奇数であり、両端から 2 項ずつペアにすると真ん中の ℓ = s/2 に当たる項が(ペアになる相手がなくて)残ってしまう。しかし ℓ = s/2 のとき一つ目の cos の値は 0 であり、ほとんどの場合そこから因子 0n = 0 が生じるので、 s が偶数の場合の「真ん中の項」については原則として無視してよい。

例外として s が偶数かつ n = 0 の場合、 ℓ = s/2 の瞬間に一つ目の cos の値 0 から 00 = 1 が生じるので(そして、そのとき二つ目の cos の値は一般には ≠ 0 なので)、 ℓ = s/2 に対応する項を無視できない。ゆえに、このような形式(下記定理5.2)では n = 0 のケースに対応できず、 n ≧ 1 限定となる。

定理5.2(Ramus の恒等式の別形式2: 原論文 [2] のスタイル) n ≧ 1 のとき(s が奇数なら n = 0 でもいい):
  R = 2n/s + (2/s) ∑{ℓ=1 to H} (2 cos (ℓπ/s))n cos (ℓπ/s)(n − 2t)
ここで H は s − 1 の半分(端数切り捨て)。あるいは、同じことだが:
  R = (1/s)[2n + 2 ∑{ℓ=1 to H} (2 cos (ℓπ/s))n cos (ℓ(n − 2t)π/s)]

〔注〕 s = 1 ないし s = 2 の場合 H = 0 となり、 ℓ の動く範囲は 1 以上 0 以下。そんな条件を満たす ℓ は無いので、その場合の ∑ は 0 項の和で、無いのと同じ。

証明 定理5.1は、本編で導いた定理5と同内容。仮定 n ≧ 1 の下で、定理5.1の式と定理5.2の式が同内容であることを示したい。それには、次の関係を示せば十分――「任意の整数 m が与えられたとき、
  cosn (ℓπ/s) × cos (ℓ(n − 2t)π/s)  ⑩
は、 ℓ = m と ℓ = s − m のどちらに対しても同じ値を持つ」。実際、 mπ/s を θ とすると (s − m)π/s = π − mπ/s は π − θ なので:
  cos ((s − m)π/s) = −cos (mπ/s)
  ∴ cosn ((s − m)π/s) = (−cos (mπ/s))n = (−1)n cosn (mπ/s)
同様に m(n − 2t)π/s = (n − 2t)θ に対する cos と、 (s − m)(n − 2t)π/s = (n − 2t)π − (n − 2t)θ に対する cos は絶対値が等しく、 n が偶数なら符号も同じ、 n が奇数なら符号は逆†。よって⑩は、 ℓ = m および ℓ = s − m に対して同じ絶対値を持ち、符号も同じ。∎

† cos x = cos (−x) なので cos ±(n − 2t)θ は等しい。 cos の出力に違いが生じるとすれば、 (n − 2t)π の部分が原因。 n が偶数ならこの部分は 2π の倍数なので、出力に影響しない。 n が奇数ならこの部分は π の奇数倍なので、出力は −1 倍される。――結局、 n が偶数なら、⑩の第一因子・第二因子は(2 種類の入力 ℓ = m および ℓ = s − m に対して)符号も含めて値が等しい。 n が奇数なら、⑩の第一・第二因子のどちらも(2 種類の入力に対して)符号だけが逆、従って両者の積は符号も一致。

Ramus の原論文では、定理5.2の第1式の形が使われてます。この形式は、一般には n = 0 に対応できないことに注意。 Cournot [1] も Ramus [2] も C0 = 1 を考察に含めておらず(それが、そもそもの「偶数・奇数ゲーム」の前提である)、従って n ≧ 1 が仮定されているのも、不思議ではない。すなわち「n 個から 0 個選ぶ」が考察対象外なら、「0 個から k 個選ぶ」はますます対象外だろう。

Cournot [1] と Ramus [2] は、本稿の n, s, t, ℓ の代わりにそれぞれ文字 x, p, r, k を使用。 t (= r) = 0 のとき 1 を引いているのは C0 を除外しているため。‌

定理5.3(Ramus の恒等式の別形式3) n ≧ 0 のとき:
  R = (1/s) ∑{ℓ=1 to s} (2 cos (ℓπ/s))n cos (ℓ(n − 2t)π/s)

これは定理5とほとんど同じだが、 ∑ の範囲を ℓ = 0 から s − 1 とする代わりに、 ℓ = 1 から s としたもの。つまり和の範囲から ℓ = 0 を除去して、代わりに ℓ = s を和の範囲に追加。外形的には、定理5より簡潔(2文字少ない)。実用上は ℓ = s より ℓ = 0 の方が計算しやすい。

証明 定理5.2の証明で見たように ∑ の内側の式は、 ℓ = m に対しても ℓ = s − m に対しても、同じ値を持つ(m は任意の整数)。従って ℓ = 0 に対しても ℓ = s に対しても、同じ値を持つ(n = 0 の場合も含む)。∎

✿

付録B 具体例(s = 3, 4)

(s − 1)/2 の端数を切り捨てたものを H とする。定理5.2から:
  R = (1/s)[2n + 2 ∑{ℓ=1 to H} (2 cos (ℓπ/s))n cos (ℓ(n − 2t)π/s)]

s = 3 のとき (3 − 1)/2 = 1 なので H = 1 で、 ℓ は 1 から 1 まで動く(つまり ∑ は ℓ = 1 の一つの項のみ):
  R = (1/3)[2n + 2 ∑{ℓ=1 to 1} (2 cos (ℓπ/3))n cos (ℓ(n − 2t)π/3)] = (1/3)[2n + 2 (2 cos (π/3))n cos ((n − 2t)π/3)]
   = (1/3)[2n + 2 (2⋅1/2)n cos ((n − 2t)π/3)] = (1/3)[2n + 2 cos ((n − 2t)π/3)]
3 種類の和(t = 0, 1, 2)をこのように統一的に表現できるのは、気持ちがいい!

今、特定の s, t に対する R の値を Rs,t と書くと:
  R3,0 = (1/3)[2n + 2 cos (nπ/3)]
  R3,1 = (1/3)[2n + 2 cos ((n − 2)π/3)] = (1/3)[2n − 2 cos ((n + 1)π/3)]
  R3,2 = (1/3)[2n + 2 cos ((n − 4)π/3)] = (1/3)[2n − 2 cos ((n − 1)π/3)]

下の二つの式について。単位円上の 180° 反対側の点は、当然、座標値の符号が正反対。つまり入力の角度が 180° 違うと cos の値は、符号が逆になる。従って(そうしたければ)、 cos の入力に 180° = π = 3π/3 を足して cos を −cos に置き換えてもいい。

〔付記〕 原論文では R3,0 の式に誤植があり、 Cournot [1] では + が − に、 Ramus [2] では cos の係数 2 が 1 になっている。一方:
  cos (nπ/3 ± π/3) = cos (nπ/3) cos (π/3) ∓ sin (nπ/3) sin (π/3) = (1/2) cos (nπ/3) ∓ (√3/2) sin (nπ/3)
両辺を −2 倍して:
  −2 cos ((n ± 1)π/3) = −cos (nπ/3) ± √3 sin (nπ/3)
両著者は R3,1, R3,2 を次のように表記したが、上記のことから、これは正しい:
  (2n/3) − (1/3) cos (nπ/3) ± (√3/3) sin (nπ/3)

次に s = 4 の場合。 (4 − 1)/2 = 1.5 なので、やはり H = 1 で ∑ は ℓ = 1 の一つの項のみ(ただし n ≧ 1):
  R4,t = (1/4)[2n + 2 ∑{ℓ=1 to 1} (2 cos (ℓπ/4))n cos (ℓ(n − 2t)π/4)] = (1/4)[2n + 2 (2 cos (π/4))n cos ((n − 2t)π/4)]
   = (1/4)[2n + 2 (√2)n cos ((n − 2t)π/4)] = 2n−2 + (√2)n−2 cos ((n − 2t)π/4)  ⑪
⑪に含まれる cos ((n − 2t)π/4) は、 t の値に応じて、こう簡約可能:
  t = 0 ⇒ cos (nπ/4)
  t = 2 ⇒ cos ((n − 4)π/4) = −cos (nπ/4)
  t = 1 ⇒ cos ((n − 2)π/4) = sin (nπ/4)
  t = 3 ⇒ cos ((n − 6)π/4) = sin ((n − 4)π/4) = −sin (nπ/4)
これらを⑪に代入した結果は、定理4.1の内容と一致する。

〔注〕 入力が ±90° 違う cos と sin は、符号を無視するなら、値が等しい。なぜなら「角度が 90° ずれる」のは「横軸と縦軸が入れ替わる」ことに当たり、いうなれば cos が sin になり sin が cos になる。従って(そうしたければ)入力を 90° = π/2 = 2π/4 ずらすことによって、 cos と sin を入れ替えてもいい――問題は符号の設定だが(どっち向きに 90° 回転するかによって、回転後の「正の向き」が異なり、それが符号に影響する)、単純に考えて cos 0° = +1 そして sin ±90° = ±1 なのだから、 sin の角度が cos の角度より 90° 大きければ符号はそのままでよく、その逆のときは符号が反転する。

画像: ラームスの墓。
1856年、 Ramus は 49 歳で逝去。
墓はコペンハーゲンにあるという。 [Credit: Orf3us]

✿

付録C 別の導出法

本編⑥では、
  1 + αℓ = αℓ/2 (α−ℓ/2 + αℓ/2) = αℓ/2 (2 cos (ℓπ/s))
というイディオム(よく使われる変形法)を使いました。第一の等号の変形は、逆数同士の和(この場合、それは共役複素数同士でもある)を作り、虚部を消滅させるものです。大変便利な手筋ですが、もしこれが気に入らないなら、代わりに三角関数の公式を使うことも可能です。少々面倒だけど…

α の定義とド・モアブルの定理から:
  1 + αℓ = 1 + (cos (2π/s) + i sin (2π/s))ℓ = 1 + cos (2ℓπ/s) + i sin (2ℓπ/s)  ⑫
この右辺の形は、 ℓπ/s を θ と見ると
  1 + cos 2θ + i sin 2θ  ⑬
であり、何かするとしたら、とりあえず倍角の公式でしょう。それでどうなるのか、いまいち不透明だが…

cos (θ + θ) = cos θ cos θ − sin θ sin θ
 ∴ cos 2θ = cos2 θ − sin2 θ  ア
 アから cos 2θ = (1 − sin2 θ) − sin2 θ = 1 − 2 sin2 θ  イ
 アから cos 2θ = cos2 θ − (1 − cos2 θ) = −1 + 2 cos2 θ  ウ
sin (θ + θ) = sin θ cos θ + cos θ sin θ
 ∴ sin 2θ = 2 cos θ sin θ  エ

⑬の sin にはエを使うしかあるまい。一方 cos にアを使っても要領を得ない。ウを使うと⑬の 1 とエの −1 が打ち消し合って、
  ⑬ = 1 + (−1 + 2 cos2 θ) + i⋅2 cos θ sin θ = 2 cos2 θ + i⋅2 cos θ sin θ = 2 cos θ (cos θ + i sin θ)
となる。これを適用すると:
  1 + αℓ = ⑫ = 2 cos (ℓπ/s) × (cos (ℓπ/s) + i sin (ℓπ/s))  ⑭

ここでもし本編⑦の αℓ/2 = cos (ℓπ/s) + i sin (ℓπ/s) を承認するなら、
  1 + αℓ = 2 cos (ℓπ/s) × αℓ/2
となって、それを α−ℓt (1 + αℓ)n の丸かっこ内に代入すれば、本編と同様に進む。

⑦を使わずに、(✽)の丸かっこ内に⑭の右辺を直接代入することによっても、目的を達成可能:
  α−ℓt (1 + αℓ)n = α−ℓt × [2 cos (ℓπ/s) × (cos (ℓπ/s) + i sin (ℓπ/s))]n
   = (cos (2π/s) + i sin (2π/s))−ℓt × (2 cos (ℓπ/s))n × (cos (ℓπ/s) + i sin (ℓπ/s))n
ド・モアブルの定理の公式を逆向きに使って:
   = [(cos (π/s) + i sin (π/s))2]−ℓt × (2 cos (π/s))n × [(cos (π/s) + i sin (π/s))ℓ]n
   = (cos (π/s) + i sin (π/s))ℓn−2ℓt × (2 cos (π/s))n
   = (cos (π/s) + i sin (π/s))ℓ(n−2t) × (2 cos (π/s))n
あまり見通しが良くないが、本編の⑧が得られた。(本編に戻る)

✿

本編への脚注

注1 パスカルの三角形の n 行目(先頭の 1 を「0 行目」とする)にある n + 1 個の数が、順に C0, C1, ···, Cn です。パスカルの三角形の意味から(あるいは n 個から k 個選ぶ選択肢の数、という解釈からも)、 Ck は必ず 0 以上の整数。例えば C3 なら C3 の具体的な値は、考えている n によって異なる。いずれにしても、このメモでは、実質的に「一番簡単な二項展開」しか使わない。「二項係数・超入門」参照。

注2 α = cos (2π/5) + i sin (2π/5) という数それ自身は、明らかに 1 ではない(実部は 1 ではないし、 sin 72° > 0 だから、虚部は 0 ではない)。しかしド・モアブルの定理から、
  α5 = cos (10π/5) + i sin (10π/5) = 1 + i⋅0 = 1
なので、 α を 5 乗すると結果は 1 になる(5 乗すると 1 になるから α は「1 の 5 乗根」)。同様の考察から α1, α2, α3, α4 は、どれも 1 ではない。つまり α は 5 乗すると初めて 1 になり、それより小さい正の指数では 1 にならない。「5 乗すると初めて 1」=「5 乗すると原始的に 1」という性質を「1 の原始 5 乗根」という(「1 の原始 5 乗根」は α に限らず、例えば α2 も「1 の原始 5 乗根」であるが、その話は割愛)。直観的には、 α は原点を中心をする半径 1 の円(=単位円)の円周上において、偏角 360°/5 の場所(円周 5 等分点)に当たる。 α1, α2, α3, ··· と指数が 1 増えるたびに偏角が 360°/5 増えるので、指数が 5 の倍数になるたびに偏角 360° = 0° つまり 1 + 0i になる。同様に「1 の原始 s 乗根」は、「指数が s 増えるごとに 360° のペース」で、単位円上をクルクル回る。

注3 ②の各項は順に 1, αx, (αx)2, (αx)3, (αx)4 なので、初項 1、公比 αx の等比数列を成す。
  A = 1 + r + r2 + ··· + rs−1  ★
という s 項の等比数列(公比 r)の和を求めるには、両辺を r 倍した
  rA = r + r2 + r3 + ··· + rs
を考え、下から上を引くと:
  (r − 1)A = rs − 1  ☆☆
ここでもし r ≠ 1 なら r − 1 ≠ 0 なので、☆☆の両辺を r − 1 で割れば A の値が求まる。しかるに、われわれの r は 1 の s 乗根であるから rs − 1 = 1 − 1 = 0 であり、それを何で割ったとしても(割り算が可能である限りにおいて)答えは 0。一方、もし r = 0 なら r − 1 = 0 なので、 r − 1 での割り算は不可能。けれど、もし r = 1 なら★右辺の s 個の項は明らかにどれも 1 なので、難しく考えるまでもなく、★右辺の和は「s 個の 1 の和」つまり s に等しい。

注4 ∑{k=0 to n} [∑{ℓ=0 to s−1} (αℓ)k−t]⋅Ck の [ ] 内の和の各項は、 k と ℓ の両方に依存する。仮にその項の一つ一つを Akℓ とすると(t は定数なので A の定義に含める)、 [ ] の有る計算は、次のようなもの:
  [A00 + A01 + A02 + ···]⋅C0
   + [A10 + A11 + A12 + ···]⋅C1
   + [A20 + A21 + A22 + ···]⋅C2
   + [A30 + A31 + A32 + ···]⋅C3 等々
一方、 ∑{k=0 to n} ∑{ℓ=0 to s−1} (αℓ)k−t⋅Ck の場合、つまり [ ] を除去した場合、上記 A たちの一つ一つに Ck が掛け算されるのだから、次のようになる:
  A00⋅C0 + A01⋅C0 + A02⋅C0 + ···
   + A10⋅C1 + A11⋅C1 + A12⋅C1 + ···
   + A20⋅C2 + A21⋅C2 + A22⋅C2 + ···
   + A30⋅C3 + A31⋅C3 + A32⋅C3 + ··· 等々
どちらの計算でも、もちろん結果は同じ(分配法則)。

注5 k と ℓ の両方に依存して定まる値 Akℓ があって、 k, ℓ の両方が順に動くとする。例えば:
  A00, A01, A02
  A10, A11, A12
このとき、先に各行の和を求めて(まず k が一定で ℓ が動く)、その「行ごとの小計」を合算してもいい(今度は k が動く)。あるいは、先に各列(縦)の和を求めて(まず ℓ が一定で k が動く)、その「列ごとの小計」を合算してもいい(今度は ℓ が動く)。どちらの順序でも最終結果が一致することは明白。行の数・列の数が幾つあっても同様。すなわち ∑k ∑ℓ Akℓ のような二重総和があるとき、そうしたければ ∑ℓ ∑k Akℓ の順序で計算しても構わない。

注6 例えば、次のような総和があるとしよう:
  ∑{k=1 to 3} pƒ(k) = pƒ(1) + pƒ(2) + pƒ(3)  【上】
ここで ƒ(k) は k を含む何らかの式で、当然、その値は一般には k によって異なる。よって基本的には k の値が変わるたびに、その k に対する ƒ(k) の値を再計算するしかない。一方、もし p の値が k の変化と無関係だとすれば(仮に p が変数だとしても、この足し算の期間中は p の変化が「止まっている」とすれば)、 ƒ(k) の呼び出しごとに p を掛け算する代わりに、その p を「くくり出して」まとめて一回だけ掛け算してもいい。つまり上記の総和は、次の式に等しい:
  p⋅∑{k=1 to 3} ƒ(k) = p⋅[ƒ(1) + ƒ(2) + ƒ(3)]  【下】
【上】と【下】の値は同じだから(分配法則)、どちらからどちらに変形してもいい。

注7 (✽✽)の cos (π/s) + i sin (π/s) を 2 乗すると、ド・モアブルの定理から、⑤の α になる。一方、 (α1/2) の 2 乗も α なので、(✽✽)の数と α1/2 が等しいとしても、不思議ではない――「そうだとしても不思議ではないからといって、事実そうだと言い切れるのか?」という技術的詳細については割愛しますが、単純に α1/2 は(✽✽)のことだと定義した、と解釈してください。(✽✽)の両辺を ℓ 乗すると、左辺は (α1/2)ℓ = αℓ/2 になり、右辺は
  (cos (π/s) + i sin (ℓπ/s))ℓ = cos (ℓπ/s) + i sin (ℓπ/s)
になるので、 ∴ のようになります。

注8 一般に A = cos θ + i sin θ の形の数の逆数 A−1 は cos θ − i sin θ です。実際 −i2 = −(−1) = +1 に留意すると:
  (cos θ + i sin θ)(cos θ − i sin θ) = cos2 θ − i cos θ sin θ + i sin θ cos θ − (i sin θ)2
   = cos2 θ − i2 sin2 θ = cos2 θ + sin2 θ = 1

確かに cos θ + i sin θ と cos θ − i sin θ は積が 1、つまり互いに逆数。そして両者を足し合わせると、実部 cos θ が 2 倍され、虚部 ±i sin θ は打ち消し合い、結果は 2 cos θ です。

本文では⑦の αℓ/2 = cos (ℓπ/s) + i sin (ℓπ/s) とその逆数 α−ℓ/2 の和を考えているので(θ = ℓπ/s)、和は 2 cos (ℓπ/s) です。

注9 cos2 θ + sin2 θ = 1 なので、 cos θ + i sin θ の形の複素数の絶対値は 1。原点を中心とする半径 1 の円周上の点に当たり、原点から見た「方位」に当たります。⑥右辺の αℓ/2 は⑦と同じ意味なので、この「方位を表す」性質を持つ。一方(入力が実数である限りにおいて)、 cos やその 2 倍などの値は実数なので、複素平面上の「方位」と関係なく、単に「長さ」を表します。この場合、 cos の値は負かもしれず、「長さ」といっても「バック」(反対方向への距離)かもしれませんが…。ともかく「方位」を表す成分と「長さ」を表す成分を切り分けておくと、累乗の計算と相性が良い。 1 + αℓ をそういう形式で表しておくと、(✽)の n 乗の処理に好都合。

注10 α = β2 ですから、
  α−ℓt = (β2)−ℓt = α−2ℓt
などとなる。要するに α を β に置き換えると指数が 2 倍される、ってだけです。外側の指数 B が整数なら、複素数の範囲でも (wA)B = wAB が成り立ちます。ちなみに、定義により α は「1 の原始 s 乗根」だが、 β はその α の平方根。「1 の原始 2s 乗根」に当たる。

✿

参考文献 * と ⁑ は比較的読みやすい。 ⁑ はお薦め。

[1] Antoine Augustin Cournot (1829), “Solution d’un problème d’analyse combinatoire,” Bulletin des sciences mathématiques, Vol. 11, 93–97
https://gallica.bnf.fr/ark:/12148/bpt6k9760699c/f125.item
Cournot は s = 1, 2, 3, 4 のケースを解決した。

[2] Christian Ramus (1834), “Solution générale d’un problème d’analyse combinatoire,” Crelle (Journal für die reine und angewandte Mathematik), Vol. 11, 353–355
https://gdz.sub.uni-goettingen.de/id/PPN243919689_0011?tify=%7B%22pages%22%3A%5B365%5D%2C%22view%22%3A%22%22%7D
Ramus の原論文。 Cournot (1829) を拡張、一般の s について解決。

[3]* Eugen Netto (1901), Lehrbuch der Combinatorik, §12
https://archive.org/details/lehrbuchdercomb00nettgoog/page/n34/mode/1up
Ramus の恒等式の標準的な導出法。他の文献と異なり Cournot のみならず Mairan にも言及。

[4]⁑ A. M. Yaglom & I. M. Yaglom (1954, tr. 1964), Challenging Mathematical Problems with Elementary Solutions, Vol. 1, 第58問
https://archive.org/details/yaglom-yaglom-challenging-mathematical-problems-with-elementary-solutions-vol.-1
s = 3, 4 のケースの詳細な解説。

[5]⁑ Donald E. Knuth (1968, 3rd. ed. 1997), The Art of Computer Programming, Vol. 1, §1.2.6, Exercise 38
Ramus の恒等式が提示され、証明問題として扱われる。導出は標準的。圧縮された説明。ほぼ同内容を下記 URL で読むことができる。
https://proofwiki.org/wiki/Ramus%27s_Identity

[6] John Riordan (1968, 1979), Combinatorial Identities, §4.3 (cf. Chap. 4, Prob. 8)
数列の multisection の観点から、より広い話題を扱う。(本書は、スターリング数と類似の「中央階乗数」を扱ったまれな文献でもある。)

[7] Louis Comtet, Advanced Combinatorics (1970, tr. 1974), Chap. I, Supplement and Exercises 26
https://archive.org/details/Comtet_Louis_-_Advanced_Coatorics/page/n47/mode/1up
数列の multisection の観点から Ramus の公式を独立に導出。 s = 2, 3 のケースを例示。

[8] Henry W. Gould (1972), Combinatorial identities: A standardized set of tables listing 500 binomial coefficient summations
公式集。 1.54 が Ramus の恒等式、 1.55–1.59 が幾つかの特別な場合。下記 URL の p. 23 以下参照。 (6.21) が Ramus の恒等式。
https://convexoptimization.com/TOOLS/Gould.pdf

[9] V. E. Hoggatt Jr. & G. L. Alexanderson (1976), “Sums of Partition Sets in Generalized Pascal Triangles I,” The Fibonacci Quarterly, Vol. 14, No. 2, 117–125
https://www.fq.math.ca/Scanned/14-2/hoggatt1.pdf
https://web.archive.org/web/20250830013027/https://www.fq.math.ca/Scanned/14-2/hoggatt1.pdf
Ramus の方法の概要を記した上で、二項係数を多項係数に拡張したバージョンを検討。

[10]⁑ V. A. Krechmar (1978), A Problem Book In Algebra, §6.59
https://archive.org/details/v.-a.-krechmar-a-problem-book-in-algebra-mir-1978/page/75/mode/1up
s = 3, 4 特に s = 3, t = 0 のケースの詳細解説。

[11]* László Lovász (1979, etc.), Combinatorial Problems and Exercises, §1.42 (f)
https://real-eod.mtak.hu/12119/
https://web.archive.org/web/20250126025526/https://real-eod.mtak.hu/12119/1/AkademiaiKiado_002142.pdf
(See pages 18, 96, 170)
練習問題として s = 7, t = 0 のケース。簡単なヒントと式変形だけで説明なしだが、かえって粗筋を一望できる。 Guichard [13] は、これを自力で拡張したらしい。

[12] Herbert S. Wilf (1994, 2006), Generatingfunctionology, §2.4
https://www2.math.upenn.edu/~wilf/DownldGF.html
数列から s 項ごとに項を抜き出す原理についての説明がある。例として、二項係数について s = 3, t = 0 のケースを掲載。著者自らが第2版をネットで無料配布。内容はやや専門的。

[13]⁑ David R. Guichard (1995), “Sums of selected binomial coefficients,” College Mathematics Journal, Vol. 26, No. 3, 209-213
ゆったりとした読み物。途中計算の進め方が普通と違うが、それはそれで面白い。 Ramus の存在を知らずに独立に再発見したらしい。

[14] F. T. Howard & Richard Witt (1998), “Lacunary Sums of Binomial Coefficients,” Applications of Fibonacci Numbers, Vol. 7, 185–195
Ramus の恒等式を独立に導出。個々の s についての詳細な研究。 Lucas 数列などとの関連を指摘。交代和バージョンも検討。

[15] John B. Dobson (2016), A matrix variation on Ramus’s identity for lacunary sums of binomial coefficients
https://arxiv.org/abs/1610.09361
Ramus の恒等式の紹介。行列表現(t = 0)。 Fermat の最終定理との関連。

✿ ✿ ✿


<メールアドレス>