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 +
```~~1))~~1))

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))

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.