sage:from sage.modular.dirichlet import DirichletCharacter
H = DirichletGroup(128, base_ring=CyclotomicField(32))
M = H._module
chi = DirichletCharacter(H, M([0,29]))
gp:[g,chi] = znchar(Mod(85, 128))
magma:// Please install CHIMP (https://github.com/edgarcosta/CHIMP) if you want to run this code
chi := DirichletCharacter("128.85");
| Modulus: | \(128\) |
sage:chi.modulus()
gp:g[1][1]
magma:Modulus(chi);
|
| Conductor: | \(128\) |
sage:chi.conductor()
gp:znconreyconductor(g,chi)
magma:Conductor(chi);
|
| Order: | \(32\) |
sage:chi.multiplicative_order()
gp:charorder(g,chi)
magma:Order(chi);
|
| Real: | no |
sage:chi.multiplicative_order() <= 2
gp:charorder(g,chi) <= 2
magma:Order(chi) le 2;
|
| Primitive: | yes |
sage:chi.is_primitive()
gp:#znconreyconductor(g,chi)==1
magma:IsPrimitive(chi);
|
| Minimal: | yes |
| Parity: | even |
sage:chi.is_odd()
gp:zncharisodd(g,chi)
magma:IsOdd(chi);
|
\(\chi_{128}(5,\cdot)\)
\(\chi_{128}(13,\cdot)\)
\(\chi_{128}(21,\cdot)\)
\(\chi_{128}(29,\cdot)\)
\(\chi_{128}(37,\cdot)\)
\(\chi_{128}(45,\cdot)\)
\(\chi_{128}(53,\cdot)\)
\(\chi_{128}(61,\cdot)\)
\(\chi_{128}(69,\cdot)\)
\(\chi_{128}(77,\cdot)\)
\(\chi_{128}(85,\cdot)\)
\(\chi_{128}(93,\cdot)\)
\(\chi_{128}(101,\cdot)\)
\(\chi_{128}(109,\cdot)\)
\(\chi_{128}(117,\cdot)\)
\(\chi_{128}(125,\cdot)\)
sage:chi.galois_orbit()
gp:order = charorder(g,chi)
[ charpow(g,chi, k % order) | k <-[1..order-1], gcd(k,order)==1 ]
magma:order := Order(chi);
{ chi^k : k in [1..order-1] | GCD(k,order) eq 1 };
\((127,5)\) → \((1,e\left(\frac{29}{32}\right))\)
| \(a\) |
\(-1\) | \(1\) | \(3\) | \(5\) | \(7\) | \(9\) | \(11\) | \(13\) | \(15\) | \(17\) | \(19\) | \(21\) |
| \( \chi_{ 128 }(85, a) \) |
\(1\) | \(1\) | \(e\left(\frac{23}{32}\right)\) | \(e\left(\frac{29}{32}\right)\) | \(e\left(\frac{1}{16}\right)\) | \(e\left(\frac{7}{16}\right)\) | \(e\left(\frac{1}{32}\right)\) | \(e\left(\frac{19}{32}\right)\) | \(e\left(\frac{5}{8}\right)\) | \(e\left(\frac{3}{8}\right)\) | \(e\left(\frac{27}{32}\right)\) | \(e\left(\frac{25}{32}\right)\) |
sage:chi(x) # x integer
gp:chareval(g,chi,x) \\ x integer, value in Q/Z
magma:chi(x)
sage:chi.gauss_sum(a)
gp:znchargauss(g,chi,a)
sage:chi.jacobi_sum(n)
sage:chi.kloosterman_sum(a,b)