Function: rnfpseudobasis
Section: number_fields
C-Name: rnfpseudobasis
Prototype: GG
Help: rnfpseudobasis(nf,T): given an irreducible polynomial T with
coefficients in nf, returns [A,J,D,d] where [A,J] is a pseudo basis of the
maximal order of the extension, D is the relative ideal discriminant, and d
is the relative discriminant in nf^*/nf*^2.
Doc: given an \var{nf} structure attached to a number field $K$, as output by
\kbd{nfinit}, and a monic irreducible polynomial $T$ in $K[x]$ defining a
relative extension $L = K[x]/(T)$, computes the relative discriminant of $L$
and a pseudo-basis $(A,J)$ for the maximal order $\Z_L$ viewed as a
$\Z_K$-module. This is output as a vector $[A,J,D,d]$, where $D$ is the
relative ideal discriminant and $d$ is the relative discriminant considered
as an element of $K^*/{K^*}^2$.
\bprog
? K = nfinit(y^2+1);
? [A,J,D,d] = rnfpseudobasis(K, x^2+y);
? A
%3 =
[1 0]
[0 1]
? J
%4 = [1, 1]
? D
%5 = [0, -4]~
? d
%6 = [0, -1]~
@eprog
\misctitle{Huge discriminants, helping rnfdisc} the format $[T,B]$ is
also accepted instead of $T$ and produce an order which is maximal at all
primes $p < B$, see \kbd{??rnfinit}.
\bprog
? p = 585403248812100232206609398101;
? q = 711171340236468512951957953369;
? T = x^2 + 3*(p*q)^2;
? [A,J,D,d] = V = rnfpseudobasis(K, T); D
time = 22,178 ms.
%10 =
[3 0]
[0 3]
? [A,J,D,d] = W = rnfpseudobasis(K, [T,100]); D
time = 5 ms.
%11 =
[3 0]
[0 3]
? V == W
%12 = 1
@eprog\noindent In this example, the results are identical since $D \cap \Z$
factors over primes less than $100$. Had it not been the case, the
order would have been guaranteed maximal at primes $\goth{p} | p $ for $p
\leq 100$ only (and might not have been maximal at any maximal ideal
$\goth{p}$ such that $\goth{p}^2$ dividing $D$.