Math
-
A Music Engine in $\mathbb{Z}_{12}$
This project began as a tool for visualizing chord shapes and progressions on a guitar fretboard, while being able to easily switch between different tunings.
It’s evolving into a more general music engine that can be used to explore various musical concepts, but the initial motivation was to have a tool to help me understand how different tunings work on the guitar.
The core insight is that music can be represented using modular arithmetic! In particular, the 12 notes in the chromatic scale can be represented as elements of the group $\mathbb{Z}_{12}$, which is the integers modulo 12. This allows us to use mathematical operations to manipulate musical concepts like chords and scales.
-
A Music Engine in $\mathbb{Z}_{12}$
This project began as a tool for visualizing chord shapes and progressions on a guitar fretboard, while being able to easily switch between different tunings.
It’s evolving into a more general music engine that can be used to explore various musical concepts, but the initial motivation was to have a tool to help me understand how different tunings work on the guitar.
The core insight is that music can be represented using modular arithmetic! In particular, the 12 notes in the chromatic scale can be represented as elements of the group $\mathbb{Z}_{12}$, which is the integers modulo 12. This allows us to use mathematical operations to manipulate musical concepts like chords and scales.
-
The Discrete Logarithm Problem
The discrete logarithm problem (DLP) is a fundamental problem in group theory that underpins the security of many cryptographic systems, including elliptic curve cryptography and the Diffie-Hellman key exchange.
In a cyclic group $G$ with generator $g$, every element $h\in G$ can be expressed as $h=g^x$ for some integer $x$. Computing $g^x$ given $g$ and $x$ is fast and efficient – $\mathcal O(\log x)$ using the method of repeated squaring.
The inverse problem, however – given $g$ and $h=g^x$, find $x$ – is believed to be computationally hard in certain groups. We haven’t proven that it’s hard (P vs NP is still an open problem), but we have decades of cryptanalysis and no known efficient algorithms for solving DLP in well-chosen groups, which gives us confidence in its hardness.