/zeroes

Programs for computing beautiful pictures and animations of zeroes of polynomials.

Primary LanguagePythonMIT LicenseMIT

Zeros

This repository contains code for computing images and animations of zeros of polynomials that were shown in my public talks:

  • Ničle, TEDxUL, October 2014, see also the related blog post.
  • Zeros, Sydney Mathematical Research Institute, August 13, 2024

Prerequisites

The code works on MacOS, but should also run on Linux. It relies on the following software:

XCode is part of Apple's ecosystem. There are many ways to obtain Python 3, just visit the web site. You can get the rest with the Homebrew package manager:

brew install imagemagick ffmpeg

You will additionally need the following Python libraries:

They can be install with the Python pip3 package manager:

pip3 install pycairo pillow numpy

To compile the C code, you need these libraries:

They can be installed with Homebrew by running

brew install libtiff gsl

Programs

There are two programs:

  1. zeros is a C program that computes zeros of polynomials with given coefficients and degrees, and generates grayscale TIFF, see the folder C
  2. algebraic.py is a Python program that computes zeros of polynommials with given complexity (sum of absolute values of coefficients) and degrees, and generates PNG images, see the folder algebraic.