An Application of Burnside's Lemma to Computer Science
1. Introduction
A couple years ago - back when I still coded things - I stumbled across a seemingly-innocent problem in computer science about permuting matrices of numbers. Initially, I thought the problem just needed a little algorithmic speedup in order to work; however, the deeper I dived, the more I realized how mathematical the structure behind this problem was.
In the end, my solution was actually primarily mathematical, drawing from group-theoretic ideas to optimize the algorithm. This problem means quite a lot to me, because it was one of the first times I actually applied higher mathematics to a non-mathematical problem, and I think it’s one of the reasons why I love math as much as I do today.
The problem is as follows: Let M be the set of all w×h matrices whose elements are drawn from the set {1,…,n}, and let S be a subset of M such that no element of S can be rearranged into another one by permuting its rows and columns. Given w,h, and n, compute the largest possible size of S.

An example of two matrices that can be...

