#### D.4.2.7 is_surjective

Procedure from library `algebra.lib` (see algebra_lib).

Usage:
  is_surjective(phi); phi map to basering, or ideal defining it

Return:
  an integer, 1 if phi is surjective, 0 if not

Note:
  The algorithm returns 1 if and only if all the variables of the basering are contained in the polynomial subalgebra generated by the polynomials defining phi. Hence, it tests surjectivity in the case of a global ordering. If the basering has local or mixed ordering or if the preimage ring is a quotient ring (in which case the map may not be well defined) then the return value 1 needs to be interpreted with care.

Example:

    LIB "algebra.lib";
    ring R = 0,(x,y,z),dp;
    ideal i = x, y, x2-y3;
    map phi = R,i;                    // a map from R to itself, z->x2-y3
    is_surjective(phi);
    ==> 0
    qring Q = std(ideal(z-x37));
    map psi = R, x,y,x2-y3;           // the same map to the quotient ring
    is_surjective(psi);
    ==> 1
    ring S = 0,(a,b,c),dp;
    map psi = R,ideal(a,a+b,c-a2+b3); // a map from R to S,
    is_surjective(psi);               // x->a, y->a+b, z->c-a2+b3
    ==> 1

User manual for Singular version 4.4.1, 2025, generated by texi2html.