Skip to content
Snippets Groups Projects
content.tex 77.7 KiB
Newer Older
Luke Naylor's avatar
Luke Naylor committed
The bounds of the ranks of solutions to problem
\ref{problem:problem-statement-2}
given by Theorems
Luke Naylor's avatar
Luke Naylor committed
\ref{thm:loose-bound-on-r}
\ref{thm:rmax_with_uniform_eps}
\ref{thm:rmax_with_eps1}, have been shown in passing to be tighter than the
previous one.
Luke Naylor's avatar
Luke Naylor committed
However, in principle, it could be possible that this does not translate to a
Luke Naylor's avatar
Luke Naylor committed
decrease in computational time to find the solutions to the problem.
This could be due to a range of potential reasons:
\begin{itemize}
	\item Unexpected optimisations from the compiler for a certain form of the
		program.
Luke Naylor's avatar
Luke Naylor committed
	\item Increased complexity to computing the formulae for the tighter bounds.
Luke Naylor's avatar
Luke Naylor committed
	\item Modern CPU architecture such as branch predictors
		\cite{BranchPredictor2024} may offset the overhead of considering ranks that
		turn out to be too large to have any solutions.
\end{itemize}

Luke Naylor's avatar
Luke Naylor committed
For relatively small Chern characters (as those appearing in examples so far),
the difference in performance between the program \cite{NaylorRust2023} when
patched with the results of the different Theorems above, do not show any
significant difference in performance. The earlier, weaker Theorems occasionally
Luke Naylor's avatar
Luke Naylor committed
producing the results marginally faster.

Note that this program patched with Theorem \ref{thm:loose-bound-on-r} will be
Luke Naylor's avatar
Luke Naylor committed
using the same bound as was used in the previously existing program
\cite{SchmidtGithub2020}. However the difference of performance can be of
several orders of magnitude as illustrated in the table in section
\ref{table:bench-schmidt-vs-nay}.
This will be attributed to the difference in programming language and algorithm,
the latter having already been discussed in that same section.

In order to see a difference between the different patches, we use the Chern
character $v=(45,54\ell,-41\frac{\ell^2}{2})$ for a smooth projective surface $X$
with a generator $\ell$ for $NS(X)$ such that $\ell^2=1$ or 2 (such as a
principally polarised surface or $\mathbb{P}^2$).
This example was chosen for the large rank $\chern_0(v)=45$,
but also the large Bogomolov discriminant $\Delta(v)=4761\ell^2$, which are both
indicators to the size of the bounds on the pseudo-semistabiliser ranks.

\begin{figure}
	\includegraphics[width=\linewidth]{../figures/benchmark.png}
Luke Naylor's avatar
Luke Naylor committed
	\caption{
		Comparing the performance of program \cite{NaylorRust2023}
		with different patches corresponding to the results of Theorems
Luke Naylor's avatar
Luke Naylor committed
		\ref{thm:loose-bound-on-r}
		\ref{thm:rmax_with_uniform_eps}
		\ref{thm:rmax_with_eps1}
		when computing solutions to problem \ref{problem:problem-statement-2}
		for $(45,54\ell,-41\frac{\ell^2}{2})$
	}
	\label{fig:benchmark}
\end{figure}

Luke Naylor's avatar
Luke Naylor committed
As shown in Figure \ref{fig:benchmark}, there can be a significant improvement
by using Theorems \ref{thm:rmax_with_uniform_eps} \ref{thm:rmax_with_eps1}
Luke Naylor's avatar
Luke Naylor committed
which specialise to different values of $\chern_1^{\beta_{-}(v)}(u)$
of solutions $u$ of problem \ref{problem:problem-statement-2}.
the program to eliminate.

As for the difference between Theorems \ref{thm:rmax_with_uniform_eps}
Luke Naylor's avatar
Luke Naylor committed
and \ref{thm:rmax_with_eps1}, the biggest indicator is the `$n$'-value, that is,
the denominator of $\beta_{-}(v)$. For this example, it is 15.
The bound from Theorem \ref{thm:rmax_with_eps1} is roughly $1/{k_{v,q}}$ times
that of Theorem \ref{thm:rmax_with_uniform_eps}.
Luke Naylor's avatar
Luke Naylor committed
Note that $k_{v,q}$ iterates through all its possible values
$\{1, 2, \ldots, n\}$ cyclically.
So we could expect the average tighter bound to be approximately that of the
average looser times the mean average of $1/{k_{v,q}}$:
\begin{equation*}
	\frac{1}{n} \sum_{i=1}^n \frac{1}{i}
\end{equation*}
This certainly tends to 0 for large $n$. But in the current example, with
$n=15$, this gives us approximately 0.2 for the ratio of the average tighter bound
versus the average looser.
Luke Naylor's avatar
Luke Naylor committed
However, the actual ratio in the benchmark shown in Figure \ref{fig:benchmark}
Luke Naylor's avatar
Luke Naylor committed
between the two instances of the program patched with the two corresponding
bounds is around 0.6 instead.
Not as good as the improvement on the bound, however still not an insignificant
for examples with larger `$n$'-value, where the execution time will
potentially be in the order of minutes, or even hours.