This is a follow-up to Decoding the Matrix Multi-Force because I noticed that, while one can find many examples of different types of matrix force in a variety of books, the general method of constructing them seems to be hard to come by. It doesn’t help that not all effects using the matrix force actually involve making an explicit matrix layout. Nonetheless, finding a set of numbers that achieves any particular result you want is so easy it won’t even take a full length post to explain.
Remember, our goal is to have a set of n numbers chosen from a square of n² numbers—most commonly 4 from 16, though 5 from 25 has seen some usage—such that exactly one number is chosen from each row and column, and no matter what choices are made, the sum of those numbers is forced.
Step 1
For simplicity, we’ll assume the 4 by 4 case, but the generalization should be obvious. Your first step is to pick 8 numbers in two sets of 4. If you need a specific force number to be the result, ensure these 8 numbers sum to the force number.
The types of numbers you choose here will depend on exactly the role you want them to play in the trick. If you want a bunch of single digit numbers in your matrix, for example, make sure to choose only single-digit integers such that no pair, one taken from each set, sums to more than 9 or less than 1, such as by only choosing numbers in the range 0 to 5, with 0 and 5 each appearing at most once. If you want playing cards to make up the matrix, you can ensure no pair sums to more than 13 in similar fashion. If you want lots of different-looking numbers, it helps to make sure you have an alternating mix of odd and even numbers in each set.
For an example, let’s choose [5, 1, 4, 2], and [3, 4, 2, 1]. These eight numbers add up to (and will therefore force) the number 22.
Step 2
Your second step is to write one set of four numbers above the columns of your matrix and the other set to the left of the rows.
Step 3
Finally, for each cell, compute its value by summing the number at the top of its column with the number at the left of its row.
That’s it! A working force matrix! I told you it was easy.
Multi-Force
A final note about constructing a multi-force like the one in the last post. If you want to force n different numbers, start by making a normal matrix force of size n² for a force number between the smallest and largest numbers you want to force. Then find the difference between this starting force number and each of the actual numbers you want to force. For example, let’s say we want to force the numbers 15, 19, 21, and 24. We have a matrix above that forces 22, so we start from that force number and find our differences are -7, -3, -1, and +2.
Adjust the largest number in the first row1 downward by the amount needed to get from the original force number to the smallest number you want to force. Adjust the smallest number in the first row upward by the amount needed to get to the largest number you want to force. And so on for the rest of the first row. So, for our example, we have 8-7=1, 7-3=4, 5-1=4, and 4+2=6. Actually, since that gives two 4’s let’s switch a couple of them to give 4-1=3 and 5+2=7 instead.
And that’s it! Now you’re forcing precisely those four numbers depending on which number is chosen from the first row.
- You can actually apply these adjustments to any one row. But then, you can always rearrange your starting numbers (or the resulting rows) to make any row the first row, so it’s enough to say “modify the first row.” (This ability to rearrange the rows and columns at will is the reason I said in the previous post that the code sheets can be passed out in any order.) ↩︎