[Math] Algorithm for finding the discriminant of algebraic number fields

algebraic-number-theorynumber theory

I am reading J.S. Milne's Algebraic Number Theory notes, http://jmilne.org/math/CourseNotes/ANT.pdf. I am quite confused with the section "Algorithm for finding the ring of integers".

There is an efficient way to find the discriminant of polynomials, and there is also an algorithm to find the ring of integers. Is there an efficient algorithm for finding the discriminant of algebraic number fields, i.e. disc($\mathcal{O}_K/Z)$?

Of course, once we find out the ring of integers, it is not hard to find the discriminant of the algebraic number fields. But is there a more direct way?

Besides, generally speaking, given $\alpha$ a root of an irreducible polynomial $f$, if we have got disc$(f)$, how could we find disc($\mathcal{O}_{\mathbb{Z}[\alpha]}/\mathbb{Z}$)? If disc$(f)$ is square-free, then it is automatically the discriminant of the algebraic number field. But what if it is not square free?

I am a beginner in algebraic number theory, these questions might be silly, and I am even not quite sure whether the terms I use are accurate. So I would appreciate it if you could help me to edit the questions. Thank you.

Best Answer

As far as I know there is no way of finding the discriminant without finding the full ring of integers in the process.

Indeed, once you know the ring of integers, finding the discriminant is a trivial piece of linear algebra; and conversely, if you know the discriminant in advance, that makes finding the ring of integers much easier (because once you've found enough integers to generate a subring with the right discriminant, you know you can stop). So determining the discriminant cannot be all that much easier than determining the integers.

As for how to find the integers, it is a very well-studied problem; if you're interested in such things, Henri Cohen's "A course in computational algebraic number theory" is a very good reference.

Related Question