On 10 April 2013 17:33, Victor Miller <[email protected]> wrote: > John, I agree. In fact in my case I know a multiple of the order of the > ideal. The ideal is one of norm 2, and I can produce an element of norm > 2^k, which is not divisible by 2. But, I can't find the method to test > principality, or to extract the generator. I would like something like > > I.principal_generator() >
I.is_principal() returns True/False and then I.gens_reduced() returns a list (actually a tuple) of length 1 iff the ideal is principal. This is a little more complicated than Magma where IsPrincipal returns either False or True,g with g a generator, but seems unavoidable given that Sage'sconvention is that the type and number of returned values should be the same for all inputs. John > which would either return None if the ideal wasn't principal (or maybe throw > an exception), otherwise it would return a generator. I'm sure that there's > some Pari function to do this, but I don't know what it is. > > Victor > > > On Wednesday, April 3, 2013 4:32:16 AM UTC-4, John Cremona wrote: >> >> If you knew a multiple of the class number, and could factor it, then >> you could use that in place of the actual class number. >> >> Certainly, if your ideal was principal and easy to prove as such then >> computing the class group would be overkill! >> >> John >> >> On 3 April 2013 09:09, Jeroen Demeyer <[email protected]> wrote: >> > On 2013-04-02 21:13, Victor Miller wrote: >> >> I have a bunch of ideals in number fields whose orders in the class >> >> group I want to calculate. If K is the number field and a is the >> >> ideal, >> >> I had been doing something like >> >> >> >> H = K.class_group() >> >> print H(a).order() >> >> >> >> But if K is a big number field this seems wasteful (and takes a long >> >> time), since it computes the whole class group. >> > As far as I know, there is no way to do this without computing the class >> > group. >> > >> > -- >> > You received this message because you are subscribed to the Google >> > Groups "sage-support" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> > an email to [email protected]. >> > To post to this group, send email to [email protected]. >> > Visit this group at http://groups.google.com/group/sage-support?hl=en. >> > For more options, visit https://groups.google.com/groups/opt_out. >> > >> > > > -- > You received this message because you are subscribed to the Google Groups > "sage-support" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sage-support?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-support?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
