  The Gale-Berlekamp Light Switching Game is played on a square board of
lights. Each light has two states, either on or off. There is a switch to every
row and column. Turning this switch would change the state of all the lights on
that row or column. The aim of the game is to minimise the imbalance in the
board, defined to be the absolute difference between the number of lights
switched on and that of lights switched off. We investigate variants of the
game for an $m \times n$ matrix with n even and $m \le n$. We provide a
constructive proof that for any $m \times n$ rectangle matrix $A$, there exists
$x \in (\pm 1)^n$ and $y \in (\pm 1)^m$ such that $|yAx| \le 2$. i.e. column
and row switches to reduce the imbalance to at most $2$, construct a complete
Python routine to find these switches, and test run the algorithm against
randomly generated initial board configurations. We then expand the game to a
three-dimensional $n \times n \times n$ cube, with corresponding row, column,
and layer switches. We define a minimum threshold $P_n$, such that the
imbalance can always be reduced to at most $P_n$, for all initial states of the
cube. We then provide an existential proof that $P_2 = 2$ and $P_4 = 4$.
