# 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}$$

## 1 Answer

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 '13 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 '13 at 21:05
• Sorry @rschwieb, that's not my area of expertise. – dls Jan 9 '13 at 2:54