Skip to content

Latest commit

 

History

History
40 lines (31 loc) · 1.88 KB

README.md

File metadata and controls

40 lines (31 loc) · 1.88 KB

Algorithms for Optimization Jupyter Notebooks

This repository contains supplemental Jupyter notebooks to accompany Algorithms for Optimization by Mykel Kochenderfer and Tim Wheeler. These notebooks were generated from the Algorithms for Optimization source code. We provide these notebooks to aid with the development of lectures and understanding the material, with the hope that you find it useful.

Installation

All dependencies are installed using Julia 1.8.

Julia can be installed here or highly recommended Juliaup - Julia version manager

Prerequisites

PGFPLots

Rendering of some notebooks is managed by PGFPlots.jl. Please see their documentation for important installation instructions.

# On Ubuntu
sudo apt install texlive textlive-luatex textlive-pictures texlive-latex-extra latexmk

Makie

WGLMakie should work, but GLMakie on Linux may face issue with incompatible libstdc++.so.6. Potential fix for this issue is to replace the libstdc++.so.6 shipped with Julia with the system version (See issue details)

# Either remove or use symlink
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ~/.julia/juliaup/julia-1.8.2+0.x64/lib/julia/libstdc++.so.6

Install dependencies

Once the repo is cloned, one can set up the required packages from the terminal

# Initialize project. All dependencies are installed
julia --project=. -e 'using Pkg; pkg"instantiate"'

Running

Recommend using VSCode with Julia plugin.

Note: Running notebook in VSCode doesn't require IJulia to be installed.