p(n) mod 2
対称群の指標をなんとなく眺めていますと、既約表現はヤング図で表わされ、ヤング図の共役に関して逆さまな順で並んでいるので普通は2個セットで出てきます。ただ自己共役なヤング図に対応する規約表現は単独で出てくることになります。
指標の表の例は以下のリンクにあります。 fortran66.hatenablog.com
ところで対称群の既約表現の数は、 マスのヤング図の数に等しく、 マスのヤング図の数は分割数に等しくなっています。となると当然あるに対する対称群の既約表現の数と分割数の偶奇性も等しいということになります。
そうして対称群の既約表現の数の偶奇性は、先に述べたように自己共役でないヤング図に対応するものは2個セットで出てきて偶数になることを考えると、自己共役なヤング図形の数の個数の偶奇性に一致することになります。
一方、 マスの自己共役なヤング図の個数は、相異なる奇数の和に等しいことが知られています。これは魚の開きのようにヤング図を斜め下45度方向から開いて平らにしてやることですぐわかります。
例: [321]
*** ** *
5+1
***** *
なお相異なる奇数の和の数は、オイラー式に奇数べきの多項式を展開して係数を数えれば求められます。
以上のことを計算して確かめてみます。
Wolfram Language
Product[(1+x^i),{i,1,21,2}]
(x+1) (x3+1) (x5+1) (x7+1) (x9+1)(x11 +1)(x13 +1)(x15 +1)(x17 +1)(x19 +1)(x21 +1)
Expand[%]
必要なところを切り出すと
x + x3 + x4 + x5 + x6 + x7 + 2x8 + 2x9 + 2x10 + 2x11 + 3x12 + 3x13 + 3x14 + 4x15 + 5x16 + 5x17 + 5x18 + 6x19 + 7x20
この展開係数より共役なヤング図の数は n=1,2,3...20 に対してそれぞれ 1,0,1,1,1,1,1,2,2,2,2,3,3,3,4,5,5,5,6,7 と求まります。その偶奇性は 1,0,1,1,1,1,1,0,0,0,0,1,1,1,0,1,1,1,0,1 (0:偶、1:奇) となり、これが分割数 p(n) の偶奇性と一致するはずです。
Expand[%, Modulus->2]
こうすればよかったw
fortran
分割数を制限付き分割で計算します。Fortran2018 で導入の import, none を使うと、内部副プログラムの変数のアクセスコントロールが可能になり、うっかりメインルーチン側の変数を間違って使ってしまうことを抑止できます。(implicit none みたいなもの)
mod 2 で求めた偶奇性も求めます。
program partition implicit none integer :: i do i = 1, 20 print *, i, pr(i, 1), mod(pr(i, 1), 2) end do contains ! restricted partition pure recursive integer function pr(n, k) result(ires) import, none integer, intent(in) :: n, k if (n < k .or. k <= 0) then ires = 0 else if (n == k) then ires = 1 else ires = pr(n - k, k) + pr(n, k + 1) end if end function pr end program partition
計算結果
1 1 1 2 2 0 3 3 1 4 5 1 5 7 1 6 11 1 7 15 1 8 22 0 9 30 0 10 42 0 11 56 0 12 77 1 13 101 1 14 135 1 15 176 0 16 231 1 17 297 1 18 385 1 19 490 0 20 627 1
果たして、自己共役なヤング図の数の偶奇性と一致しました。
Wolfram Engine + intel fortran
- 作者:ジョージ・アンドリュース,キムモ・エリクソン
- 発売日: 2006/05/01
- メディア: 単行本