Function: rnfidealabstorel Section: number_fields C-Name: rnfidealabstorel Prototype: GG Help: rnfidealabstorel(rnf,x): transforms the ideal x from absolute to relative representation. Doc: let $\var{rnf}$ be a relative number field extension $L/K$ as output by \kbd{rnfinit} and let $x$ be an ideal of the absolute extension $L/\Q$. Returns the relative pseudo-matrix in HNF giving the ideal $x$ considered as an ideal of the relative extension $L/K$, i.e.~as a $\Z_K$-module. Let \kbd{Labs} be an (absolute) \kbd{nf} structure attached to $L$, obtained via \kbd{Labs = nfinit(rnf))}. Then \kbd{rnf} ``knows'' about \kbd{Labs} and $x$ may be given in any format attached to \kbd{Labs}, e.g. a prime ideal or an ideal in HNF wrt. \kbd{Labs.zk}: \bprog ? K = nfinit(y^2+1); rnf = rnfinit(K, x^2-y); Labs = nfinit(rnf); ? m = idealhnf(Labs, 17, x^3+2); \\ some ideal in HNF wrt. Labs.zk ? B = rnfidealabstorel(rnf, m) %3 = [[1, 8; 0, 1], [[17, 4; 0, 1], 1]] \\ pseudo-basis for m as Z_K-module ? A = rnfidealreltoabs(rnf, B) %4 = [17, x^2 + 4, x + 8, x^3 + 8*x^2] \\ Z-basis for m in Q[x]/(rnf.polabs) ? mathnf(matalgtobasis(Labs, A)) == m %5 = 1 @eprog\noindent If on the other hand, we do not have a \kbd{Labs} at hand, because it would be too expensive to compute, but we nevertheless have a $\Z$-basis for $x$, then we can use the function with this basis as argument. The entries of $x$ may be given either modulo \kbd{rnf.polabs} (absolute form, possibly lifted) or modulo \kbd{rnf.pol} (relative form as \typ{POLMOD}s): \bprog ? K = nfinit(y^2+1); rnf = rnfinit(K, x^2-y); ? rnfidealabstorel(rnf, [17, x^2 + 4, x + 8, x^3 + 8*x^2]) %2 = [[1, 8; 0, 1], [[17, 4; 0, 1], 1]] ? rnfidealabstorel(rnf, Mod([17, y + 4, x + 8, y*x + 8*y], x^2-y)) %3 = [[1, 8; 0, 1], [[17, 4; 0, 1], 1]] @eprog