Function: nfmodprinit
Section: number_fields
C-Name: nfmodprinit0
Prototype: GGDn
Help: nfmodprinit(nf,pr,{v=variable(nf.pol)}): transforms the prime ideal pr
 into modpr format necessary for all operations mod pr in the number field nf.
 Variable v is used to display finite field elements (see ffgen).
Doc: transforms the prime ideal \var{pr} into \tet{modpr} format necessary
 for all operations modulo \var{pr} in the number field \var{nf}.
 The functions \tet{nfmodpr} and \tet{nfmodprlift} allow to project
 to and lift from the residue field. The variable $v$ is used to display
 finite field elements which are not in the prime field (see \kbd{ffgen}).
 \bprog
 ? K = nfinit(y^3-250);
 ? P = idealprimedec(K, 5)[2];
 ? modP = nfmodprinit(K, P, 't);
 ? K.zk
 %4 = [1, 1/5*y, 1/25*y^2]
 ? apply(t->nfmodpr(K,t,modP), K.zk)
 %5 = [1, t, 2*t + 1]
 ? %[1].mod
 %6 = t^2 + 3*t + 4
 ? K.index
 %7 = 125
 @eprog\noindent For clarity, we represent elements in the residue
 field $\F_{5}[t]/(T)$ as polynomials in the variable $t$. Whenever the
 underlying rational prime does not divide \kbd{K.index}, it is actually
 the case that $t$ is the reduction of $y$ in $\Q[y]/(\kbd{K.pol})$
 modulo an irreducible factor of \kbd{K.pol} over $\F_{p}$. In the above
 example, $5$ divides the index and $t$ is actually the reduction of $y/5$.
