from sage.modular.dirichlet import DirichletCharacter
H = DirichletGroup(109, base_ring=CyclotomicField(108))
M = H._module
chi = DirichletCharacter(H, M([71]))
pari: [g,chi] = znchar(Mod(62,109))
χ109(6,⋅)
χ109(10,⋅)
χ109(11,⋅)
χ109(13,⋅)
χ109(14,⋅)
χ109(18,⋅)
χ109(24,⋅)
χ109(30,⋅)
χ109(37,⋅)
χ109(39,⋅)
χ109(40,⋅)
χ109(42,⋅)
χ109(44,⋅)
χ109(47,⋅)
χ109(50,⋅)
χ109(51,⋅)
χ109(52,⋅)
χ109(53,⋅)
χ109(56,⋅)
χ109(57,⋅)
χ109(58,⋅)
χ109(59,⋅)
χ109(62,⋅)
χ109(65,⋅)
χ109(67,⋅)
χ109(69,⋅)
χ109(70,⋅)
χ109(72,⋅)
χ109(79,⋅)
χ109(85,⋅)
...
order = charorder(g,chi)
[ charpow(g,chi, k % order) | k <-[1..order-1], gcd(k,order)==1 ]
6 → e(10871)
a |
−1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
χ109(62,a) |
−1 | 1 | e(3617) | e(275) | e(1817) | e(2726) | e(10871) | e(278) | e(125) | e(2710) | e(10847) | e(10861) |
pari: znchargauss(g,chi,a)
sage: chi.kloosterman_sum(a,b)