From 59f6890d072edd91d9f1edac154d54c67a4f27db Mon Sep 17 00:00:00 2001 From: Ada <59454160+apzzd@users.noreply.github.com> Date: Wed, 6 Aug 2025 11:34:16 -0600 Subject: [PATCH 01/10] Update reciprocals-and-zn-II-8-5-2025.html redo some weird spacing stuff --- posts/reciprocals-and-zn-II-8-5-2025.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/posts/reciprocals-and-zn-II-8-5-2025.html b/posts/reciprocals-and-zn-II-8-5-2025.html index ec88873..28c1eab 100644 --- a/posts/reciprocals-and-zn-II-8-5-2025.html +++ b/posts/reciprocals-and-zn-II-8-5-2025.html @@ -35,7 +35,6 @@ Anyway, here we go...

the “vector conversion” strategy

-

Say we have the set $\mathbb{Z}_n$ where $n$ isn’t prime. We can split up $n$ into $2$ or more factors: say we have just $2$, $a$ and $b$. Then we can represent a number $x$ in $\mathbb{Z}_n$ as a vector:

$$\langle x \mod a, x \mod b \rangle$$ @@ -83,7 +82,6 @@

the “vector conversion” strategy

$$21 \times 5 = 105 = (2 \times 52) + 1$$

the “powers of x” strategy

-

Another strategy I found works for prime values of $n$ and is much simpler, but also much less reliable.

Given a system $\mathbb{Z}_n$, find the smallest possible power $p$ such that $x^p \equiv 1 \mod n$. If you write out a list of powers of $x \mod n$, you should see every possible remainder exactly once before you reach $x^p$. From 5c160df84618d9ccec5709c0746dc915e55a7cec Mon Sep 17 00:00:00 2001 From: Ada <59454160+apzzd@users.noreply.github.com> Date: Wed, 6 Aug 2025 13:08:56 -0600 Subject: [PATCH 02/10] Update reciprocals-and-zn-II-8-5-2025.html fix weirdly-spaced mods --- posts/reciprocals-and-zn-II-8-5-2025.html | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/posts/reciprocals-and-zn-II-8-5-2025.html b/posts/reciprocals-and-zn-II-8-5-2025.html index 28c1eab..e252f35 100644 --- a/posts/reciprocals-and-zn-II-8-5-2025.html +++ b/posts/reciprocals-and-zn-II-8-5-2025.html @@ -37,23 +37,23 @@

the “vector conversion” strategy

Say we have the set $\mathbb{Z}_n$ where $n$ isn’t prime. We can split up $n$ into $2$ or more factors: say we have just $2$, $a$ and $b$. Then we can represent a number $x$ in $\mathbb{Z}_n$ as a vector:

- $$\langle x \mod a, x \mod b \rangle$$ + $$\langle x \bmod a, x \bmod b \rangle$$

This is the same as:

- $$\langle x \mod a, 0 \rangle + \langle 0, x \mod b \rangle$$ + $$\langle x \bmod a, 0 \rangle + \langle 0, x \mod b \rangle$$

The first component of the vector is in $\mathbb{Z}_a$, and the second is in $\mathbb{Z}_b$.

- Now we have a slightly simpler problem - we need to find a vector to multiply each term by in order to end up with $\langle 1 , 0 \rangle$ and $\langle 0 , 1 \rangle$, respectively. To do this, we just need to find the reciprocals of $x \mod a$ and $x \mod b$. Once we’ve done that, we add those vectors to get a new vector, + Now we have a slightly simpler problem - we need to find a vector to multiply each term by in order to end up with $\langle 1 , 0 \rangle$ and $\langle 0 , 1 \rangle$, respectively. To do this, we just need to find the reciprocals of $x \bmod a$ and $x \bmod b$. Once we’ve done that, we add those vectors to get a new vector,

$$\langle c , d \rangle,$$

- where $c$ is the reciprocal of $x \mod a$ in $\mathbb{Z}_a$, and $d$ is the reciprocal of $x \mod b$ in $\mathbb{Z}_b$. + where $c$ is the reciprocal of $x \bmod a$ in $\mathbb{Z}_a$, and $d$ is the reciprocal of $x \bmod b$ in $\mathbb{Z}_b$.

Note that when we’re multiplying vectors with this strategy, we’re multiplying them component-wise.

- Now, we just need to convert $\langle c , d \rangle$ back into a number in $\mathbb{Z}_n$. We’ve got to reverse the operation we did in order to convert a number into a vector - so, we need to find some number $x_2$ such that $x_2 \equiv c \mod a$ and $x_2 \equiv d \mod b$. + Now, we just need to convert $\langle c , d \rangle$ back into a number in $\mathbb{Z}_n$. We’ve got to reverse the operation we did in order to convert a number into a vector - so, we need to find some number $x_2$ such that $x_2 \equiv c \bmod a$ and $x_2 \equiv d \bmod b$.

If we’re trying to find lots of reciprocals in $\mathbb{Z}_n$ using this process, it’d be worth our time to simplify the problem further. Instead of trying to convert back into $\mathbb{Z}_n$ for every single possible vector $\langle c , d \rangle$, we can convert the unit vectors $\langle 1 , 0 \rangle$ and $$\langle 0 , 1 \rangle$$ instead, and add multiples of them. In this case, we’d find this:

@@ -67,7 +67,7 @@

the “vector conversion” strategy



We start by converting this number to a vector, where the first component is in $\mathbb{Z}_{13}$ and the second is in $\mathbb{Z}_4$ (because $13 \times 4 = 52$):

- $$5 \rightarrow \langle 5 \mod 13 , 5 \mod 4 \rangle = \langle 5 , 1 \rangle$$ + $$5 \rightarrow \langle 5 \bmod 13 , 5 \bmod 4 \rangle = \langle 5 , 1 \rangle$$

Next, we find the reciprocal of this vector:

@@ -76,7 +76,7 @@

the “vector conversion” strategy

Now we can convert $\langle 1 , 0 \rangle$ and $\langle 0 , 1 \rangle$ to numbers in $\mathbb{Z}_{52}$... with a bit of calculation, we find that $\langle 1 , 0 \rangle \rightarrow 14$ and $\langle 0 , 1 \rangle \rightarrow 13$.

Finally, we can convert the reciprocal in vector form into a number in $\mathbb{Z}_{52}$: - $\langle 8 , 1 \rangle = 8 \langle 1 , 0 \rangle + 1 \langle 0 , 1 \rangle \rightarrow (8 \times 14 + 1 \times 13) \mod 52 = 21$ + $\langle 8 , 1 \rangle = 8 \langle 1 , 0 \rangle + 1 \langle 0 , 1 \rangle \rightarrow (8 \times 14 + 1 \times 13) \bmod 52 = 21$

We can check our answer very quickly: $$21 \times 5 = 105 = (2 \times 52) + 1$$ @@ -84,11 +84,11 @@

the “vector conversion” strategy

the “powers of x” strategy

Another strategy I found works for prime values of $n$ and is much simpler, but also much less reliable.

- Given a system $\mathbb{Z}_n$, find the smallest possible power $p$ such that $x^p \equiv 1 \mod n$. If you write out a list of powers of $x \mod n$, you should see every possible remainder exactly once before you reach $x^p$. + Given a system $\mathbb{Z}_n$, find the smallest possible power $p$ such that $x^p \equiv 1 \mod n$. If you write out a list of powers of $x \bmod n$, you should see every possible remainder exactly once before you reach $x^p$.

- Now, you just have to “group” the powers in your list into pairs, such that the product of the powers of $x$ is $x^p$. The numbers that they’re congruent to $\mod n$ are reciprocals. + Now, you just have to “group” the powers in your list into pairs, such that the product of the powers of $x$ is $x^p$. The numbers that they’re congruent to $\bmod n$ are reciprocals.

- Now, this strategy is unreliable because one value of $x$ doesn’t work for all prime values of $n$ - if a list of powers of $x \mod n$ doesn’t include all possible remainders exactly once, it won’t work. + Now, this strategy is unreliable because one value of $x$ doesn’t work for all prime values of $n$ - if a list of powers of $x \bmod n$ doesn’t include all possible remainders exactly once, it won’t work.




From 8980e9dac4deb08cc67f4f2ddbea4269a890032e Mon Sep 17 00:00:00 2001 From: Ada <59454160+apzzd@users.noreply.github.com> Date: Thu, 7 Aug 2025 08:31:36 -0600 Subject: [PATCH 03/10] Update reciprocals-and-zn-II-8-5-2025.html small fix of $$ $$ -> $ $ --- posts/reciprocals-and-zn-II-8-5-2025.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/reciprocals-and-zn-II-8-5-2025.html b/posts/reciprocals-and-zn-II-8-5-2025.html index e252f35..0148df9 100644 --- a/posts/reciprocals-and-zn-II-8-5-2025.html +++ b/posts/reciprocals-and-zn-II-8-5-2025.html @@ -55,7 +55,7 @@

the “vector conversion” strategy



Now, we just need to convert $\langle c , d \rangle$ back into a number in $\mathbb{Z}_n$. We’ve got to reverse the operation we did in order to convert a number into a vector - so, we need to find some number $x_2$ such that $x_2 \equiv c \bmod a$ and $x_2 \equiv d \bmod b$.

- If we’re trying to find lots of reciprocals in $\mathbb{Z}_n$ using this process, it’d be worth our time to simplify the problem further. Instead of trying to convert back into $\mathbb{Z}_n$ for every single possible vector $\langle c , d \rangle$, we can convert the unit vectors $\langle 1 , 0 \rangle$ and $$\langle 0 , 1 \rangle$$ instead, and add multiples of them. In this case, we’d find this: + If we’re trying to find lots of reciprocals in $\mathbb{Z}_n$ using this process, it’d be worth our time to simplify the problem further. Instead of trying to convert back into $\mathbb{Z}_n$ for every single possible vector $\langle c , d \rangle$, we can convert the unit vectors $\langle 1 , 0 \rangle$ and $\langle 0 , 1 \rangle$ instead, and add multiples of them. In this case, we’d find this:

$$c \langle 1 , 0 \rangle + d \langle 0 , 1 \rangle$$

From 2fd905c9c1f359281176823a36b6bad1ec7a2633 Mon Sep 17 00:00:00 2001 From: Ada <59454160+apzzd@users.noreply.github.com> Date: Thu, 7 Aug 2025 12:20:34 -0600 Subject: [PATCH 04/10] Update style.css one last change --- style.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/style.css b/style.css index 435f805..4496050 100644 --- a/style.css +++ b/style.css @@ -1,11 +1,11 @@ body { - padding-top: 10px; + padding-top: 15px; padding-left: 20px; padding-right: 20px; padding-bottom: 20px; background-color: #333333; color: white; - margin-top: 1%; + margin-top: 3%; margin-left: 5%; margin-right: 5%; } From 0033c72a8b564fd50219dc25bef915399d440c55 Mon Sep 17 00:00:00 2001 From: Ada <59454160+apzzd@users.noreply.github.com> Date: Thu, 7 Aug 2025 12:26:20 -0600 Subject: [PATCH 05/10] Update style.css please work --- style.css | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/style.css b/style.css index 4496050..2d34e27 100644 --- a/style.css +++ b/style.css @@ -1,11 +1,8 @@ body { - padding-top: 15px; - padding-left: 20px; - padding-right: 20px; - padding-bottom: 20px; + padding: 20px; background-color: #333333; color: white; - margin-top: 3%; + margin-top: 2%; margin-left: 5%; margin-right: 5%; } From 48fc26cc578fdfce2b78f10230934526b08f153b Mon Sep 17 00:00:00 2001 From: Ada <59454160+apzzd@users.noreply.github.com> Date: Sun, 7 Sep 2025 10:14:09 -0600 Subject: [PATCH 06/10] Update index.html moved new post to top --- index.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index b50ef2f..db412cf 100644 --- a/index.html +++ b/index.html @@ -30,6 +30,11 @@
+
+ billardtische und unendliche parkettieren (deutsch) +

ein sehr kurzes deutschpost über billardtische

+
+
reciprocals and $\mathbb{Z}_n$ (part II)

some dubious and potentially inconsistent reciprocal-finding strategies :/

@@ -44,11 +49,6 @@ arranging dominos

how many ways can you arrange some dominos on a rectangle, and what does that have to do with fibonacci numbers?

- -
- billardtische und unendliche parkettieren (deutsch) -

ein sehr kurzes deutschpost über billardtische

-
From 896b34b81b58805108827f046ace00767edbaf42 Mon Sep 17 00:00:00 2001 From: Ada <59454160+apzzd@users.noreply.github.com> Date: Sun, 7 Sep 2025 10:16:08 -0600 Subject: [PATCH 07/10] Update billardtische-parkettieren-deutschpost-9-6-2025.html little mistake --- posts/billardtische-parkettieren-deutschpost-9-6-2025.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posts/billardtische-parkettieren-deutschpost-9-6-2025.html b/posts/billardtische-parkettieren-deutschpost-9-6-2025.html index 4aafe4d..0da8a1f 100644 --- a/posts/billardtische-parkettieren-deutschpost-9-6-2025.html +++ b/posts/billardtische-parkettieren-deutschpost-9-6-2025.html @@ -29,7 +29,7 @@
- Stellen Sie vor, dass Sie einen Kugel auf einem völlig reibungsfreien Billardtisch haben, und Sie möchten vorhersagen, wann er in einem bestimmten Position befindet sich (in einer Ecktasche, zum Beispiel) nachdem er in einer bestimmten Richtung gerollt wurde und gegen die Rahmen des Billardtischs abgeprallt wurde. Eine nette Strategie für dieses Problem besteht darin, Reflexionen von der Tisch zu fliesen, oder einen unendlich großen Tisch zu machen, so dass die Flugbahn des Kugel vereinfacht wird. + Stellen Sie vor, dass Sie einen Kugel auf einem völlig reibungsfreien Billardtisch haben, und Sie möchten vorhersagen, wann er in einem bestimmten Position befindet sich (in einer Ecktasche, zum Beispiel) nachdem er in einer bestimmten Richtung gerollt wurde und gegen die Rahmen des Billardtischs abgeprallt wurde. Eine nette Strategie für dieses Problem besteht darin, Reflexionen von der Tisch zu parkettieren, oder einen unendlich großen Tisch zu machen, so dass die Flugbahn des Kugel vereinfacht wird.

From 892ab70135c2efeb2ec5d229684db911a3968531 Mon Sep 17 00:00:00 2001 From: Ada <59454160+apzzd@users.noreply.github.com> Date: Tue, 9 Sep 2025 13:52:06 -0600 Subject: [PATCH 08/10] Update index.html add tatoeba! --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index db412cf..2a05208 100644 --- a/index.html +++ b/index.html @@ -25,7 +25,7 @@

posts about math, projects, niche interests, etc.

-

check out my Github and Art of Problem Solving accounts, too.

+

check out my Github, Art of Problem Solving, and Tatoeba accounts, too.

From bde27af1f9a3beaa61d75e8e6588448897854166 Mon Sep 17 00:00:00 2001 From: Ada <59454160+apzzd@users.noreply.github.com> Date: Mon, 15 Sep 2025 06:43:04 -0600 Subject: [PATCH 09/10] Update style.css made font a little bigger --- style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/style.css b/style.css index 2d34e27..89e338f 100644 --- a/style.css +++ b/style.css @@ -5,6 +5,7 @@ body { margin-top: 2%; margin-left: 5%; margin-right: 5%; + font-size: 20px; } img { From ebd0275deeb7acb6f4b8bfbbd90296536aa39cf2 Mon Sep 17 00:00:00 2001 From: Ada <59454160+apzzd@users.noreply.github.com> Date: Mon, 15 Sep 2025 06:54:10 -0600 Subject: [PATCH 10/10] Update style.css MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit shouldn’t have made font larger :P --- style.css | 1 - 1 file changed, 1 deletion(-) diff --git a/style.css b/style.css index 89e338f..2d34e27 100644 --- a/style.css +++ b/style.css @@ -5,7 +5,6 @@ body { margin-top: 2%; margin-left: 5%; margin-right: 5%; - font-size: 20px; } img {