from sage.modular.dirichlet import DirichletCharacter
H = DirichletGroup(103, base_ring=CyclotomicField(102))
M = H._module
chi = DirichletCharacter(H, M([61]))
pari: [g,chi] = znchar(Mod(11,103))
χ103(5,⋅)
χ103(6,⋅)
χ103(11,⋅)
χ103(12,⋅)
χ103(20,⋅)
χ103(21,⋅)
χ103(35,⋅)
χ103(40,⋅)
χ103(43,⋅)
χ103(44,⋅)
χ103(45,⋅)
χ103(48,⋅)
χ103(51,⋅)
χ103(53,⋅)
χ103(54,⋅)
χ103(62,⋅)
χ103(65,⋅)
χ103(67,⋅)
χ103(70,⋅)
χ103(71,⋅)
χ103(74,⋅)
χ103(75,⋅)
χ103(77,⋅)
χ103(78,⋅)
χ103(84,⋅)
χ103(85,⋅)
χ103(86,⋅)
χ103(87,⋅)
χ103(88,⋅)
χ103(96,⋅)
...
order = charorder(g,chi)
[ charpow(g,chi, k % order) | k <-[1..order-1], gcd(k,order)==1 ]
5 → e(10261)
a |
−1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
χ103(11,a) |
−1 | 1 | e(5116) | e(3411) | e(5132) | e(10261) | e(10265) | e(5120) | e(1716) | e(1711) | e(3431) | e(10249) |
pari: znchargauss(g,chi,a)
sage: chi.kloosterman_sum(a,b)