作業中のメモ

よく「計算機」を使って作業をする.知らなかったことを中心にまとめるつもり.

CAB の四則逆演算を解く

どうも,筆者です.

今回の話題は,CAB の四則逆演算についてだ.単なる 1 次方程式の問題だが,これまた短時間で解かないといけないので,面倒である. 今回もツールを作成しようと考えたが,移項を含む方程式の解を求めるのは容易ではない.そこで,便利なツールを利用して解くことにした.

Mathics

今回利用するのは「Mathics」というツールである.一般に,数式処理を行うツールとして「Wolfram Mathematica」が知られている(この Wolfram はタングステンの意味ではない).

Mathematica - Wikipedia

Mathematica は非常に強力な数式処理機能を持ったソフトウェアである.その反面,主に教育・研究用途で使われるため,非常に高価なものとなっている(個人利用では,7 万円程).

HULINKS | Mathematica | 製品価格:Standard/Home/学生版

高価な Mathematica には劣るものの,今回目的とする機能を持つものが Python で実装されている.それが,Mathics である.今回は,Linux 上に Python 2.7 をインストールし,その後,Mathics をインストールする.

インストール方法

筆者は,Ubuntu を利用しており,Python 2.7 はデフォルトでインストールされていた.そのため,Python のインストール方法は割愛する.

user@pc:~$ python -V
Python 2.7.6

次に,Git を利用し,Mathics のソースをダウンロードしてくる.ちなみに,Git は初めて使うので,よく分からない.

user@pc:~$ git clone "https://github.com/mathics/Mathics"

後は,「Mathics」のディレクトリに移動し,以下のコマンドでインストールするだけだ.

user@pc:~$ cd Mathics
user@pc:~/Mathics$ sudo python setup.py install

しばらくすると,インストールが終わるので,インストールされているか確認する.

user@pc:~/Mathics$ which mathics
/usr/local/bin/mathics

うまくインストールできているみたいだ.

実行

せっかくなので,起動して,実行してみる.

user@pc:~/Mathics$ mathics

Mathics 1.1.dev0
on CPython 2.7.6 (default, Oct 26 2016, 20:30:19) 
using SymPy 1.0, mpmath 0.19

Copyright (C) 2011-2016 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.

Quit by pressing CONTROL-D

In[1]:= 

問題なく起動した.実際に式を入力して解かせてみる.

In[1]:= Solve[3/x + 8 * 3 == 4 - 2,x]
Out[1]= {{x -> -3 / 22}}

In[2]:= Solve[3/x + 8 == 3 *x +5, x]
Out[2]= {{x -> 1 / 2 + Sqrt[5] / 2}, {x -> 1 / 2 - Sqrt[5] / 2}}

問題なく動作した.二次方程式も解いてくれるから便利だ.ちなみに,入力が小数のときは,解も小数で与えられる.

In[3]:= Solve[4*x - 2 == 0, x]
Out[3]= {{x -> 1 / 2}}

In[4]:= Solve[4*x - 2.0 == 0, x]
Out[4]= {{x -> 0.5}}

終わるときは上に書いてあるとおり,「Ctrl + D」を押す.

おわりに

商用の Mathematica にはかなわないが,簡単な計算を行うだけなら,Mathics でも十分機能すると思われる.