For the purposes of this package, a semigroup is finitely generated, specified by a vector of
Let
Furthermore, there are methods for exploring the local-global conjecture for large values of
General semigroups:
-
semigroup_mats: computes all elements of the semigroup with bounded entries. -
semigroup_mgens: computes a minimal generating set for the semigroup. Only works if the matrices all have determinant$\pm 1$ . -
semigroup_growth: estimates the growth rate of the semigroup orbit.
Semigroup orbits:
-
semigroup_orbit: computes a semigroup orbit up to a bound. This is a good method for initial testing and playing around (or if you want to do other operations with the orbit besides taking a single entry), but is not optimized for large-scale computations. -
semigroup_missing: computes the missing integers in a semigroup orbit. The user must supply the relevant congruence obstructions, so this should not be used if they are not known (or, worse case scenario, no congruence obstructions are passed). -
semigroup_missing_parabolic: same assemigroup_missing, except optimized for memory usage, which is useful when one of the generating matrices being parabolic. This is roughly 80% slower, but should be used if you are computing beyond$10^9$ , assemigroup_missingwill take far too much memory. -
semigroup_missinglist: similar tosemigroup_missing, except we supply a vector of integers that we want to check if it is completely missing. This is not optimized for the semigroup having parabolic elements.
Parallel:
-
cfracsearch: a separate C program used to compute positive integers that cannot be denominators of rational numbers of the form$[0;4a_1,4a_2,...,4a_n,a_{n+1},1,2]$ . This is essentiallycontfrac_tail_missing, except it is parallelized, and therefore is much more efficient. For example, call./cfracsearch 10 5000 8to compute the missing denominators between 10 and 5000 (inclusive), using 8 threads (with reference to Corollary 2.21 and Conjecture 2.22 of the paper/Arxiv).
Load the file paper.gp:
-
runalltests: run all the tests, which aims to computationally test many of the claims made in the paper, as well as provide supplemental computations. -
contfrac_tail_missing: searches for positive integers that cannot be denominators of rational numbers of the form$[0;4a_1,4a_2,...,4a_n,a_{n+1},1,2]$ .