Newer
Older
\sage{positive_radius_condition.subs([q_value_expr,beta_value_expr]).factor()}
\end{equation*}
\noindent
Then we have:
\begin{equation*}
d - \frac{(\aa r + 2\bb)\aa}{2n^2}
\geq \epsilon_q^2 \geq \epsilon_q^1 > 0
\end{equation*}
Where $\epsilon_q^1$ and $\epsilon_q^2$ are defined as follows:
\end{lemmadfn}
\begin{proof}
Consider the following tautology:
\begin{align}
&\frac{ x }{ m }
- \frac{
(\aa r+2\bb)\aa
}{
2n^2
}
= \frac{ k }{ 2mn^2 }
\quad \text{for some } x \in \ZZ, k \in \ZZ_{>0}
\label{eqn:finding_better_eps_problem}
\\ &\iff
- (\aa r+2\bb)\aa m
\equiv k
\quad \mod 2n^2
\quad \text{for some } k \in \ZZ_{>0}
- \aa^2 m r - 2\aa\bb m
\quad \text{for some } k \in \ZZ_{>0}
\\ &\Longrightarrow
\aa^2 \aa^{'}\bb m - 2\aa\bb m
\equiv k
\quad \mod \gcd(2n^2, \aa^2 mn)
\quad \text{for some } k \in \ZZ_{>0}
\label{eqn:better_eps_problem_k_mod_gcd2n2_a2mn}
\\ &\Longrightarrow
-\aa\bb m
\equiv k
\quad \mod n
\quad \text{for some } k \in \ZZ_{>0}
\label{eqn:better_eps_problem_k_mod_n}
In our situation, we want to find a gap between the right-hand-side of eqn
\ref{eqn:positive_rad_condition_in_terms_of_q_beta},
and the least element of $\frac{1}{m}\ZZ$ which is strictly greater.
This amounts to finding the least $k \in \ZZ_{>0}$ for which
eqn \ref{eqn:finding_better_eps_problem} holds.
Since such a $k$ must also satisfy eqn \ref{eqn:better_eps_problem_k_mod_n},
we can pick the smallest $k \in \ZZ_{>0}$ which satisfies this new condition
(a computation only depending on $q$ and $\beta$, but not $r$)
and we are then guaranteed that the gap is at least $\frac{k}{2mn^2}$.
A potentially larger gap can also be guaranteed if we choose the least
$k \in \ZZ_{>0}$ satisfying eqn \ref{eqn:better_eps_problem_k_mod_gcd2n2_a2mn}
instead, but at the cost of computing several $\gcd$'s and modulo reductions
for each $q$ considered.
\minorheading{Irrational $\beta$}
\egroup % end scope where beta redefined to beta_{-}
\section{Appendix - SageMath code}
\usemintedstyle{tango}
\inputminted[
obeytabs=true,
tabsize=2,
breaklines=true,
breakbefore=./
]{python}{filtered_sage.txt}