# kernel of a matrix defined over polynomial rings

I have a matrix defined as a function of variables in a polynomial ring defined over finite field as follows-

```
Gr.<xp,yp>=LaurentPolynomialRing(GF(2));
M=Matrix(Gr,[[xp-1,0],
[yp-1,0],
[0,(yp^(-1))-1],
[0,-(xp^(-1))+1]]);
```

I want to calculate the kernel of this matrix but the kernel function

```
M.kernel()
```

gives an error. What am I doing wrong?