数式処理システムMaxima、便利ですよね。
しかしローカルでずっと作業環境をあれこれやるのは面倒になってきました。maxima on lineはちょっと使いづらいし。
そこでJupyterLab(or notebook)でMaximaを使う環境を用意しました。Jupyterなら文字とか図も一緒に入れられるので、説明も楽ですし。
それで、参考リンクの手順より若干簡略化されたので、その備忘録です。
対象環境
- Ubuntu 20.04 LTS
- x86-64
- python3は用意してあることとする(私はpyenv-virtualenvを入れてます)
注意
最初にやらかしたんですが、aptで入ってくるmaximaでは動きません(GCL=GNU Common Lispは非対応とのこと)。
$ apt remove maxima
で消しておきましょう。
sbclのインストール
参考リンクだと自力ビルドをしろって書いてありますが、aptにあります
$ sudo apt install sbcl
quicklispのインストール
公式から落とす方法ではうまくいかなかったですが、aptにあるやつで動きました
$ sudo apt install cl-quicklisp
$ sbcl --load /usr/share/common-lisp/source/quicklisp/quicklisp.lisp
* (quicklisp-quickstart:install)
* (ql:system-apropos "vecto")
* (ql:quickload "vecto")
* (ql:add-to-init-file)
maximaのビルド&インストール
SBCL版を作るために自力ビルドしましょう。x.xx.xは適当に最新バージョンを入れると良いと思います(今回は5.45.1にしました)
$ sudo apt install texinfo
$ wget https://sourceforge.net/projects/maxima/files/Maxima-source/x.xx.x-source/maxima-x.xx.x.tar.gz
$ tar xf maxima-x.xx.x.tar.gz
$ cd maxima-x.xx.x
$ mkdir build
$ cd build
$ ../configure --enable-sbcl
$ make
$ sudo porg -lp maxima make install # porg使ってない人は単にsudo make installで良い
maximaを起動して、using Lisp SBCL
って出たら大丈夫です。
Maxima-Jupyterのインストール
$ git clone https://github.com/robert-dodier/maxima-jupyter.git
$ cd maxima-jupyter
$ maxima
(%i1) load("load-maxima-jupyter.lisp");
Jupyterのインストール
書くまでもなく世の中にいっぱいありますが
$ pip install jupyter
なお、リモートから接続するためには別途設定が必要です(例)ので、必要な方は忘れずに。
Jupyter lab起動
$ jupyter lab
Maximaが出たら完了です。グラフもちゃんと出ます(Binderだと出ないんですよね)。
めでたし、めでたし。