5

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

rschwieb
  • 160,592
user4478
  • 329

1 Answers1

7

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.

rschwieb
  • 160,592