Skip to content

Latest commit

 

History

History
66 lines (46 loc) · 2.65 KB

README.md

File metadata and controls

66 lines (46 loc) · 2.65 KB

nonlinear-algebra-code

Code examples for Nonlinear Algebra in Macaulay2.

Viewing the code

To view the code and the LaTeX in the notebooks properly rendered, go to the following links:

Getting Started

Prerequisites

We will be using the Macaulay2 Jupyter Kernel from here: https://github.com/radoslavraynov/Macaulay2-Jupyter-Kernel

You need a recent version of Python and pip. Python 3 is recommended for build installs and necessary for source installs. You can first install Python and pip through the miniconda package manager. First, to download miniconda, go to the installation site and download the installation corresponding to your machine. Then do

conda install python jupyter pip

You will also need an installation of Macaulay2, which can be found here.

Make sure that both M2 and M2-binary are in $PATH. Check by running

$ which M2
/Users/maximsmol/bin/M2
$ which M2-binary
/Users/maximsmol/bin/M2-binary
$ echo $PATH
/Users/maximsmol/M2:/Users/maximsmol/bin/M2-binary:...

See this answer if you need to add the binaries to your $PATH.

Finally, to finish the setup, run

$ pip install macaulay2-jupyter-kernel
$ python3 -m m2_kernel.install --sys-prefix

Running the code locally

First clone the github repository.

$ git clone https://github.com/tyleryzhu/nonlinear-algebra-code.git
$ cd nonlinear-algebra-code

To start up a jupyter instance inside this directory, run

$ jupyter notebook

If you get an error with "Not a directory: 'xdg-settings'", you may need to pass the --no-browser flag (this is a current bug in Jupyter with Python3.7).

To present a notebook as a presentation, go to View > Cell Toolbar > Slideshow and identify each slide. Then run

jupyter nbconvert Chapter\ 1\,\ Polynomial\ Rings.ipynb --to slides --post serve

There are also pdfs for your viewing, but those are buggy right now and need to be worked out.

If you have any questions, feel free to open an issue/pull request or email any of the contributors.