from sage.modular.dirichlet import DirichletCharacter
H = DirichletGroup(109, base_ring=CyclotomicField(108))
M = H._module
chi = DirichletCharacter(H, M([61]))
pari: [g,chi] = znchar(Mod(85,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(10861)
a |
−1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
χ109(85,a) |
−1 | 1 | e(367) | e(2710) | e(187) | e(2725) | e(10861) | e(2716) | e(127) | e(2720) | e(10813) | e(10895) |
pari: znchargauss(g,chi,a)
sage: chi.kloosterman_sum(a,b)