from sage.modular.dirichlet import DirichletCharacter
H = DirichletGroup(163, base_ring=CyclotomicField(162))
M = H._module
chi = DirichletCharacter(H, M([53]))
pari: [g,chi] = znchar(Mod(52,163))
χ163(2,⋅)
χ163(3,⋅)
χ163(7,⋅)
χ163(11,⋅)
χ163(12,⋅)
χ163(18,⋅)
χ163(19,⋅)
χ163(20,⋅)
χ163(29,⋅)
χ163(32,⋅)
χ163(42,⋅)
χ163(44,⋅)
χ163(45,⋅)
χ163(50,⋅)
χ163(52,⋅)
χ163(63,⋅)
χ163(66,⋅)
χ163(67,⋅)
χ163(68,⋅)
χ163(70,⋅)
χ163(72,⋅)
χ163(73,⋅)
χ163(75,⋅)
χ163(76,⋅)
χ163(79,⋅)
χ163(80,⋅)
χ163(82,⋅)
χ163(89,⋅)
χ163(92,⋅)
χ163(94,⋅)
...
order = charorder(g,chi)
[ charpow(g,chi, k % order) | k <-[1..order-1], gcd(k,order)==1 ]
2 → e(16253)
a |
−1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
χ163(52,a) |
−1 | 1 | e(16253) | e(1627) | e(8153) | e(5449) | e(2710) | e(162143) | e(5453) | e(817) | e(8119) | e(16261) |
pari: znchargauss(g,chi,a)
sage: chi.kloosterman_sum(a,b)