# How to find Matrix Inverse over finite field?

How to find matrix Inverse over finite field?

I am using MATLAB, and I know gf() in MATLAB can enable me to do linear algebra operations over finite field $F_{2^m}$ for some m.

However, if I want to find the matrix inverse over finite field $F_p$ for some prime $p\neq 2$, how should I do in MATLAB and on the paper?

For example, if $p=11$ and if matrix A is:

$$\begin{bmatrix}2&1&2\\1&2&9\\1&2&7\end{bmatrix}$$

I need to derive its inverse $A^{-1}$ as:

$$\begin{bmatrix}8&6&1\\7&9&10\\0&6&5\end{bmatrix}$$

-
On paper? The same way you do it over the reals. See my walkthru answer to an example with $p=29$. –  Jyrki Lahtonen Jan 9 at 8:43

You could compute the adjugate for the matrix, and the determinant of the matrix, and then apply the formula: $$(1/\det(A))\mathrm{adj}(A)=A^{-1}$$

You would just need to do all computations mod $p$.

Doing it over a field size $p^m$, you would need to first generate a multiplication and addition table for the field (it is not simply $\Bbb Z/(p^m)$.) The same approach would then work. You just need to teach matlab how to do arithmetic in that field!

I remember modeling finite fields in matlab in the past, but you will probably be smarter about it and find a preexisting package or something handy that programming savvy people would do, rather than reinvent the wheel as I did.

-
Such as SAGE: sagemath.org/doc/tutorial/tour_linalg.html –  dls Jan 8 at 21:01
@dls Could I ask you fast what your top picks for computer algebra systems that are good for messing with finite rings are? –  rschwieb Jan 8 at 21:05
Sorry @rschwieb, that's not my area of expertise. –  dls Jan 9 at 2:54