I'm a college student and my semester on ``basic" algebraic number theory course has started. The most `exciting" part of elementary number theory to me is that you can churn out some nice number theoretic calculation in c++/python and have some nice conjectures and then you can prove it theoretically which is really nice ! Or you can just fiddle around with them to have some intuition which is really valuable in general.
So I wanna do the same for algebraic number theory. Can you people recommend some software/books so that I calculate basic ANT stuff like for example checking whether the ring of integers of a number field is UFD or not, if it's UFD then checking how primes in $\mathcal{O}_{\mathbb{Q}}$ factor over $\mathcal{O}_{K} $, or for example when $L$ is an extension of $K$ then how primes in $\mathcal{O}_K$ factorizes in $\mathcal{O}_L$, ``density" of primes in that ring of integers etc etc ?
I tried Mathematica but then some people suggested that it won't be fit for my use, and then some other people suggested SageMath but I don't know how to use it for such purposes (the documentation looks to boring for me to read fully). I also know C++/Python but I don't know how to implement the algorithms for doing so (and the algorithms themselves are probably too tricky/time consuming to figure out by myself; and I am not sure whether figuring out the algorithms by myself would be a productive effort or not).
All in all: I want to know some programming languages/algorithms which are easily implemented by some non-CS student to be able to perform computational ANT experiments to have some nice conjectures and some concrete intuition in ANT.
pari/gp is open source, easy to install, and has lots of dedicated number theory. Here is a random bit of code to get you started:
which tells you: $\mathbf{Q}(\sqrt{-163})$ has class number one, gives the decomposition of the first few primes, takes a prime $P$ above $41$, computes that it is principal, finds a generator which is $w$ and checks that has norm $41$.
which tells you: $\mathbf{Q}(\sqrt{-79})$ has class number $5$, gives the decomposition of the first few primes, takes a prime $P$ above $5$, computes that it is not principal (it has computed the class group is cyclic of order $5$ with some specific generator and $P$ in the internal basis is the element "2 mod 5"), but checks that $P^5$ is principal, finds a generator which is $v$ and checks that has norm $5^5 = 3125$. Here is the output obtained by piping in the lines above: