This project is an extension of the ramanujan project. The project mainly focuses on inserting all of the results that the algorithm find into a database for easier analysis and a centralized source of data.
Make sure that your host has python-3.8.10 or above and pip.
To install the required packages run pip install -r requirements.txt from the root dir of the project.
Open the config.py in the root dir and configure db_configuration:
- host is the ip/hostname of the remote server
- name is the name of the database (generally should be ramanujan)
If you want you can also configure which jobs will run and with what parameters.
Open a terminal in the root folder and run the command:
python ramanujan.py start
if you want to stop the process (currently only on linux), run:
python ramanujan.py stop
Note that you can also close the process by just closing the main window.
After configuring the database connection in config.py (step 2), you can also run the code locally if you have a list of PCFs.
Save all of the PCFs in a file, with the following formatting:
a_n polynomial, b_n polyinomial and a new line between each PCF.
Each polyinomial should be represented using 'l' as the variable.
Example:
l^3 - 3/2l^2 + 383/2352l - 49585/148176 , (-1/4) * (l - 127/84) * (l - 73/84) * (l - 31/84) * (l + 41/84) * (l + 53/84) * (l + 137/84)
l^3 - 3/2l^2 + 2483/5808l - 57785/574992 , (-1/4) * (l - 197/132) * (l - 149/132) * (l - 83/132) * (l + 67/132) * (l + 115/132) * (l + 247/132)
l^3 - 3/2l^2 + 1991/1200l - 52511/54000 , (-1/4) * (l - 77/60) * (l - 47/60) * (l - 41/60) * (l - 17/60) * (l + 79/60) * (l + 103/60)
l^3 - 3/2l^2 - 3469/3888l + 35663/314928 , (-1/4) * (l - 205/108) * (l - 103/108) * (l - 43/108) * (l + 65/108) * (l + 113/108) * (l + 173/108)
After you have the file, run the command python analyze_cfs.py <name_of_file>
.
All PCFs and their values will be saved to the database in their Integer PCF form. If the precision of the value will be more than 50 the script will try to compare them to known constants.
If you want to create the database, configure the connection details in config.py and then, from the root dir, run python create_db.py
This will create the database and initialize the constant table.
Note this will also require you to have the psql program in your path.