2018年2月11日日曜日

180211

Ruby


ラマヌジャンのタウ函数に関するある予想

Product_{n>=1} (1 - x^n)^24 = Sum_{n>=1} τ(n)*x^(n-1)
についてx^(n-1) の係数τ(n) をn-1 で割った余りを考える。

すると、驚くべきことにn が4 と16 を除き、10^7以下で
余りが1 となるものが存在しない。
余りが1 となるものはn が4 と16 に限るかと下記において質問したが、
未だ回答がない。
(https://mathoverflow.net/questions/292486/are-the-only-solutions-of-the-equation-taun-mod-n-1-1-n-4-and-n-16)

n が2 以上10 以下のとき、余りがk (0 以上99 以下) となる個数と、
n が2 以上10^7 以下のとき、余りがk (0 以上99 以下) となる個数を出力してみた。

require 'prime'

def A(m, n)
  ary = [0, 1]
  c_ary = Array.new(m + 1, 0)
  (2..n).each{|i|
    a = i.prime_division
    # i = p^q
    if a.size == 1
      s, t, u = 0, 1, 0
      (1..n).each{|j|
        t += 9 * j
        u += j
        break if i <= u
        s += (-1) ** (j % 2 + 1) * (2 * j + 1) * (i - t) * ary[-u]
      }
      ary << s / (i - 1)
    else
      s = 1
      a.each{|j|
        k, l = j[0], j[1]
        if l == 1
          s *= ary[k]
        else
          s *= ary[k ** (l - 1)] * ary[k] - k ** 11 * ary[k ** (l - 2)]
        end
      }
      ary << s
    end
    j = ary[-1] % (i - 1)
    c_ary[j] += 1 if j <= m
  }
  c_ary
end

m = 99
p A(m, 10)
p A(m, 10 ** 7)

出力結果
[3, 1, 3, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[631, 2, 544, 11, 18, 8, 14, 5, 20, 15, 14, 4, 23, 4, 7, 9, 17, 5, 25, 6, 21, 7, 18, 11, 15, 7, 16, 13, 19, 11, 12, 6, 16, 6, 7, 9, 20, 5, 12, 9, 21, 6, 17, 1, 11, 13, 11, 8, 26, 11, 12, 6, 18, 4, 22, 5, 21, 8, 13, 2, 18, 2, 14, 9, 15, 7, 16, 6, 11, 13, 11, 3, 39, 6, 12, 11, 14, 14, 14, 2, 12, 8, 10, 4, 31, 9, 7, 10, 10, 8, 20, 7, 18, 12, 14, 3, 17, 3, 17, 16]

0 件のコメント:

コメントを投稿