Maps between Rings

Magma includes functions for working with maps between multivariate polynomial rings. Let R=K1[x1, ..., xn] and S=K2[y1, ..., ym] be a polynomial rings over the fields K1, K2, and f : R to S a ring homomorphism.

PolyMapKernel(f) : Map -> RngMPol
Return the kernel of the map f as an ideal in the domain R, i.e., the set { a ∈R | f(a) = 0 }. This is basically the computation of the relation ideal for the polynomials defining the map and is as described in RelationIdeal.
IsInImage(f, p) : Map, RngMPolElt -> [ BoolElt ]
Given a polynomial p in S, return whether p is in the image of the map f. The algorithm is the one described on p. 82 of [AL94].
IsSurjective(f) : Map -> [ BoolElt ]
Return whether the map f is surjective. Uses the function above to check whether each codomain variable lies in the image.
Extension(phi, I): Map, RngMPol -> RngMPol
The extension of the ideal I by φ, where φ is a homomorphism from the generic of I. That is, the ideal generated by the image of I under φ.
Implicitization(phi) : Map -> RngMPol
Suppose the polynomial map φ: Kn to Km is a parametrization of a variety V, i.e., V is the image of φ in Km. This function constructs the ideal of S corresponding to V.

The map φ maps (z1, ..., zn) |-> (f1(z1), ..., fm(zm)) where the zi are the coordinates of Kn. Let f: S to R be the map of polynomial rings defined by (y1, ..., ym) |-> (f1(y1), ..., fm(ym)). Then Implicitization(f) is the ideal of S corresponding to V.

If V is not a true variety, the function returns the smallest variety containing V (the Zariski closure of V).

The algorithm used is given on p. 97 of [CLO96]

Example Ideal_Map1 (H113E17)

We demonstrate the use of the function Implicitization for the variety defined by φ: Q[x, y] to Q[r, u, v, w], (x, y) |-> (x4, x3y, xy3, y4). This example is taken from [AL94, Ex. 2.5.4].
> R<x, y> := PolynomialRing(Rationals(), 2);
> S<r, u, v, w> := PolynomialRing(Rationals(), 4);
> f := hom<S -> R |x^4, x^3*y, x*y^3, y^4>;
> Implicitization(f);
Ideal of Polynomial ring of rank 4 over Rational Field
Lexicographical Order
Variables: r, u, v, w
Basis:
[
    -r^2*v + u^3,
    r*v^2 - u^2*w,
    -u*w^2 + v^3,
    -r*w + u*v
]
V2.28, 13 July 2023