up previous next
PreImage

preimage of a RINGELEM

Syntax
PreImage(phi: RINGHOM, f: RINGELEM): RECORD

Description
This function returns the preimage of f via phi . More precisely it returns a record with fields IsInImage and ker , and OnePreImage if f is in the image of phi .

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;
/**/  PreImage(phi, b);
record[IsInImage := false, ker := ideal(-x^2*z +y^2 +2*x*z -6*y -z +9)]

/**/  indent(PreImage(phi, a^2));
record[
  IsInImage := true,
  OnePreImage := x^2 -2*x +1,
  ker := ideal(-x^2*z +y^2 +2*x*z -6*y -z +9)
]
/**/  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