You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
e17630b fixes for roconnor (Andrew Poelstra)
42394f9 try again to reword affine stuff; drop "affine subspace" (Andrew Poelstra)
bc84006 replace "affine relation" with "affine subspace" (Andrew Poelstra)
befbffa clarify jump from "preserves affine relations" to "preserves BCH codes" (Andrew Poelstra)
9d2c5e6 Minor cleanup (Elliott Jin)
Pull request description:
Backport of apoelstra/volvelle-math-companion#1 to this repo, which seems to have diverged but not included some of Elliott's fixes.
Top commit has no ACKs.
Tree-SHA512: d84c67016a17131b444ec664c11b2d6a4748f26675b10706ee2f4345b80ea10635fe5ee4f8fdf27128dc1d9e2b05c56fa157d8efd53d3383bf70ca861a91f0a0
Now, we have 31 nonzero elements, so a volvelle would naively have $31^2=961$
541
553
entries. Can we do better? Using the same reasoning as with the addition volvelle,
542
-
if we wanted two windows $x\to$ and $y\to$ to share a radius, we'd need that
543
-
\[\textnormal{for all } z\in\fttwo:\qquadxz\textnormal{ and } yz\textnormal{ are at angle $\theta$ to each other} \]
544
-
We have a group under multiplication with 31 elements in it. It is then a fact
554
+
if we wanted two windows $y\to$ and $z\to$ to share a radius, we'd need that
555
+
\[\textnormal{for all } x\in\fttwo:\qquadxy\textnormal{ and } xz\textnormal{ are at angle $\theta$ to each other} \]
556
+
We have a group under multiplication with 31 elements in it. Since 31 is prime, it is then a fact
545
557
that if we choose any element $\alpha\in\fttwo^*$ except 1, that $\alpha$
546
-
\textbf{generates} the group. Meaning that every element $z$, including 1,
547
-
can be written as $z=\alpha^{i_z}$ where $i_z$ is some integer modulo 31. So we
558
+
\textbf{generates} the group. Meaning that every element $x$, including 1,
559
+
can be written as $z=\alpha^{i_x}$ where $i_x$ is some integer modulo 31. So we
548
560
may write
549
-
\[\textnormal{for all } \alpha^{i_z}\in\fttwo:\qquad\alpha^{i_x}\alpha^{i_z} = \alpha^{i_x+i_z} \textnormal{ and } \alpha^{i_y}\alpha^{i_z} = \alpha^{i_y+i_z} \textnormal{ are at angle $\theta$ to each other} \]
561
+
\[\textnormal{for all } \alpha^{i_x}\in\fttwo:\qquad\alpha^{i_x}\alpha^{i_y} = \alpha^{i_x+i_y} \textnormal{ and } \alpha^{i_x}\alpha^{i_z} = \alpha^{i_x+i_z} \textnormal{ are at angle $\theta$ to each other} \]
550
562
551
563
By squinting at this for a moment, you can observe that if $\theta$ is one 31th
552
564
of a full rotation, and we make sure that each $\alpha^i$ on the front wheel is
@@ -1060,8 +1072,9 @@ \subsection{SSSS and Checksumming}
1060
1072
and the share index is produced by interpolating the polynomial $f(x) = x$.
1061
1073
1062
1074
What is more mathematically impressive is that the last 13 symbols of the polynomial
1063
-
will constitute a valid checksum for the resulting share. This is a consequence of
1064
-
the Fundamental Theorem, which says that any affine relationships will be preserved.
1075
+
will constitute a valid checksum for the resulting share. This is because each checksum
1076
+
symbol is defined as an affine transformation of the other characters, and the
1077
+
Fundamental Theorem says that any such relationships will be preserved.
1065
1078
1066
1079
In fact, in a complete Checksum Worksheet, \emph{every single cell} that the user
1067
1080
fills in is an affine function of the share data. This means that if you pick an
0 commit comments