![Copy content]() sage:from sage.modular.dirichlet import DirichletCharacter
H = DirichletGroup(121, base_ring=CyclotomicField(110))
M = H._module
chi = DirichletCharacter(H, M([87]))
        sage:from sage.modular.dirichlet import DirichletCharacter
H = DirichletGroup(121, base_ring=CyclotomicField(110))
M = H._module
chi = DirichletCharacter(H, M([87]))
         
     
    
    
        ![Copy content]() pari:[g,chi] = znchar(Mod(62,121))
        pari:[g,chi] = znchar(Mod(62,121))
         
     
    
  
   | Modulus: | \(121\) |  | 
   | Conductor: | \(121\) | 
        ![Copy content]() sage:chi.conductor()   
        ![Copy content]() pari:znconreyconductor(g,chi)   | 
   | Order: | \(110\) | 
        ![Copy content]() sage:chi.multiplicative_order()   
        ![Copy content]() pari:charorder(g,chi)   | 
   | Real: | no | 
   | Primitive: | yes | 
        ![Copy content]() sage:chi.is_primitive()   
        ![Copy content]() pari:#znconreyconductor(g,chi)==1   | 
     | Minimal: | yes | 
       | Parity: | odd | 
        ![Copy content]() sage:chi.is_odd()   
        ![Copy content]() pari:zncharisodd(g,chi)   | 
   
  \(\chi_{121}(2,\cdot)\)
  \(\chi_{121}(6,\cdot)\)
  \(\chi_{121}(7,\cdot)\)
  \(\chi_{121}(8,\cdot)\)
  \(\chi_{121}(13,\cdot)\)
  \(\chi_{121}(17,\cdot)\)
  \(\chi_{121}(18,\cdot)\)
  \(\chi_{121}(19,\cdot)\)
  \(\chi_{121}(24,\cdot)\)
  \(\chi_{121}(28,\cdot)\)
  \(\chi_{121}(29,\cdot)\)
  \(\chi_{121}(30,\cdot)\)
  \(\chi_{121}(35,\cdot)\)
  \(\chi_{121}(39,\cdot)\)
  \(\chi_{121}(41,\cdot)\)
  \(\chi_{121}(46,\cdot)\)
  \(\chi_{121}(50,\cdot)\)
  \(\chi_{121}(51,\cdot)\)
  \(\chi_{121}(52,\cdot)\)
  \(\chi_{121}(57,\cdot)\)
  \(\chi_{121}(61,\cdot)\)
  \(\chi_{121}(62,\cdot)\)
  \(\chi_{121}(63,\cdot)\)
  \(\chi_{121}(68,\cdot)\)
  \(\chi_{121}(72,\cdot)\)
  \(\chi_{121}(73,\cdot)\)
  \(\chi_{121}(74,\cdot)\)
  \(\chi_{121}(79,\cdot)\)
  \(\chi_{121}(83,\cdot)\)
  \(\chi_{121}(84,\cdot)\)
 ... 
    
        ![Copy content]() sage:chi.galois_orbit()
        sage:chi.galois_orbit()
         
     
    
    
        ![Copy content]() pari:order = charorder(g,chi)
[ charpow(g,chi, k % order) | k <-[1..order-1], gcd(k,order)==1 ]
        pari:order = charorder(g,chi)
[ charpow(g,chi, k % order) | k <-[1..order-1], gcd(k,order)==1 ]
         
     
    
 
\(2\) → \(e\left(\frac{87}{110}\right)\)
  
    
      
        | \(a\) | \(-1\) | \(1\) | \(2\) | \(3\) | \(4\) | \(5\) | \(6\) | \(7\) | \(8\) | \(9\) | \(10\) | \(12\) | 
    
    
      | \( \chi_{ 121 }(62, a) \) | \(-1\) | \(1\) | \(e\left(\frac{87}{110}\right)\) | \(e\left(\frac{3}{5}\right)\) | \(e\left(\frac{32}{55}\right)\) | \(e\left(\frac{29}{55}\right)\) | \(e\left(\frac{43}{110}\right)\) | \(e\left(\frac{59}{110}\right)\) | \(e\left(\frac{41}{110}\right)\) | \(e\left(\frac{1}{5}\right)\) | \(e\left(\frac{7}{22}\right)\) | \(e\left(\frac{2}{11}\right)\) | 
  
 
    
        ![Copy content]() sage:chi.jacobi_sum(n)
        sage:chi.jacobi_sum(n)
         
     
    
    
        ![Copy content]() sage:chi.gauss_sum(a)
        sage:chi.gauss_sum(a)
         
     
    
    
        ![Copy content]() pari:znchargauss(g,chi,a)
        pari:znchargauss(g,chi,a)
         
     
    
    
        ![Copy content]() sage:chi.jacobi_sum(n)
        sage:chi.jacobi_sum(n)
         
     
    
    
        ![Copy content]() sage:chi.kloosterman_sum(a,b)
        sage:chi.kloosterman_sum(a,b)