Declaring a vector space map of rings

asked 2017-07-14 12:29:00 +0100

ILikeAlgebra gravatar image

Hello sage community!

I am new to sage and have a question which is originally motivated from my tries to implement Berlekamp's algorithm. One is working over a finite field $K=GF(q)$ and wants to factor a polynomial $f\in K[x]$. To do so one considers the ring $R=K[x]/f$ and the map $\beta\colon g\mapsto g^q-g$ from $R$ to itself and wants to compute its kernel. The problem for me is that the definition of $\beta$ uses the ring multiplication of of $R$ but is only a map of $K$-vector spaces, not a ring homomorphism. I am wondering how I can declare this map using sage.

I know I can find a standard $K$-basis of $R$ and I know I can describe $\beta$ by describing its matrix corresponding to this base and I know how to compute the kernel of that matrix and how to translate its elements back to elements of $R$. But still I am interested in wether it is possible to declare a vector space homomorphism of rings in sage and how to work with it.

Thank you!

edit retag flag offensive close merge delete