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