Function: nfhnf
Section: number_fields
C-Name: nfhnf0
Prototype: GGD0,L,
Help: nfhnf(nf,x,{flag=0}): if x=[A,I], gives a pseudo-basis [B,J] of the module
sum A_jI_j. If flag is non-zero, return [[B,J], U], where U is the
transformation matrix such that AU = [0|B].
Doc: given a pseudo-matrix $(A,I)$, finds a
pseudo-basis $(B,J)$ in \idx{Hermite normal form} of the module it generates.
If $\fl$ is non-zero, also return the transformation matrix $U$ such that
$AU = [0|B]$.
Variant: Also available:
\fun{GEN}{nfhnf}{GEN nf, GEN x} ($\fl = 0$).
\fun{GEN}{rnfsimplifybasis}{GEN bnf, GEN x} simplifies the pseudo-basis
$x = (A,I)$, returning a pseudo-basis $(B,J)$. The ideals in the list $J$
are integral, primitive and either trivial (equal to the full ring of
integer) or non-principal.