以下を参考に,Ubuntu (20.04 LTS) に Maxima-Jupyter (Maxima kernel for Jupyter) をインストールします。
sudo apt install maxima
でインストールされたものでは Maxima-Jupyter がうまく動きません。--enable-sbcl-exec
オプション付きで make
されているからでは?と思いますが,以下の Maxima で綴る数学の旅の記事に従って,ソースから make install
してみます。
- GitHub – robert-dodier/maxima-jupyter: A Maxima kernel for Jupyter, based on CL-Jupyter (Common Lisp kernel)
- -その他- Maximaの環境整備(2) Jupyter lab / notebook – Maxima で綴る数学の旅
Python
(brew install python3 は済)
sudo apt install python3-pip python-is-python3 cd /usr/bin sudo ln -s pip3 pip
$ python -V; pip -V Python 3.8.2 pip 20.2.2 from /usr/local/lib/python3.8/dist-packages/pip (python 3.8) sudo pip install jupyter jupyterlab sudo pip install matplotlib numpy sympy # これは任意で
Gnuplot
sudo apt install gnuplot
でインストールされるものはコマンドラインから日本語入力しようとすると字化けします。以下を参考に。
sbcl
curl -OL http://prdownloads.sourceforge.net/sbcl/sbcl-2.0.8-x86-64-linux-binary.tar.bz2 tar xf sbcl-2.0.8-x86-64-linux-binary.tar.bz2 cd sbcl-2.0.8-x86-64-linux/ sudo sh ./install.sh
Quicklisp
Quicklisp beta の Installation を参照。
cd ~/Downloads curl -O https://beta.quicklisp.org/quicklisp.lisp curl -O https://beta.quicklisp.org/quicklisp.lisp.asc gpg --verify quicklisp.lisp.asc quicklisp.lisp sbcl --load quicklisp.lisp ... To continue, evaluate: (quicklisp-quickstart:install) ... * (quicklisp-quickstart:install) ... NIL * (ql:system-apropos "vecto") ... NIL * (ql:quickload "vecto") ... ("vecto") * (ql:add-to-init-file) ... #P"/Users/quicklisp/.sbclrc" * (quit)
Maxima
sudo apt install texinfo curl -OL https://sourceforge.net/projects/maxima/files/Maxima-source/5.44.0-source/maxima-5.44.0.tar.gz tar xvfz maxima-5.44.0.tar.gz cd maxima-5.44.0/ ./configure --enable-sbcl make sudo make install sudo apt install rlwrap libczmq-dev rmaxima # 動作チェック。rmaxima だと上下矢印キーも使える。
Maxima-Jupyter
cd ~/Downloads git clone https://github.com/robert-dodier/maxima-jupyter.git cd maxima-jupyter/ maxima (%i1) load("load-maxima-jupyter.lisp"); (%i2) jupyter_install(); (%i3) quit();
(%i2)
のバリエーションについては,以下の記述を参考に。
After the install script has loaded then install using one of the kernel types.
User specific Quicklisp kernel: jupyter_install();
User specific binary image kernel: jupyter_install_image();
System-wide Quicklisp bundled kernel: jupyter_system_install(true, "pkg/");
After the installation is complete then exit Maxima. For the System-wide installation copy the files in pkg to the system root, i.e. sudo cp -r pkg/* /
on Linux. (macOS でも同様)
個人で使うには,jupyter_install();
や jupyter_install_image();
でよいが,実習室 PC にインストールして教育用に… と思うと,system-wide なインストールが必要で,jupyter_system_install(true, "pkg/");
しかし,system-wide にインストールすると,起動時にコンソールに大量の Warning が出まくる。実行には支障がないようだが,どうしたものかと…
% jupyter console --kernel=maxima WARNING: System definition file #P"/usr/local/share/maxima-jupyter/software/cl-base64-20150923-git/cl-base64.asd" contains definition for system "cl-base64-tests". Please only define "cl-base64" and secondary systems with a name starting with "cl-base64/" (e.g. "cl-base64/test") in that file. WARNING: redefining UIOP/PACKAGE::WHEN-PACKAGE-FISHINESS in DEFMACRO WARNING: redefining UIOP/PACKAGE::NOTE-PACKAGE-FISHINESS in DEFMACRO WARNING: redefining UIOP/PACKAGE:DEFINE-PACKAGE in DEFMACRO WARNING: redefining UIOP/COMMON-LISP::LOOP* in DEFMACRO ... maxima-jupyter: a Maxima Jupyter kernel; (C) 2019 Robert Dodier (BSD) In [1]:
Maxima-Jupyter の Code Highlighting Installation
cd /usr/local/lib/python3.8/dist-packages/notebook/static/components/codemirror/mode/ sudo mkdir maxima sudo cp ~/Downloads/maxima-jupyter/maxima.js maxima/ sudo vi meta.js {name: "Mathematica", mime: + {name: "Maxima", mime: "text/x-maxima", mode: "maxima", ext: ["mac", "max"]}, {name: "Modelica", mime:
cd /usr/local/lib/python3.8/dist-packages/pygments/lexers/ sudo cp ~/Downloads/maxima-jupyter/maxima_lexer.py . sudo vi _mapping.py 'MatlabSessionLexer': ('pygments.lexers.matlab', + 'MaximaLexer': ('pygments.lexers.maxima_lexer', 'Maxima', ('maxima', 'macsyma'), ('*.mac', '*.max'), ()), 'MiniDLexer': ('pygments.lexers.d', 'MiniD',
付録: wxMaxima
sudo apt install wxmaxima fonts-jsmath cd /usr/bin sudo chmod -x maxima # ソースからコンパイルしたものと混同しないように # which maxima で /usr/local/bin/maxima だから大丈夫とは思うけど。
使用例
Jupyter notebook 環境で,Web ブラウザをフルスクリーン・エディタにして Maxima が使えるのはありがたい。定数や関数の定義,描画結果も保存しておけるしね。