Skip to content

JamesRickards-Canada/Apollonian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apollonian

Methods for computing various things related to (primarily integral) Apollonian circle packings. This includes:

  • Methods to generate integral packings, and perform the basic operations (Apollonian moves, reduction, etc.);
  • Automatic generation of pictures of circle packings in LaTeX;
  • Finding (all) occurences of a given curvature in a packing;
  • Finding all curvatures in a given range in a packing.

Methods relating to searching for curvatures have been optimized for speed and memory as much as possible (aside from parallelization). In addition, there are a few methods related to quadratic forms, Möbius maps, and data collection in the package.

Installation

System requirements:

  • Linux/Mac: none that I am aware of;
  • Windows: you need to be running PARI/GP through WSL. See this tutorial for how to set this up.

You need to know where the version of PARI/GP you want to use is installed, in particular, the file pari.cfg. The default location is /usr/local/lib/pari/pari.cfg.

  • If this is the correct location, call make to build the project.
  • Otherwise, call make setup to search for the location of the file. By default the program searches in /usr, but there is a chance it is not installed there (this sometimes happens on a server). If this is the case, you can supply an alternate location.
  • If the program finds potential matches, it will ask you to confirm which files are correct, and saves them to paricfg_loc.txt. Once this step completes, a call to make will compile the project! Modifying the program (e.g. via git pull) won't require redoing this setup, unless the version of PARI/GP you use changes.

Using the package

Start the program with gp apol, and call ?apol to access the help.

Papers

This package has been used to generate the data for several papers:

Bibtex

If you use this code in a project, please let me know! A suggested Bibtex entry would be:

@misc{Apollonian,
	AUTHOR = {Rickards, James},
	TITLE = {Apollonian},
	YEAR = {2023},
	PUBLISHER = {GitHub},
	JOURNAL = {GitHub repository},
	HOWPUBLISHED = {\url{https://github.com/JamesRickards-Canada/Apollonian}},
}

About

Apollonian circle packing methods in PARI/GP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published