Most of my mathematical research involves the study of
numerical semigroups
\begin{defn}
A numerical semigroup is a subsemigroup of $(\!ℕ_0, +\!).$
\end{defn}
We often write a numerical semigroup as $S = \langle\!n_1, n_2, ..., n_k \!\rangle$ for $n_j \in ℕ$ and $n_j < n_{j+1}.$
The elements of $S$ are then the non-negative integers that can be written as linear combinations of the generators of $S$.
\begin{defn}
A semigroup is a set, $S,$ with an associative binary operator, $+.$
\end{defn}
and their properties.
Particularly, the properties that I study are the
factorizations,
\begin{defn}
Let $S = \langle n_1, n_2, \dots, n_k \rangle$ be a numerical semigroup. We say that $\mathbf{p} = (p_1, p_2, ..., p_k)$ is a \emph{factorization} of $n \in S$ if
\[n = p_1n_1 + p_2n_2 + ... + p_kn_k.\]
We say that this factorization has \emph{length} $|$ $\mathbf{p}| = p_1 + p_2 + ... + p_k$.
\end{defn}
\begin{defn}
The \emph{factorization set} of an integer $n \in S$ is
\[\mathsf{Z}_S(n) = \{(p_1, p_2, ..., p_k) : n = p_1n_1 + p_2n_2 + ... + p_kn_k\}.\]
When it is clear which semigroup we are referring to, we simply write $\mathsf{Z}_S(n)$.
\end{defn}
length sets,
\begin{defn}
The \emph{length set} of an integer $n \in S$ is
\[\mathsf{L}_S(n) = \{|\mathbf{p}| : \mathbf{p} = (p_1, p_2, ..., p_k) \in \mathsf{Z}_S(n) \}.\]
When there is no ambiguity, we simply write $\mathsf{L}(n)$.
\end{defn}
and
gaps.
\begin{defn}
Let $S$ be a numerical semigroup, then we define the gaps of $S$ as the set
\[\{i : i \in ℕ_0 \mbox{ and } i \notin S\}.\]
\end{defn}
I have worked several projects that were centered around the factorization set and length set of a numerical semigroup.
Currently, I have shifted my focus to examine the gaps of a numerical semigroup.
This project is centered on the game
Sylver Coinage, and attempts to tackle the problem with the lens of a numerical semigroup.
I am actively building towards a competition where the competitors submit bots to play the game Sylver Coinage, and the winner is the bot with the best overall score.
This project has required me to develop serveral pieces of code for working with numerical semigroups in Javascript and Python
1.
Beyond numerical semigroups, I have also explored other areas of mathematics, including toying around with factorization algorithms, using machine learning to try and predict properties of the integers, and a few cryptography related projects.
Additionally, I truly enjoy teaching mathematics and am in the process of writting up notes to introduce students to proof based mathematics.
I hope one day to put together an introductory Algebra textbook for elementry school students, but I know that this will be a long and timely endeavor.