The up-to-date and documented code for my research on the connection between the Mandelbrot set and the Thurston set.
One endgoal of this project is to create a RESTful API from which one can obtain all the necessary information regarding a rational angle in the context of the Mandelbrot and Thurston set.
data
: raw data for the project.docs
: documentation. (not yet implemented; there are comments in the docsting of each function, though.)log
: it contains the logging configuration file and eventually the logsresults
: results, including checkpoints, as well as figures and tables.scripts
: scripts - Python and bash alike - as well as .ipynb notebooks.src
: reusable Python modules for the project.tests
: tests for the code.
More to come...
If you want to run them locally:
$(mandel_thurston) jupyter notebook
or
$(mandel_thurston) jupyter notebook --no-browser
and copy the url http://localhost:8888/?token=<bunch_of_characters>
in the browser
Then navigate to the scripts
directory and open the notebook.
This package uses python version 3.8 (or above, but I haven't tested them yet)
- Create a virtual environment called
mandel_thurston
(you can call it whatever you want)$ python -m venv mandel_thurston
- Activate it
if you are using PowerShell, activate it with
$ source mandel_thurston/Scripts/activate
> mandel_thurston/Scripts/Activate.ps1
- Install the required packages, make sure you are in the root directory of this repo
$(mandel_thurston) pip install -r requirements.txt $(mandel_thurston) pip install -e . # install this package DONOT FORGET THE .
- Create a virtual environment and install dependencies
$ conda env create -f mandel_thurston_env.yml
- Activate it
$ conda activate mandel_thurston
- Install this package, make sure you are in the root directory of this repo
$(mandel_thurston) pip install -e .
Install the dev requirements
$(mandel_thurston) pip install -r requirements_dev.txt
and then run all tests
$(mandel_thurston) pytest -vv --cov=src
- the flag
-vv
is for verbose - the flag
--cov
is for the coverage report
or run a single test
$(mandel_thurston) pytest -vv tests/test_functions.py -k "test_core_entropy_exact"
- the flag
-k
is used to specify the test inside the file
- write python code to calculate the Core Entropy
- fix eigenvalue problem in the core_entropy
- refactor the KneadToRat function
- create python modules from the code in the jupyter notebooks
- make some example on how to use this code
- write down the theory
- figure out another way to draw graphs other than Gephi
- write a recursive function that erases vertices with out degree equal to 0.
- import Mathematica notebooks (?)
- write function that obtains the landing parameter in the Mandelbrot set from angle (check Wolf Jung's work)