Skip to content

A python package containing the up-to-date and documented code for my research on the connection between the Mandelbrot set and the Thurston set.

Notifications You must be signed in to change notification settings

SilvestriStefano/coreEntropy_neighborIFS

Repository files navigation

coreEntropy_neighborIFS

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.

THEORY SLIDES

Folder's description

  • 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 logs
  • results: 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.

Some worked out examples (jupyter notebook)

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.

Install requirements

This package uses python version 3.8 (or above, but I haven't tested them yet)

with pip

  1. Create a virtual environment called mandel_thurston (you can call it whatever you want)
    $ python -m venv mandel_thurston
  2. Activate it
    $ source mandel_thurston/Scripts/activate
    if you are using PowerShell, activate it with
    > mandel_thurston/Scripts/Activate.ps1
  3. 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 .

with conda

  1. Create a virtual environment and install dependencies
    $ conda env create -f mandel_thurston_env.yml
  2. Activate it
    $ conda activate mandel_thurston
  3. Install this package, make sure you are in the root directory of this repo
    $(mandel_thurston) pip install -e .

Run tests

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

TODOs :

  • 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)

About

A python package containing the up-to-date and documented code for my research on the connection between the Mandelbrot set and the Thurston set.

Resources

Stars

Watchers

Forks

Releases

No releases published