Files
static-site-pipeline/hugo/content/posts/2014-12-19-matrix-puzzle.md
2023-09-30 18:34:20 +01:00

5.9 KiB
Raw Blame History

lastmod, author, categories, comments, date, math, aliases, title
lastmod author categories comments date math aliases title
2021-09-12T22:47:44.0000000+01:00 patrick
mathematical_summary
true 2014-12-19T00:00:00Z true
/mathematical_summary/matrix-puzzle/
Matrix puzzle

I recently saw a problem from an Indian maths olympiad:

There is a square arrangement made out of n elements on each side (n^2 elements total). You can put assign a value of +1 or -1 to any element. A function f is defined as the sum of the products of the elements of each row, over all rows and g is defined as the sum of the product of elements of each column, over all columns. Prove that, for n being an odd number, f(x)+g(x) can never be 0.

There is a very quick solution, similar in flavour to that famous dominoes puzzle. However, I didnt come up with it immediately, and my investigation led down an interesting route.

Preliminary observations

It is easy to see that given a matrix of \(1\) and \(-1\), we have \(f, g\) unchanged on reordering rows and columns, and on taking the transpose. This leads to a very useful lemma: \(f, g\) are unchanged if we negate the corners of a rectangle in the matrix.

The idea then occurs: perhaps there is a normal form of some kind?

Specification of normal form

Given any four -1s laid out at the corners of a rectangle, we may flip them all into 1s without changing \(f, g\). Similarly, given any three -1s on the corners of a rectangle, where the fourth corner is 1, we may flip to get a rectangle with one -1 and three 1s.

Repeat this procedure until there are no rectangles with three or more corners -1. (Note that we might get a different answer depending on the order we do this in!) A Mathematica procedure to do this (expressed in a very disgusting way) is as follows. {% raw %} internalReduce[mat_] := Module[{m = mat}, Do[If[(i != k && j != l) && Count[Extract[m, {{i, j}, {k, j}, {i, l}, {k, l}}], -1] > 2, {mi, j, mi, l, mk, j, mk, l} = -{mi, j, mi, l, mk, j, mk, l}; ], {i, 1, Length[mat]}, {j, 1, Length[mat]}, {k, 1, Length[mat]}, {l, 1, Length[mat]}]; m] reduce[mat_] := FixedPoint[internalReduce, mat] {% endraw %}

Notice that columns which contain more than one -1 must not overlap, in the sense that no two columns with more than one -1 may have a -1 in the same row. Indeed, if they did, wed have a submatrix somewhere of the form {{-1, -1}, {1, -1}}, which contradicts the “weve finished flipping” condition. Hence we may rearrange rows so that all -1s appear together in contiguous columns.

We may then rearrange columns so that reading from the left, we see successive columns with decreasingly many -1s. Rearrange rows again so that they appear stacked on top of each other.

![example of reduced matrix][reduced matrix]

Weve ended up with a normal form: columns of -1s, diagonally adjoined to each other, followed by rows of -1s. (The following Mathematica code relies on the fact that SortBy is a stable sort.)

normalform[mat_] := SortBy[Transpose@SortBy[Transpose@reduce[mat], -Count[#, -1] &], Count[#, -1] /. {0 -> Infinity} &]

We havent shown that its unique yet, and indeed its not. As a counterexample, {{-1,1,1,1,1}, {-1,1,1,1,1}, {1,-1,1,1,1}, {1,-1,1,1,1}, {1,1,1,1,1}} is transformed into {{-1,1,1,1,1}, {-1,1,1,1,1}, {-1,1,1,1,1}, {-1,1,1,1,1},{1,1,1,1,1}} by a rectangle-flip.

This suggests a further improvement to the normal form: by flipping in this way, we may insist that any column of -1s, other than the first, must contain only one -1. Indeed, if it contained two or more, we would flip two of them into the first column, rearrange so that all columns were contiguous -1s again, and repeat.

What does our matrix look like now? Its a column of -1, followed by some diagonal -1s, followed by a row of -1. Well call this the canonical form, although Ive still not shown uniqueness.

![example of matrix in canonical form][canonical matrix]

Restatement of problem

The problem then becomes: given a matrix in canonical form, show that \(f+g\) cannot be 0.

Notice that if the long column is \(r\) long, and there are \(s\) diagonal -1s, and the long row is \(t\) long, and the matrix is \(n \times n\), then \(f = -r-s+(-1)^t + (n-s-r-1)\), \(g = -t-s+(-1)^r + (n-s-t-1)\).

Hence \(f+g = 2n - 2(r+2s+t+1) + (-1)^r + (-1)^t\).

Any choice of \(r, s, t, n\) with \(r+s+1 \leq n; s+t+1 \leq n; r, t>1\) yields a valid matrix. We therefore need to show that for all \(r, s, t, n\) we have \(2(n-r-2s-t-1) + (-1)^r + (-1)^t \not = 0\).

Solution

Reducing this mod 4, it is enough to show that \(2(n-r-t-1) + (-1)^r + (-1)^t \not \equiv 0 \pmod{4}\). But we can easily case-bash the four cases which arise depending on the odd-even parity of \(r, t\), to see that in all four cases, the congruence does indeed not hold.

  • \(r, t\) even: \(2(n-1) + 2 = 2n\), but since \(n\) is odd, this is not \(0 \pmod{4}\).
  • \(r\) even, \(t\) odd: \(2n - 1\), since \(t-1\) is even so \(2(t-1)\) is a multiple of 4. \(2n-1\) isnt even even, let alone divisible by \(4\).
  • \(r, t\) odd: \(2(n-1) + 2 = 2n\) which is again not \(0 \pmod{4}\).

Summary

Once we had this canonical form, it was easy to find \(f, g\) and therefore analyse the behaviour of \(f+g\). Next steps: prove that canonical forms are unique (perhaps using the fact that \(f, g\) are invariant across forms, and showing a result along the lines that any two canonical forms with the same \(f, g\) must be equivalent). I wont do that now.

[reduced matrix]: {{< baseurl >}}images/Matrices/matrix_reduced.jpg [canonical matrix]: {{< baseurl >}}images/Matrices/matrix_canonical.jpg