2018-01-06

Maximaであそぶ

Maxima は、LISP で記述された数式処理システムです。GNU GPL に基づくフリーソフトウェアであり、現在も活発に開発が続けられています。[Wikipedia より]

以前の記事 [1] で Maxima on Android を紹介しましたが、Maxima は Linux 上で利用できます。Maxima on Android に慣れるには、まず Maxima に慣れる方が、大きな画面とキーボードが利用できることから、より簡単だと思われます。ということで、早速 Maxima をインストールしてみました。

使用している環境は以下の通りです。

  • OS: Fedora 27 (x86_64)

Maxima のインストール

まず、maxima をキーワードにして、関連するパッケージを検索します。

$ su
パスワード:
# dnf search maxima
メタデータの期限切れの確認は、0:00:20 時間前の 2018年01月02日 08時57分50秒 に実施しました。
========================= 名前 Exactly Matched: maxima =========================
maxima.x86_64 : Symbolic Computation Program
========================== 名前 & 概要 の一致: maxima ==========================
maxima-src.x86_64 : maxima lisp source code
maxima-gui.x86_64 : Tcl/Tk GUI interface for maxima
maxima-runtime-ecl.x86_64 : Maxima compiled with ECL
maxima-runtime-gcl.x86_64 : Maxima compiled with GCL
wxMaxima.x86_64 : Graphical user interface for Maxima
maxima-runtime-sbcl.x86_64 : Maxima compiled with SBCL
maxima-runtime-clisp.x86_64 : Maxima compiled with clisp
============================= 概要 の一致: maxima ==============================
wannier90.x86_64 : Maximally-localised Wannier functions
nodejs-simple-is.noarch : Maximally minimal type-testing library
nodejs-simple-fmt.noarch : Maximally minimal string formatting library

wxMaxima をインストールする事で、Maxima 本体を含む関連するパッケージもインストールします。

この wxMaximaは、wxWidgets によるグラフィカルな Maxima のユーザーインターフェイスです。見映えのする数式表示と、メニューとダイアログを通じた Maxima へのアクセスを提供します。

# dnf install wxMaxima
メタデータの期限切れの確認は、0:01:00 時間前の 2018年01月02日 08時57分50秒 に実施しました。
依存性が解決されました。
================================================================================
 パッケージ               アーキテクチャ
                                      バージョン             リポジトリ   サイズ
================================================================================
インストール:
 wxMaxima                 x86_64      16.04.2-4.fc27         fedora       2.6 M
依存関係のインストール:
 gnuplot                  x86_64      5.0.6-5.fc27           fedora       824 k
 gnuplot-common           x86_64      5.0.6-5.fc27           fedora       643 k
 jsmath-fonts             noarch      20090708-12.fc27       fedora       123 k
 maxima                   x86_64      5.41.0-1.fc27          updates       22 M
 maxima-runtime-sbcl      x86_64      5.41.0-1.fc27          updates       12 M
 rlwrap                   x86_64      0.42-7.fc27            fedora       102 k
 wxBase3                  x86_64      3.0.3-5.fc27           fedora       1.1 M
 wxGTK3                   x86_64      3.0.3-5.fc27           fedora       5.1 M
 wxGTK3-webview           x86_64      3.0.3-5.fc27           fedora        64 k

トランザクションの要約
================================================================================
インストール  10 パッケージ

総ダウンロードサイズ: 44 M
パッケージ展開後のサイズ: 180 M
これでいいですか? [y/N]: y
パッケージをダウンロードしています:
(1/10): jsmath-fonts-20090708-12.fc27.noarch.rp  24 kB/s | 123 kB     00:05    
(2/10): wxBase3-3.0.3-5.fc27.x86_64.rpm         180 kB/s | 1.1 MB     00:06    
...
...
...
  検証中           : gnuplot-common-5.0.6-5.fc27.x86_64                   10/10 

インストール済み:
  wxMaxima.x86_64 16.04.2-4.fc27      gnuplot.x86_64 5.0.6-5.fc27              
  gnuplot-common.x86_64 5.0.6-5.fc27  jsmath-fonts.noarch 20090708-12.fc27     
  maxima.x86_64 5.41.0-1.fc27         maxima-runtime-sbcl.x86_64 5.41.0-1.fc27 
  rlwrap.x86_64 0.42-7.fc27           wxBase3.x86_64 3.0.3-5.fc27              
  wxGTK3.x86_64 3.0.3-5.fc27          wxGTK3-webview.x86_64 3.0.3-5.fc27       

完了しました!
# 

Maxima の実行例

下記に使用例をいくつか示しました。wxMaxima 上では [Enter] ではなく、[Shift] + [Enter] で入力します。

関数の定義

f(x) := x^3 - 1;

方程式の解

solve(f(x) = 0);

微分

diff(f(x), x);

不定積分

integrate(f(x), x);

定積分

integrate(f(x), x, 1, 2);

定積分の数値計算

romberg(f(x), x, 1, 2);
wxMaxima の実行例

グラフ表示の例として、媒介変数で定義したメビウスの帯を描画してみました。グラフはデフォルトで gnuplot 上に描画されます。

メビウスの帯 [4]

x: cos(2*t)*(r*cos(t) + 2);
y: sin(2*t)*(r*cos(t) + 2);
z: r*sin(t);
plot3d([x, y, z], [r, -1, 1], [t, 0, %pi], [grid, 10, 100]);
Möbius strip

参考サイト

  1. bitWalk's: Maxima on Android を試す [2018-01-01]
  2. Maxima Manual:
  3. Maxima - Wikibooks
  4. メビウスの帯 - Wikipedia
  5. Maxima入門 Maximaのインストールから簡単な数式、グラフ作成まで

 

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: