I'm writing some software to automatically compute things like Alexander modules, Alexander ideals, Milnor signatures and Farber-Levine pairings for 1 and 2-knot complements. So among other things I'd like to have a quick way of comparing ideals in the Laurent polynomial ring $\mathbb Z[t^\pm]$.
So my question:
Is there an efficient way of determining whether or not two ideals in $\mathbb Z[t^\pm]$ are equal? What's the most pleasant procedure you can think of?
My ideals are given by a finite number of generators.
The knot theory literature tends to stop at $\mathbb Z[t^\pm]$ isn't a PID' but I'm hopeful there's some reasonable tools out there. Understanding ideals in $\mathbb Z[t^\pm]$ is essentially the same thing as understanding cyclic group actions on finitely generated abelian groups so I could imagine answers might be more complicated than I like. But I hope to be pleasantly surprised by some sort of "division algorithm + details" type algorithm.