2016年10月2日日曜日

161002

Ruby


p を法とする楕円曲線上の点の数(4)

http://pari.math.u-bordeaux.fr/archives/pari-dev-0506/msg00000.html
を見て、以下について、p を法とする楕円曲線上の点の数を求め、
それぞれが一致することを確認しようと思った。

y^2 = x^3 - 432,
y^2 + y = x^3 - 7

require 'prime'

def A(a3, a2, a4, a6, n)
  ary = []
  Prime.take(n).each{|p|
    a = Array.new(p, 0)
    (0..p - 1).each{|i| a[(i * i + a3 * i) % p] += 1}
    ary << (0..p - 1).inject(0){|s, i| s += a[(i * i * i + a2 * i * i + a4 * i + a6) % p]}
  }
  ary
end

n = 15000
ary = A(0, 0, 0, -432, n)
p ary == A(1, 0, 0, -7, n)

出力結果
true

0 件のコメント:

コメントを投稿