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

92 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
lastmod: "2021-09-12T22:47:44.0000000+01:00"
author: patrick
categories:
- mathematical_summary
comments: true
date: "2014-12-19T00:00:00Z"
math: true
aliases:
- /mathematical_summary/matrix-puzzle/
title: 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][Mutilated chessboard]. 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, {m[[i, j]], m[[i, l]], m[[k, j]],
m[[k, l]]} = -{m[[i, j]], m[[i, l]], m[[k, j]], m[[k, 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.
[Mutilated chessboard]: https://en.wikipedia.org/wiki/Mutilated_chessboard_problem
[normal form]: https://en.wikipedia.org/wiki/Canonical_form
[reduced matrix]: {{< baseurl >}}images/Matrices/matrix_reduced.jpg
[canonical matrix]: {{< baseurl >}}images/Matrices/matrix_canonical.jpg