On 7 May 2014 12:06,  <ad14...@bristol.ac.uk> wrote:
> I think I have something about the generator thing :
>
> sage: N=25
> sage: K = CyclotomicField(N)
> sage: ZK.<x> = K.ring_of_integers()
> sage: ZK
> Maximal Order in Cyclotomic Field of order 25 and degree 20
> sage: x
> 1
> sage: y = ZK.gen(0)
> sage: y
> 1
> sage: z = ZK.gen(1)
> sage: z
> zeta25
> sage: z2 = ZK.gen(2)
> sage: z2
> zeta25^2
> sage: ZK.<x,y> = K.ring_of_integers()
> sage: x
> 1
> sage: y
> zeta25
>
>
> It makes more sense because it is a vector space, but that's not really what
> I expect when I ask for a generator of the ring of integers. Moreover, as
> zeta25 has order 25, I don't understand what is zeta0...

I see no zeta0!

>

OK, this explains what is going on.  The ring of integers is (as with
any order in the field) a free Z-module, and its gens are the Z-module
gens.  So having 1 as the first of these is no surprise:

sage: N=25
sage: K = CyclotomicField(N)
sage: ZK.<x> = K.ring_of_integers()
sage: ZK.gens()
[1, zeta25, zeta25^2, zeta25^3, zeta25^4, zeta25^5, zeta25^6,
zeta25^7, zeta25^8, zeta25^9, zeta25^10, zeta25^11, zeta25^12,
zeta25^13, zeta25^14, zeta25^15, zeta25^16, zeta25^17, zeta25^18,
zeta25^19]

As expected since the ring of integers is Z[zeta15] so has a power basis.

>
>
> On Tuesday, 6 May 2014 17:06:10 UTC+1, ad1...@bristol.ac.uk wrote:
>>
>> Tanks for your help. The "lambda: True" thing is really odd but seems to
>> work... I will try to find how PARI and Sage (cyclotomic) ring of integers
>> are implemented.
>>
>> On Tuesday, 6 May 2014 16:24:26 UTC+1, John Cremona wrote:
>>>
>>> On 6 May 2014 16:11,  <ad1...@bristol.ac.uk> wrote:
>>> > I'm sorry but I use the notebook / worksheet working on virtual box so
>>> > copy-paste the file is long and painful. So actually I wrote it
>>> > manually,
>>> > that's why there is a mistake on "Fractional". My version is 5.13. I
>>> > know I
>>> > could have use K.ring_of_integers(), but I don't want that : I don't
>>> > want
>>> > sage to compute the ring of integer when I know it.
>>>
>>> The ring of integers is computed by the pari library.  I don't know if
>>> pari checks to see if the field is cyclotomic and uses a short-cut if
>>> it is.  We should check that, and of not then Sage could put in the
>>> shortcut instead;  then you would not have to do what you were doing.
>>>
>>> >
>>> > I restarted the notebook, and tried once more to have a complete
>>> > session. I
>>> > admit I was unable to reproduce the factor problem, but there is still
>>> > something odd : x should not be 1.
>>>
>>> Agree, and that is a bug in the way that the syntax ZK.<x> = ... is
>>> interpreted.  Try replacing that line with
>>>
>>> sage: ZK = ZZ[zeta]
>>> sage: x = ZK.gen(0)
>>> sage: x
>>> zeta0
>>>
>>> but even more simply set
>>>
>>> sage: ZK = K.order(zeta)
>>>
>>> (but there may be a delay when Sage first decides that it needs to test
>>> sage: ZK.is_maximal()
>>> True
>>>
>>> though you could try to cheat like this
>>>
>>> sage: ZK=K.order(zeta)
>>> sage: ZK.is_maximal = lambda: True
>>> sage: ZK.is_maximal()
>>> True
>>>
>>> John
>>>
>>> >
>>> > sage: N=25
>>> > sage: K.<zeta> = CyclotomicField(N)
>>> > sage: n = K.degree()
>>> > sage: ZK.<x> = ZZ[zeta]
>>> > sage: ZK
>>> > Order in Number Field in zeta0 with defining polynomial x^20 + x^15 +
>>> > x^10 +
>>> > x^5 + 1
>>> > sage: x
>>> > 1
>>> > sage: zeta0
>>> > Traceback (most recent call last):
>>> > ...
>>> > NameError: name 'zeta0' is not defined
>>> > sage: x^2-1
>>> > 0
>>> >
>>> >
>>> > On Tuesday, 6 May 2014 15:12:32 UTC+1, John Cremona wrote:
>>> >>
>>> >> The normal way to get at the ring of integers would be to write ZK =
>>> >> K.ring_of_integers().  You have defined two separate algebraic
>>> >> objects, a ring and a field, and it is not clear what the relationship
>>> >> is beteween them.
>>> >>
>>> >> You should have said what version of Sage you are running.  In
>>> >> 6.2.rc2, at least, the word "fractional" is spelled correctly.
>>> >>
>>> >> What you posted cannot be a complete Sage sessions, since you do not
>>> >> define zeta0, and the ideal I you define is not the 20th power of
>>> >> anything.  In future you should post exactly what you have in a
>>> >> complete session.
>>> >>
>>> >> John Cremona
>>> >>
>>> >> On 6 May 2014 14:52,  <ad1...@bristol.ac.uk> wrote:
>>> >> >
>>> >> >
>>> >> > Hi.
>>> >> >
>>> >> > I have some issue with ideals in number fields. I wanted to test
>>> >> > something
>>> >> > about cyclotomic polynomials, so I had the following result :
>>> >> >
>>> >> > sage: N = 25
>>> >> > sage: K.<zeta> = CyclotomicField(N)
>>> >> > sage: n = K.degree()
>>> >> > sage: ZK = ZZ[zeta]
>>> >> > sage: ZK
>>> >> >  Order in Number Field in zeta0 with defining Polynomial
>>> >> > x^20+x^15+x^10+x^5+1
>>> >> >
>>> >> > sage: I=ZK.ideal(5,zeta-1)
>>> >> > sage: I
>>> >> >  Fractionnal ideal (5,zeta0-1)
>>> >> >
>>> >> > sage: I.factor()
>>> >> >  (Fractionnal ideal (5,zeta0-1))^20
>>> >> >
>>> >> > sage: I==I^20
>>> >> >  False
>>> >> >
>>> >> > sage: zeta0
>>> >> >  1
>>> >> >
>>> >> > sage: zeta
>>> >> >  zeta
>>> >> >
>>> >> > I think there is a problem with the zeta0 (actually I tried to
>>> >> > enforce
>>> >> > the
>>> >> > name of the ZK variable by ZK.<zeta_int> = ZZ[zeta] or  ZK.<zeta0> =
>>> >> > ZZ[zeta] or  ZK.<zeta> = ZZ[zeta] but that doesn't work : it gives
>>> >> > the
>>> >> > same
>>> >> > result.
>>> >> >
>>> >> > --
>>> >> > 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 sage-support...@googlegroups.com.
>>> >> > To post to this group, send email to sage-s...@googlegroups.com.
>>> >> > Visit this group at http://groups.google.com/group/sage-support.
>>> >> > For more options, visit https://groups.google.com/d/optout.
>>> >
>>> > --
>>> > 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 sage-support...@googlegroups.com.
>>> > To post to this group, send email to sage-s...@googlegroups.com.
>>> > Visit this group at http://groups.google.com/group/sage-support.
>>> > For more options, visit https://groups.google.com/d/optout.
>
> --
> 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 sage-support+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-support@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/d/optout.

-- 
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 sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to