Make morphism from GF(p^2)'s multiplicative group to GF(p)'s multiplicative group
Hello, I am again blocked in how to access finite fields' multiplicative group. I want to create a group morphism $\phi$ from $GF(p^2) - \lbrace 0 \rbrace$ (which is a group for multiplication) to $GF(p) - \lbrace 0 \rbrace$ defined by $\phi(x) = x^{p+1}$.
If I type:
GF(p^2).hom([GF(p)(z^(p+1))])
where z
is GF(p^2).multiplicative_generator()
, it throws an error, because of course, this is not a field morphism, but only a multiplicative group morphism...
I searched the documentation for a method like FiniteFiled.multiplicative_group()
but I could not find anything.
Using
@FrédéricC: This works only for prime fields. E.g.,
GF(11^2).unit_group()
errors out. Relevant bugreport: https://trac.sagemath.org/ticket/7234This may be a replacement for
.unit_group()
:Thank you very much for your answer. I managed to build K, but unfortunately, I was not able to build a morphism from it. The
hom
method seems to work differently from what I know for this class and throws errors I could not comprehend. EvenK.hom([K.gens()[0]^2])
which should be the endomorphism $x$ gives $x^2$ does not work...It is fairly easy to define a pythonic map $x\to x^{p+1}$. Yes, we completely ignore the mathematical structure. But to use it, and to be able to get such an involved instance knowing everything about structure - not only the map, but also domain, codomain, their properties... well, the
hom
and the instances we are starting with are not prepared for this particular usage... I would understand the need for ahom
-instance implementing $\phi$, if this homomorphism would be (pre)composed with some other one, but also in that case, it is still too much yoga of arranging classes to play the game. If the particular set-theoretical map is enough for the programming purpose, i would go for it.