Class numbers of cyclotomic fields

asked 2023-10-08 09:13:13 +0200

atuntu gravatar image

updated 2023-10-08 17:23:01 +0200

Max Alekseyev gravatar image

I wrote following program for finding out which ring of integers of cyclotomic fields are unique factorization domains:

max_limit=100
i=3
while i <= max_limit:
    K=CyclotomicField(i)
    O_K=K.ring_of_integers()
    print(i , O_K in UniqueFactorizationDomains())
    i=i+1

This gives me output as false for all numbers. But this wiki article suggests that there are bunch of them for which the class number is actually 1 i.e. the rings are unique factorization domains. I don't understand where I went wrong?

edit retag flag offensive close merge delete

Comments

if you want the class numbers, ask for the class numbers.

FrédéricC gravatar imageFrédéricC ( 2023-10-08 10:52:25 +0200 )edit

I was not really interested in the class numbers. I just wanted to know what's going wrong.

atuntu gravatar imageatuntu ( 2023-10-08 14:44:19 +0200 )edit

You cannot expect that the categories are always the most precise possible, in particular when the decision possibly requires a serious amount of computation.

FrédéricC gravatar imageFrédéricC ( 2023-10-08 14:52:29 +0200 )edit

I don't really understand what you mean the categories not being precise?

atuntu gravatar imageatuntu ( 2023-10-08 21:09:25 +0200 )edit

Well, being an UFD is more precise than being a commutative ring. Categories are not being checked when being asked for, but defined once when the object is created. It would be expensive to always refine the category.

FrédéricC gravatar imageFrédéricC ( 2023-10-09 09:41:50 +0200 )edit