Project

General

Profile

Bug #1593

CanonicalHom

Added by Julian Danner almost 3 years ago.

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

Also available in: Atom PDF