Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Given $M \in GL(n,F_2)$ which is known to have a $k^{th}$ root. How can I find a root algorithmically? Can I find all roots?

Other than being invertible and having a $k^{th}$ root I know nothing of M.

If I'm lucky and it happens that $gcd(k, |GL(n,F_2)|)=1$ then I can find the root by raising $M$ to the appropriate power. I'm interested in solving it for the more general case.

(also, is there any software library that can do it for me?)

share|cite|improve this question
I'd start trying with k=2, and work from there. – Thomas Andrews Apr 10 '11 at 18:12

For any $n$ you can, in principle, find the roots algorithmically by brute force enumeration. When $n$ is small, say $n=2$ or $n=3$, this is actually a very feasible approach - after all, there are just 6 invertible $2\times 2$ matrices over $F_2$, and 168 $3 \times 3$ ones. Raise each one to the $k$th power and see what you get.

For larger $n$, you can probably start by conjugating $M$ into a more convenient form such as the Frobenius Normal form. This may or may not help but if it does it can save a lot of computation.

Much of this can be easily programmed in GAP or SAGE (though I doubt there's a built-in function to do just that - you will need to do some coding).

share|cite|improve this answer
In principle. ${}$ – Mariano Suárez-Alvarez Apr 11 '11 at 5:02
Oops. Corrected. Thanks! – Alon Amit Apr 11 '11 at 5:15
The Frobenius Normal Form allows you to consider the question on conjugacy classes. Powers of a FNF have relatively easy to describe FNF. For small n you can just enumerate the conjugacy classes and compute the "power maps" between them. – Jack Schmidt Apr 11 '11 at 17:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.