Bug #1593
CanonicalHom
Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
07 May 2021
Due date:
% Done:
0%
Estimated time:
Description
Hi,
I was just playing around with the function PolyAlgebraHom
and noticed that there is a weird behavior when working with an affine algebra over an extension field. In particular I constructed the following algebra:
use QQi_::=QQ[i];
Qi := QQi_/ideal(i^2+1);
use P::=Qi[x];
I:=ideal(x^2+x+1);
A:=P/I;
Kt := NewPolyRing(Qi, "t");
Now I want the hom phi: K[t] -> A given by phi(t)=x+I. The straightforward implementation
phi:=PolyAlgebraHom(Kt, A, "x");
however gives an error (Unable to construct canonical homomorphism.
).(Might it be fixed by just replacing some call to
CanonicalHom
with ChainCanonicalHom
?In general I do not quite see as to why there even is the function
CanonicalHom
, since ChainCanonicalHom
can do the same, but kind of better.)
Anyway, as a workaround, one can construct phi as follows:
eps := QuotientingHom(A);
phi_:= PolyAlgebraHom(Kt, P, "x");
phi := eps(phi_);
But it would be a lot better if the 'obvious' implementation would just work as expected. (In particular it does for the 'standard' fields
QQ
and ZZ/(p)
.)