Home> urticator.net Search About This Site > Domains Glue Stories Computers Driving Games Humor Law > Math Numbers Science Continued Fractions The Markov Project > The Markov Project (Epilogue) Game Theory (Section) Group Theory Probability Miscellaneous The True Pattern Mutations Some Definitions The True Formula More About Symmetry Details About Operations One Bit of Information The Irrational Value
|
A Nice ConstructionLet's run the second algorithm on [1,2,3,4] one more time.
At the end is the matrix that corresponds to [1,2,3,4] … but that's not the only matrix present! Looking backward, we see the matrices that correspond to [1,2,3], [1,2], and [1], and at the start is the identity matrix that corresponds to the empty expansion. (As usual, we have to swap the columns to obtain the matrices.) So, we know about [1,2,3], but not about [2,3,4]. Let's correct that.
See how the denominators in the first table are equal to the numerators in the second? That's not a coincidence. To compute the denominators in the first table, we start with the initial conditions (1,0) and then use a0 to compute q0 and so on.
q0 = a0q−1 + q−2 That's correct from a theoretical perspective, but from a practical perspective, since q−1 = 0, we always have q0 = q−2 = 1. So, if we want, we can pretend that we start with the initial conditions (0,1) and then use a1 to compute q1 and so on. But, that's also exactly how we compute the numerators in the second table! That's not a new result, by the way. I mentioned it way back in the fourth bullet point of Chains and Denominators. Since the denominators in the first table are equal to the numerators in the second, we can pack the tables together. If we continue the process with [3,4] and so on, we can construct a nice triangle.
That triangle contains exactly the matrices that correspond to the sub-expansions of [1,2,3,4], no more and no less. There are fifteen of them, including five copies of the identity matrix. Here's an idea I picked up from programming that makes it easier to count the sub-expansions. When we have a string, list, or array, any type of linear data structure, there are two kinds of index numbers. Let's say we have a string of length 4.
The numbers in the top row refer to the elements of the data structure, here characters, while the numbers in the bottom row refer to the spaces between the elements. Numbers of the first kind are the most common, as in a typical for loop, …
for (int i=0; i<n; i++) … but numbers of the second kind are more common than you might think. Examples? The position of an iterator is one. The cursor position in a text field is one. Two cursor positions define a selection, and a selection is a substring, or perhaps a sub-expansion. Unfortunately, people generally aren't aware that there are two kinds of numbers, so there aren't good conventions for the second kind. If we have a number of the first kind, of course we should call it an index and use the variable name i, but if we have a number of the second kind, it's not clear what we should do. Maybe call it a position? And use the variable name pos? But that's a problem for another time. Next let's do the same construction for the reversed expansion [4,3,2,1].
As you might have guessed, the new triangle is the transpose of the old triangle (across the other diagonal). The reason is easy to understand.
Of course that's just the fun version of the second step. Here's the serious version.
Finally, let's carry the expansion coefficients from the new triangle back to the old triangle.
Consider the number 30 in the upper right. We can compute it horizontally, using the old coefficient 4 above, but we can also compute it vertically, using the new coefficient 2 to the right.
Every number in the triangle can be computed in two ways! Of course I need to add some caveats about “every number”. When we run the second algorithm, the first two columns are given, not computed. So, in the triangle, the 1s in the outer diagonal and the 0s in the next diagonal are always given. The 1s in the third diagonal can be regarded as given, but can also be regarded as computed in up to two ways, depending on things. Every other number is always computed, and can be computed in two ways. Although it's easy to explain, it's still hard to believe that those interlocking computations work. And, of course they work not just for [1,2,3,4] but for any finite expansion. You may have noticed that I like to explain things not abstractly, with definitions and proofs, but concretely, with a nice large example. I think there's a name for that rhetorical technique, but I can't remember what it is. You may also have noticed that I like two-dimensional arrays of numbers, especially ones computed via local rules. Here are all the examples I could find, ordered by batch year and month.
|
See Also@ November (2026) |