1Function: nfhnf 2Section: number_fields 3C-Name: nfhnf0 4Prototype: GGD0,L, 5Help: nfhnf(nf,x,{flag=0}): if x=[A,I], gives a pseudo-basis [B,J] of the module 6 sum A_jI_j. If flag is nonzero, return [[B,J], U], where U is the 7 transformation matrix such that AU = [0|B]. 8Doc: given a pseudo-matrix $(A,I)$, finds a 9 pseudo-basis $(B,J)$ in \idx{Hermite normal form} of the module it generates. 10 If $\fl$ is nonzero, also return the transformation matrix $U$ such that 11 $AU = [0|B]$. 12 13Variant: Also available: 14 15 \fun{GEN}{nfhnf}{GEN nf, GEN x} ($\fl = 0$). 16 17 \fun{GEN}{rnfsimplifybasis}{GEN bnf, GEN x} simplifies the pseudo-basis 18 $x = (A,I)$, returning a pseudo-basis $(B,J)$. The ideals in the list $J$ 19 are integral, primitive and either trivial (equal to the full ring of 20 integer) or nonprincipal. 21