1 | initial version |
The ring of integers of the 23rd cyclotomic field is famously not a unique factorisation domain.
One thing you can do is factor the ideal generated by 2.
sage: K = CyclotomicField(23) sage: L = K.ring_of_integers() sage: two = L.ideal(2) sage: two.factor() (Fractional ideal (2, zeta23^11 + zeta23^9 + zeta23^7 + zeta23^6 + zeta23^5 + zeta23 + 1)) * (Fractional ideal (2, zeta23^11 + zeta23^10 + zeta23^6 + zeta23^5 + zeta23^4 + zeta23^2 + 1))
2 | No.2 Revision |
The ring of integers of the 23rd cyclotomic field is famously not a unique factorisation domain.
One thing you can do is factor the ideal generated by 2.
sage: K = CyclotomicField(23)
sage: L = K.ring_of_integers()
sage: two = L.ideal(2)
sage: two.factor()
(Fractional ideal (2, zeta23^11 + zeta23^9 + zeta23^7 + zeta23^6 + zeta23^5 + zeta23 + 1)) * (Fractional ideal (2, zeta23^11 + zeta23^10 + zeta23^6 + zeta23^5 + zeta23^4 + zeta23^2 + 3 | No.3 Revision |
The ring of integers of the 23rd cyclotomic field is famously not a unique factorisation domain.
Once you have defined the cyclotomic field and its ring of integers,
sage: K = CyclotomicField(23)
sage: L = K.ring_of_integers()
the ring of integers does not have a factor
method, as you noticed.
Its elements however do have such a method,
but trying to factor L(2)
hangs:
sage: L(2).factor()
and you have to interrupt it with Ctrl
C
.
One thing you can do is factor the ideal generated by 2.
sage: K = CyclotomicField(23)
sage: L = K.ring_of_integers()
sage: two = L.ideal(2)
sage: two.factor()
(Fractional ideal (2, zeta23^11 + zeta23^9 + zeta23^7 + zeta23^6 + zeta23^5 + zeta23 + 1)) * (Fractional ideal (2, zeta23^11 + zeta23^10 + zeta23^6 + zeta23^5 + zeta23^4 + zeta23^2 + 1))