Suppose I'm trying to calculate the class group of $\mathbb{Q}(\zeta_{29})$, such as in this MathOverflow question. It is noted that Magma calculates the class group to be $(\mathbb{Z}/2\mathbb{Z})^3$ very quickly, by looking at primes up to $826$.
What does the computer need in order to be sure that a given ideal is NOT principal? To show an ideal IS principal, a generator will do, and if you have a set of representatives for the classes of the class group, you can certifiably equate any other ideal to one of the classes by finding a generator of the quotient by one of the classes. But what certificate do you need to prove that a given ideal is NOT principal?
For totally complex fields, it should be easy: the norm polynomial is "definite", in that there are only finitely many linear combinations of the generators of the integer ring that have norm less than any given $N$, because it can be written as the sum of squares. So a finite calculation can be done.
For real quadratic fields, for an ideal $I$, we can find verification for some $n$ that $I^n=(\alpha)$ is principal, and then if $I$ itself were principal it would be generated by $\beta$ whose $n$th power was $\pm\alpha\cdot\varepsilon^k$ where $\varepsilon$ is the fundamental unit for some $k$ between $0$ and $n-1$. Then taking rational and surd parts of $\beta^n=\pm\alpha\cdot\varepsilon^k$ gives $2k$ systems of $2$ equations in $2$ variables which we can solve, and thus verify that it is not principal.
So can we extend this reasoning? Is there another general-purpose method to prove that a given ideal is not principal?