**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: http://mathoverflow.net/questions/111379/how-to-compute-all-irreducible-representations-of-a-finite-group-how-gap-is-do