**Question 1** Given a representation of a finite group, what algorithm can be used to check is it irreducible or not ? 


(Main case - complex numbers, comments on other cases are also welcome. "Given" means finite set of matrices is given).


**Question 2** Given a representation of a finite group, what algorithms can be used to decompose it to the direct sum of irreducibles) ? 




---


For the question 1 I would do the following: rep is irrep if its commutant consists of scalar matrices. So I can try to find matrices commuting with all elements of the group and look whether I get only scalar matrices.


Are there more effective ways to do it ?




---


Related question: [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)



Algorithm  to check is representation irreducible ? Algorithm to decompose the reducible one ?
I think this question is not quite so trivial as Qiaochu suggests. Devising practical algorithms for problems of this type is certainly an active area of research within the computational group theory community.


The first problem is that the group may be too large for it to be feasible to compute its conjugacy classes and character table. It might be one of the large sporadic simple groups for example. Over finite fields, the so-called Meataxe methods, which are actually just based on linear algebra, have been used to find the composition factors of some modules of dimensions in the hundreds of thousands. There are ongoing efforts to extend these methods to characteristic zero.


If your representation is in characteristic zero, and you can compute the classes and character table, then the straightforward character theoretic methods will tell you what the absolutely irreducible constituents of the module are, but that does not immediately enable you to decompose the module explicitly.


Another problem that arises in practice is that your representation may be over the rationals, for example, but its absolutely irreducible constituents might not be realizable over the rationals. In that case, the reducibility of the module will depend on the Schur Index of representation',s constituents, which can be calcualated from the character table. But again, if you find out, for example, that a rational representation is the direct sum of two isomorphic irreducibles, then it can be very difficult to find the basis change that exhibits the direct sum.


