up previous next
IsInjective

check if a RINGHOM is injective

Syntax
IsInjective(phi: RINGHOM): BOOL

Description
This function checks if a RINGHOM is injective.

Example
/**/  QQxyz ::= QQ[x,y,z];
/**/  QQab  ::= QQ[a,b];

/**/  use QQab;
/**/  phi := PolyAlgebraHom(QQxyz, QQab, [a+1, a*b+3, b^2]);
/**/  IsInjective(phi);
false
/**/  ker(phi);
ideal(-x^2*z +y^2 +2*x*z -6*y -z +9)
/**/  IsSurjective(phi);
false

/**/  use QQab;
/**/  preimage0(phi, b);
0

/**/  preimage0(phi, a^2);
x^2 -2*x +1

/**/  phi(RingElem(QQxyz, "x^2 - 2*x + 1"));
a^2
/**/  phi(RingElem(QQxyz, "x^2 - 2*x + 1 + (-x^2*z +y^2 +2*x*z -6*y -z +9)"));
a^2

See Also