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.


Reply via email to