Ticket #487 (closed defect: fixed)
problem with the is_principal method for fractional ideals in a number field.
|Reported by:||mabshoff||Owned by:||was|
The Problem has been reported by Kevin McGown? at http://groups.google.com/group/sage-forum/t/a8a6efc565e36339
In SAGE 2.8 it seems there is a problem with the is_principal method for fractional ideals in a number field. In the code below I create the same ideal in two different ways and obtain two different answers from is_principal (True and False).
sage: K = QuadraticField(-119,'a') sage: P2 = K.ideal().factor() sage: I = P2^5 sage: a = K.0 sage: J = K.ideal([1/2*a+3/2]) sage: I==J True sage: I.is_principal() False sage: J.is_principal() True
Kevin also suggested a fix:
I believe the problem is with the following line in the is_principal() method: if len (self.gens()) <= 1: Instead it should read: if len (self.gens_reduced()) <= 1: Not 100% sure, but I thought I would bring it to your attention. - Kevin