2022年11月22日火曜日

Mathics(2)

Mathics(1)からの続き

ちょうど2年前の今ごろ,Mathicsについての記事をかいていたが,完全に記憶の彼方に跳んでいた。別の記事を復習していてたまたま目に付いたのである。

Mathicsは,Pythonベースのフリーでオープンソースの汎用計算機代数システムであり,Mathematica®と互換性のある構文と関数を特徴としている。早速,MacBook Air M1で動かしてみると動かない。pip3 install Mathics で簡単に復活した。
Mathics 5.0.2
on CPython 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
using SymPy 1.10.1, mpmath 1.2.1, numpy 1.23.4

Copyright (C) 2011-2022 The Mathics Team.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions.
See the documentation for the full license.

前回より,かなりバージョンがあがっている。 GUIの画面も実装しているようなので試してみたが,これがなかなか難渋する。どうやら,Three.jsというJavascriptによる三次元グラフックシステムを利用しているらしい。これも7-8年前に流行ったようだが全く知らなかった。MathicsのGUI版の方は,Mathics-Djangoという名前で,PythonのウェブフレームワークのDjangoの上で動いていた。

pip3 install Mathics-Django 
cd mathics-django-master/mathics_django
*You have 21 unapplied migration(s). 
python3 manage.py migrate
python3 manage.py runserver 
*error AttributeError: module 'scipy.linalg' has no attribute 'inv'
pip3 install scipy-stack
python3 manage.py runserver
*error sqlite3.OperationalError: unable to open database file
*error django.db.utils.OperationalError: unable to open database file
mkdir ~/.local/var/mathics 
djangoは,作業ディレクトリ(~/mathics-django-master/mathics_django)で,manage.py runserver を実行すると,ローカルのウェブサーバー( http://127.0.0.1:8000/)が立ち上がる仕組みになっている(エラーが出たら指示に従ってディレクトリに必要なファイルを持ってくる)。最初のエラーは,scipy-stackのインストールで,次のエラーは,データベースの場所の問題だったが,~/.local/var/mathicsというデフォルトのディレクトリを作成することでようやく解決することができた。

早速実行してみたが,相変わらず,計算量の制限は大きく,1500!(10進 4114桁)くらいまでしか計算できない。本物のMathematicaならば,10000000!(10進 65 657 059桁)でも平気で計算できるのだけれど。

なお,List of computer algebra systems には無事に掲載されていた。


図:MacBook Air M1にインストールしたMathics GUI版

0 件のコメント: