from sage.modular.dirichlet import DirichletCharacter
H = DirichletGroup(197, base_ring=CyclotomicField(196))
M = H._module
chi = DirichletCharacter(H, M([121]))
pari: [g,chi] = znchar(Mod(46,197))
χ197(2,⋅)
χ197(3,⋅)
χ197(5,⋅)
χ197(8,⋅)
χ197(11,⋅)
χ197(12,⋅)
χ197(13,⋅)
χ197(17,⋅)
χ197(18,⋅)
χ197(21,⋅)
χ197(27,⋅)
χ197(30,⋅)
χ197(31,⋅)
χ197(32,⋅)
χ197(35,⋅)
χ197(38,⋅)
χ197(44,⋅)
χ197(45,⋅)
χ197(46,⋅)
χ197(48,⋅)
χ197(50,⋅)
χ197(52,⋅)
χ197(56,⋅)
χ197(57,⋅)
χ197(58,⋅)
χ197(66,⋅)
χ197(67,⋅)
χ197(71,⋅)
χ197(72,⋅)
χ197(73,⋅)
...
order = charorder(g,chi)
[ charpow(g,chi, k % order) | k <-[1..order-1], gcd(k,order)==1 ]
2 → e(196121)
a |
−1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
χ197(46,a) |
−1 | 1 | e(196121) | e(196145) | e(9823) | e(196185) | e(145) | e(9813) | e(196167) | e(9847) | e(9855) | e(196177) |
pari: znchargauss(g,chi,a)
sage: chi.kloosterman_sum(a,b)