D.4.1.8 is_bijective
....................
Procedure from library algebra.lib (see algebra_lib).

Usage:
is_bijective(phi,pr); phi map to basering, pr preimage ring

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

Note:
The algorithm checks first injectivity and then surjectivity
To interpret this for local/mixed orderings, or for quotient rings
type help is_surjective; and help is_injective;

Display:
A comment if printlevel >= voice-1 (default)

Example:
LIB "algebra.lib";
int p = printlevel;  printlevel = 1;
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_bijective(phi,R);
==> // map not injective
==> 0
qring Q = std(z-x2+y3);
is_bijective(ideal(x,y,x2-y3),Q);
==> 1
ring S = 0,(a,b,c,d),dp;
map psi = R,ideal(a,a+b,c-a2+b3,0); // a map from R to S,
is_bijective(psi,R);                // x->a, y->a+b, z->c-a2+b3
==> // map injective, but not surjective
==> 0
qring T = std(d,c-a2+b3);
==> // ** _ is no standardbasis
map chi = Q,a,b,a2-b3;              // amap between two quotient rings
is_bijective(chi,Q);
==> 1
printlevel = p;

<font size="-1">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version 2-0-4, October 2002,
generated by <a href="http://www.gnu.org/software/texinfo/"><i>texi2html</i></a>.
</font>

</body>
</html>
