Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
ca4c6ea
Merge pull request #3 from apzzd/dev
apzzd Jul 6, 2025
0ecefa7
Merge pull request #6 from apzzd/dev
apzzd Jul 6, 2025
03e3a79
Merge pull request #7 from apzzd/dev
apzzd Jul 6, 2025
83215c8
Merge pull request #8 from apzzd/dev
apzzd Jul 6, 2025
86665c6
Merge pull request #9 from apzzd/dev
apzzd Jul 6, 2025
182e216
Merge pull request #10 from apzzd/dev
apzzd Jul 6, 2025
8a4594a
Merge pull request #11 from apzzd/dev
apzzd Jul 6, 2025
d5bd243
Merge pull request #12 from apzzd/dev
apzzd Jul 6, 2025
b83f290
Merge pull request #13 from apzzd/dev
apzzd Jul 6, 2025
5c545cc
Merge pull request #14 from apzzd/dev
apzzd Jul 6, 2025
31d98cd
Merge pull request #15 from apzzd/dev
apzzd Jul 6, 2025
992d0b6
Merge pull request #16 from apzzd/dev
apzzd Jul 27, 2025
b7c38a1
Merge pull request #17 from apzzd/dev
apzzd Jul 27, 2025
b60958c
Merge pull request #18 from apzzd/dev
apzzd Aug 2, 2025
d6f2a62
Merge pull request #19 from apzzd/dev
apzzd Aug 6, 2025
f0e7d9f
Merge pull request #20 from apzzd/dev
apzzd Aug 6, 2025
59f6890
Update reciprocals-and-zn-II-8-5-2025.html
apzzd Aug 6, 2025
5c160df
Update reciprocals-and-zn-II-8-5-2025.html
apzzd Aug 6, 2025
8980e9d
Update reciprocals-and-zn-II-8-5-2025.html
apzzd Aug 7, 2025
dce67be
Merge pull request #21 from apzzd/dev
apzzd Aug 7, 2025
38aee8b
Merge pull request #22 from apzzd/dev
apzzd Aug 7, 2025
edbaafc
Merge pull request #23 from apzzd/dev
apzzd Aug 7, 2025
8f8228e
Merge pull request #24 from apzzd/dev
apzzd Aug 7, 2025
e299847
Merge pull request #25 from apzzd/dev
apzzd Aug 7, 2025
2fd905c
Update style.css
apzzd Aug 7, 2025
0033c72
Update style.css
apzzd Aug 7, 2025
30c2d4f
Merge pull request #26 from apzzd/dev
apzzd Aug 12, 2025
ca41921
Merge pull request #27 from apzzd/dev
apzzd Aug 12, 2025
b83f743
Merge pull request #28 from apzzd/dev
apzzd Sep 7, 2025
48fc26c
Update index.html
apzzd Sep 7, 2025
896b34b
Update billardtische-parkettieren-deutschpost-9-6-2025.html
apzzd Sep 7, 2025
892ab70
Update index.html
apzzd Sep 9, 2025
bde27af
Update style.css
apzzd Sep 15, 2025
ebd0275
Update style.css
apzzd Sep 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,16 @@

<div> <!-- decription -->
<p>posts about math, projects, niche interests, etc.</p>
<p>check out my <a href="https://github.com/apzzd">Github</a> and <a href="https://artofproblemsolving.com/community/user/600906">Art of Problem Solving</a> accounts, too.</p>
<p>check out my <a href="https://github.com/apzzd">Github</a>, <a href="https://artofproblemsolving.com/community/user/600906">Art of Problem Solving</a>, and <a href="https://tatoeba.org/en/user/profile/apzzd">Tatoeba</a> accounts, too.</p>
</div>

<div class="post-list"> <!-- list of posts -->

<div class="post-link-div"> <!-- a post link, with description -->
<a href="./posts/billardtische-parkettieren-deutschpost-9-6-2025.html" class="post-link-head">billardtische und unendliche parkettieren (deutsch)</a>
<p class="post-link-descrip">ein sehr kurzes deutschpost über billardtische</p>
</div>

<div class="post-link-div"> <!-- a post link, with description -->
<a href="./posts/reciprocals-and-zn-II-8-5-2025.html" class="post-link-head">reciprocals and $\mathbb{Z}_n$ (part II)</a>
<p class="post-link-descrip">some dubious and potentially inconsistent reciprocal-finding strategies :/</p>
Expand All @@ -44,11 +49,6 @@
<a href="./posts/domino-problem-7-6-2025.html" class="post-link-head">arranging dominos</a>
<p class="post-link-descrip">how many ways can you arrange some dominos on a rectangle, and what does that have to do with fibonacci numbers?</p>
</div>

<div class="post-link-div"> <!-- a post link, with description -->
<a href="./posts/billardtische-parkettieren-deutschpost-9-6-2025.html" class="post-link-head">billardtische und unendliche parkettieren (deutsch)</a>
<p class="post-link-descrip">ein sehr kurzes deutschpost über billardtische</p>
</div>

</div>

Expand Down
2 changes: 1 addition & 1 deletion posts/billardtische-parkettieren-deutschpost-9-6-2025.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

<div class="post-body"> <!-- body of text -->

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.

<br><br>

Expand Down
24 changes: 11 additions & 13 deletions posts/reciprocals-and-zn-II-8-5-2025.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,28 +35,27 @@
Anyway, here we go...
<br><br>
<h2>the “vector conversion” strategy</h2>
<br><br>
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:
<br><br>
$$\langle x \mod a, x \mod b \rangle$$
$$\langle x \bmod a, x \bmod b \rangle$$
<br><br>
This is the same as:
<br><br>
$$\langle x \mod a, 0 \rangle + \langle 0, x \mod b \rangle$$
$$\langle x \bmod a, 0 \rangle + \langle 0, x \mod b \rangle$$
<br><br>
The first component of the vector is in $\mathbb{Z}_a$, and the second is in $\mathbb{Z}_b$.
<br><br>
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,
<br><br>
$$\langle c , d \rangle,$$
<br><br>
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$.
<br><br>
Note that when we’re multiplying vectors with this strategy, we’re multiplying them component-wise.
<br><br>
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$.
<br><br>
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:
<br><br>
$$c \langle 1 , 0 \rangle + d \langle 0 , 1 \rangle$$
<br><br>
Expand All @@ -68,7 +67,7 @@ <h2>the “vector conversion” strategy</h2>
<br><br>
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$):
<br><br>
$$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$$
<br><br>
Next, we find the reciprocal of this vector:
<br><br>
Expand All @@ -77,20 +76,19 @@ <h2>the “vector conversion” strategy</h2>
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$.
<br><br>
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$
<br><br>
We can check our answer very quickly:
$$21 \times 5 = 105 = (2 \times 52) + 1$$
<br><br>
<h2>the “powers of x” strategy</h2>
<br><br>
Another strategy I found works for prime values of $n$ and is much simpler, but also much less reliable.
<br><br>
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$.
<br><br>
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.
<br><br>
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.
<br><br>
<hr>
<br><br>
Expand Down
7 changes: 2 additions & 5 deletions style.css
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
body {
padding-top: 10px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding: 20px;
background-color: #333333;
color: white;
margin-top: 1%;
margin-top: 2%;
margin-left: 5%;
margin-right: 5%;
}
Expand Down