|
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 odering.
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
|
|