数式処理システム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
image.png

Maximaが出たら完了です。グラフもちゃんと出ます(Binderだと出ないんですよね)。

めでたし、めでたし。

参考リンク

    • https://github.com/robert-dodier/maxima-jupyter

 

    • https://home.hirosaki-u.ac.jp/heroic-2020/1253/

 

    • https://home.hirosaki-u.ac.jp/jupyter/maxima/

 

    • https://maxima.hatenablog.jp/entry/2020/05/25/001814

 

    https://www.quicklisp.org/beta/
bannerAds