undraft sand-2; minor edits
This commit is contained in:
parent
324bda9563
commit
f864bea4d6
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -10,6 +10,7 @@ date-modified: "2025-02-20"
|
||||
jupyter: python3
|
||||
categories:
|
||||
- algebra
|
||||
- sandpile
|
||||
- python
|
||||
execute:
|
||||
echo: false
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
---
|
||||
title: "Counting in 2D 2: Reorienting Polynomials"
|
||||
draft: true
|
||||
title: "Counting in 2D, Part 2: Reorienting Polynomials"
|
||||
description: |
|
||||
Geometric properties of certain 2D systems and attempts to classify them.
|
||||
format:
|
||||
html:
|
||||
html-math-method: katex
|
||||
@ -9,15 +10,28 @@ date-modified: "2025-02-23"
|
||||
jupyter: python3
|
||||
categories:
|
||||
- algebra
|
||||
- geometry
|
||||
- sandpile
|
||||
- python
|
||||
execute:
|
||||
echo: false
|
||||
---
|
||||
|
||||
<style>
|
||||
.cell-output-display .figure {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.figure-img {
|
||||
max-width: 512px;
|
||||
object-fit: contain;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
```{python}
|
||||
from pathlib import Path
|
||||
|
||||
from IPython.display import Video, display
|
||||
from matplotlib import pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
@ -139,11 +153,9 @@ if not Path("./count_balanced_folium.mp4").exists():
|
||||
).save("count_balanced_folium.mp4")
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
display(
|
||||
Video("./count_balanced_folium.mp4"),
|
||||
)
|
||||
```
|
||||
|
||||
{{< video ./count_balanced_folium.mp4 >}}
|
||||
:::
|
||||
|
||||
|
||||
@ -183,11 +195,9 @@ if not Path("./count_half_laplacian.mp4").exists():
|
||||
).save("count_half_laplacian.mp4")
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
display(
|
||||
Video("./count_half_laplacian.mp4"),
|
||||
)
|
||||
```
|
||||
|
||||
{{< video ./count_half_laplacian.mp4 >}}
|
||||
:::
|
||||
|
||||
Fortunately, this is the case.
|
||||
@ -477,9 +487,8 @@ if not Path("./count_triangle_carries.mp4").exists():
|
||||
).save("./count_triangle_carries.mp4")
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
Video("./count_triangle_carries.mp4")
|
||||
```
|
||||
{{< video ./count_triangle_carries.mp4 >}}
|
||||
|
||||
Counting in each of the $x^n + y^n + \ldots$ systems
|
||||
:::
|
||||
@ -492,7 +501,7 @@ It has somehow exceeded a threshold that the centered one has not.
|
||||
Incidentally, the L-shapes in the implicit carry (which I noted can be interchanged) never turn up,
|
||||
and the "initial rule" is useless.
|
||||
Phinary, the simplest implicit case in one dimension, still requires the initial rule to go
|
||||
from the expansion of 2 (10.01) to 3 (100.01).
|
||||
from the expansion of two (10.01) to three (100.01).
|
||||
|
||||
|
||||
Isosceles Rotations
|
||||
@ -536,13 +545,12 @@ if not Path("./count_bad_rotated_triangle.mp4").exists():
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
display(
|
||||
Video("./count_bad_rotated_triangle.mp4"),
|
||||
)
|
||||
```
|
||||
|
||||
{{< video ./count_bad_rotated_triangle.mp4 >}}
|
||||
:::
|
||||
|
||||
But there are only even numbers in the first component of each vector
|
||||
But there are only even numbers in the first component of each vector.
|
||||
Therefore, the carry below will produce the same pattern.
|
||||
|
||||
::: {layout-ncol="2"}
|
||||
@ -575,11 +583,9 @@ if not Path("./count_bad_rotated_triangle_reduced.mp4").exists():
|
||||
).save("./count_bad_rotated_triangle_reduced.mp4")
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
display(
|
||||
Video("./count_bad_rotated_triangle_reduced.mp4"),
|
||||
)
|
||||
```
|
||||
|
||||
{{< video ./count_bad_rotated_triangle_reduced.mp4 >}}
|
||||
:::
|
||||
|
||||
Neither of these are similar to the original.
|
||||
@ -654,11 +660,9 @@ if not Path("./count_good_rotated_triangle.mp4").exists():
|
||||
).save("./count_good_rotated_triangle.mp4")
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
display(
|
||||
Video("./count_good_rotated_triangle.mp4"),
|
||||
)
|
||||
```
|
||||
|
||||
{{< video ./count_good_rotated_triangle.mp4 >}}
|
||||
:::
|
||||
|
||||
The counting video looks very promising, but can the polynomial factored?
|
||||
@ -727,11 +731,9 @@ if not Path("./count_good_rotated_triangle_reduced.mp4").exists():
|
||||
).save("./count_good_rotated_triangle_reduced.mp4")
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
display(
|
||||
Video("./count_good_rotated_triangle_reduced.mp4"),
|
||||
)
|
||||
```
|
||||
|
||||
{{< video ./count_good_rotated_triangle_reduced.mp4 >}}
|
||||
:::
|
||||
|
||||
All of these similar systems is share something in common: the pseudo-base is located at
|
||||
@ -753,11 +755,11 @@ No matter if we multiply or divide by *x* or *y*, the polynomial retains its gen
|
||||
as well as whether or not it is irreducible.
|
||||
The above method shows that rotational symmetry also exists for polynomials beyond interchanging *x* and *y*.
|
||||
|
||||
Carries seem to possess a symmetry which polynomials do not: the ability to contract and expand bases,
|
||||
For integers, carries possess a symmetry which polynomials do not: the ability to contract and expand bases,
|
||||
meaning that in some sense, $P(x) \sim P(x^k)$ for any *k*.
|
||||
This preserves the counting system despite expansions and contractions which pay no regard for reducibility.
|
||||
This is also the reason that systems like base-$\sqrt 2$ are so uninteresting:
|
||||
for integers, it's just spaced out binary.
|
||||
for integers, it just amounts to spaced-out binary.
|
||||
|
||||
Three questions that immediately come to mind are:
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user