Attachment 'abelian_field_dirichlet_group.sage'

Download

   1 def conductor(self):
   2 	R = self.maximal_order()
   3 	m = 1
   4 	for p in R.discriminant().prime_factors():
   5 		m*=p^(R.fractional_ideal(p).prime_factors()[0].ramification_index().valuation(p)+1)
   6 	return m
   7 
   8 
   9 def conductorf(self):
  10 	m = 1
  11 	dsc = self.polynomial().discriminant()
  12 	A = dsc.numerator().prime_factors()+dsc.denominator().prime_factors()
  13 	for p in A:
  14 		R = self.maximal_order(p)
  15 		e = R.fractional_ideal(p).prime_factors()[0].ramification_index()
  16 		if e!=1:
  17 			m*=p^(e.valuation(p)+1)
  18 	return m
  19 
  20 
  21 def dirichlet_group(self):
  22 	m = conductor(self)
  23 	d = self.degree()
  24 	G = IntegerModRing(m)
  25 	R = self.ring_of_integers()
  26 	A = [G.0]
  27 	j = 2*G.0
  28 	while (len(A)==euler_phi(m)/d)==False:
  29 		if (j in A)==False and gcd(j,m)==1:
  30 			b = j.lift()
  31 		while b.is_prime()==False:
  32 			b = b+m
  33 		c = j^(R.ideal(b).prime_factors()[0].residue_class_degree())
  34 		k = c
  35 		B = A
  36 		if (k in A)==False:
  37 			while (k==1)==False:
  38 				for x in A:
  39 					if (k*x in B)==False:
  40 						B.append(k*x)
  41 				k = k*c
  42 		for y in B:
  43 			if (y in A)==False:
  44 				A.append(y)
  45 		j = j + G.0
  46 	n = len(A)
  47 	G = DirichletGroup(m)
  48 	H = []
  49 	i = 0
  50 	while (len(H)==d)==False:
  51 		t = 0
  52 		q = 1
  53 		while t < n and q==1:
  54 			q = G[i](A[t])
  55 			t = t+1
  56 		if t == n:
  57 			H.append(G[i])
  58 		i = i+1
  59 	return H

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2010-07-02 04:07:31, 1.7 KB) [[attachment:Teich-twist.sage]]
  • [get | view] (2010-07-01 03:45:20, 1.2 KB) [[attachment:abelian_field_dirichlet_group.sage]]
  • [get | view] (2010-06-29 16:42:10, 1.1 KB) [[attachment:approximation_of_integral.sage]]
  • [get | view] (2010-07-01 03:48:17, 3.6 KB) [[attachment:computing_modular_symbols_via_complex_integration.sage]]
  • [get | view] (2010-06-29 06:10:26, 1.3 KB) [[attachment:find_gamma.sage]]
  • [get | view] (2010-07-01 05:45:56, 3.3 KB) [[attachment:iwasawa_invariants.sage]]
  • [get | view] (2010-06-30 05:36:30, 1.5 KB) [[attachment:lp_teichmuller.sage]]
  • [get | view] (2010-06-29 00:30:16, 21.9 KB) [[attachment:lseries.m]]
  • [get | view] (2010-06-29 22:37:11, 573.6 KB) [[attachment:modular_symbols_and_padic_lfunctions.pdf]]
  • [get | view] (2010-06-29 00:29:47, 33.9 KB) [[attachment:pLseries.m]]
  • [get | view] (2010-06-29 22:35:43, 265.9 KB) [[attachment:padic_bsd.pdf]]
  • [get | view] (2010-07-02 04:06:18, 3.4 KB) [[attachment:prime5.txt]]
  • [get | view] (2010-07-02 04:06:47, 3.5 KB) [[attachment:prime7.txt]]
  • [get | view] (2010-07-01 07:10:40, 64.1 KB) [[attachment:sha_data_3_11a1_10000.txt]]
  • [get | view] (2010-07-01 07:10:58, 8.5 KB) [[attachment:sha_data_3_11a3_1000.txt]]
  • [get | view] (2010-07-01 07:11:20, 63.9 KB) [[attachment:sha_data_3_42a1_10000.txt]]
  • [get | view] (2010-06-29 00:29:16, 5.3 KB) [[attachment:sha_fast.sage]]
  • [get | view] (2010-07-01 07:18:18, 8.1 KB) [[attachment:sha_v2.sage]]
  • [get | view] (2010-07-01 22:23:54, 1.8 KB) [[attachment:teich_twist.sage]]
  • [get | view] (2010-06-29 04:02:51, 0.7 KB) [[attachment:test.sage]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.