comma

command module
v0.0.0-...-a17a04d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2024 License: MIT Imports: 11 Imported by: 0

README

This is the repository of the program comma, designed to prove that comma sequences in arbitrary bases are finite. It uses an algorithm suggested by the great paper The Comma Sequence: A Simple Sequence With Bizarre Properties.

The program is implemented in go. Once you have that installed, comma can be run as follows:

$ cd comma # or wherever you place this repository
$ go get
$ go build comma.go
$ ./comma 10
 100% |█████████████████████████████████████| (7392/7392, 2438306 it/s)        
49896 49896

This output, specifically that the two integers at the end are equal, shows that all comma sequences in base 10 are finite. This output will likely appear near-instantaneously, but for a larger base like 13, the output includes a progress bar.

$ ./comma 13
  18% |████                    | (91020747/487567080, 2436646 it/s) [37s:2m42s]

comma is a multithreaded program that attempts to use every logical CPU core available. Beyond base 15 or so, it is highly recommended that you increase the parallelization by running multiple instances on the same base within a large computing cluster. comma accepts a "work range" to allow work to be broken up in such a setting. Here is an example demonstrating the functionality, but not the parallelization:

$ ./comma -p 23 # how much work is there for base 23?
9033184480320
$ ./comma -t 903318448032 23 # work on exactly 1 / 10th of the interval
$ ./comma -s 903318448032 -t 1806636896064 23 # work the next 1 / 10th

The scripts directory contains the scripts we used to process bases 3 to 23 (excluding 20 and 21) on the Slurm-based Rutgers Amarel cluster.

comma accepts a few other options for interested tinkerers. Run comma --help to see a full list.

Documentation

Overview

comma proves that comma sequences with arbitrary (positive) initial conditions are finite in arbitrary bases. It uses a parallel version of an algorithm sketched by Neil Sloane and Giovanni Resta.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL