from sage.modular.dirichlet import DirichletCharacter
H = DirichletGroup(512, base_ring=CyclotomicField(128))
M = H._module
chi = DirichletCharacter(H, M([0,25]))
pari: [g,chi] = znchar(Mod(37,512))
χ512(5,⋅)
χ512(13,⋅)
χ512(21,⋅)
χ512(29,⋅)
χ512(37,⋅)
χ512(45,⋅)
χ512(53,⋅)
χ512(61,⋅)
χ512(69,⋅)
χ512(77,⋅)
χ512(85,⋅)
χ512(93,⋅)
χ512(101,⋅)
χ512(109,⋅)
χ512(117,⋅)
χ512(125,⋅)
χ512(133,⋅)
χ512(141,⋅)
χ512(149,⋅)
χ512(157,⋅)
χ512(165,⋅)
χ512(173,⋅)
χ512(181,⋅)
χ512(189,⋅)
χ512(197,⋅)
χ512(205,⋅)
χ512(213,⋅)
χ512(221,⋅)
χ512(229,⋅)
χ512(237,⋅)
...
order = charorder(g,chi)
[ charpow(g,chi, k % order) | k <-[1..order-1], gcd(k,order)==1 ]
(511,5) → (1,e(12825))
a |
−1 | 1 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | 17 | 19 | 21 |
χ512(37,a) |
1 | 1 | e(128107) | e(12825) | e(6429) | e(6443) | e(12877) | e(12887) | e(321) | e(3215) | e(12863) | e(12837) |
pari: znchargauss(g,chi,a)
sage: chi.kloosterman_sum(a,b)