**Question** Given two finite groups G and H of the same order N what are the algorithms and what is their complexity (in terms of N) to check is G isomorphic to H or not ? Is there polynomial in N algorithm ?


**Details** Assume groups are given in the form of Cayley tables, we know the identity elements and inverses are known to us.


The complexity can be measured as "worst case" or "average" (in some sense of averaging) - I am interested in both, but primarily in "worst case".


By complexity I mean the count of the number of operations, there are some details in definition but I think they will not affect the answer essentially. 




---


**Naive exponential time algorithm** Just consider all possible set-theoretic bijections between G and H and for each bijection check whether Cayley table is the same or not.
Number of bijections is N! so worst case complexity is exponential.




---


**For abelian groups** seems linear time (=O(N)) algorithm [seems exists](http://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&cad=rja&sqi=2&ved=0CGQQFjAJ&url=http%253A%252F%252Fciteseerx.ist.psu.edu%252Fviewdoc%252Fdownload%253Fdoi%253D10.1.1.107.2487%2526rep%253Drep1%2526type%253Dpdf&ei=rz6WUIiMN-z64QSw6oG4Bg&usg=AFQjCNEyWsWhtLXQktDqMpNQxvctDiivhA&sig2=B_dqGTkd7l8xrlyJGaeYPA): 




---


Related: 


[Algorithm to check is representation irreducible ? Algorithm to decompose the reducible one ?](https://mathoverflow.net/questions/111404/algorithm-to-check-is-representation-irreducible-algorithm-to-decompose-the-re)


[How to compute all irreducible representations of a finite group ? (how GAP is doing this?)](https://mathoverflow.net/questions/111379/how-to-compute-all-irreducible-representations-of-a-finite-group-how-gap-is-do)


[Complexity of computing the minimum degree of a faithful linear representation of a finite group](https://mathoverflow.net/questions/85957/complexity-of-computing-the-minimum-degree-of-a-faithful-linear-representation-of)


[Constructing inequivalent irreps of finite groups](https://mathoverflow.net/questions/45560/constructing-inequivalent-irreps-of-finite-groups)


[Recovering representation from its character](https://mathoverflow.net/questions/32836/recovering-representation-from-its-character)



Complexity of establishing finite groups (non)-isomorphism ? 
It is unknown whether this problem is polynomial. It is at worst $O(N^{\log N})$. To see that, observe that the group can be generated by at most $\log N$ elements, a homomorphism is determined by the images of its generators, and deciding whether a specific collection of images defines an isomorphism is polynomial (and fast in practice using defining relations for the group). 


The hardest examples are likely to be $p$-groups (of class 2 or more) with about $O(\log N)$ generators, and I would guess that there is no way of doing that that is significantly faster than $O(N^{\log N})$.


