<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>chibiegg日誌 &#187; Maxima</title>
	<atom:link href="http://blog.chibiegg.net/tag/maxima/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.chibiegg.net</link>
	<description>chibiegg’s Diary</description>
	<lastBuildDate>Mon, 16 Aug 2010 07:34:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MaximaのインストールとMaximaPHPの導入</title>
		<link>http://blog.chibiegg.net/2008/05/31_00_136.htm</link>
		<comments>http://blog.chibiegg.net/2008/05/31_00_136.htm#comments</comments>
		<pubDate>Fri, 30 May 2008 15:59:04 +0000</pubDate>
		<dc:creator>chibiegg</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Maxima]]></category>

		<guid isPermaLink="false">http://blog.chibiegg.net/2008/05/31_00_136.htm</guid>
		<description><![CDATA[Maximaとはオープンソースの数式処理システムです。製品で有名なのはMathematicaなどがあるのですが。
ちょっと計算の確認をしたり、やってみたいけど面倒な数式処理。あるいはグラフの描画など、本格的な利用でなくて [...]]]></description>
			<content:encoded><![CDATA[<p>Maximaとはオープンソースの数式処理システムです。製品で有名なのはMathematicaなどがあるのですが。<br />
ちょっと計算の確認をしたり、やってみたいけど面倒な数式処理。あるいはグラフの描画など、本格的な利用でなくても大変便利なシステムです。(くわしいことは割愛。というより、本当に使える人に申し訳ない&#8230;。大学に入ったら使うようになりたいなと&#8230;)</p>
<p>こんなグラフも簡単に描けます。<br />
<a href="http://blog.chibiegg.net/wp-content/uploads/2008/05/2cos3t_2sin5t.png"><img src='http://blog.chibiegg.net/wp-content/uploads/2008/05/2cos3t_2sin5t.thumbnail.png' title='2cos3t_2sin5t.png' alt='2cos3t_2sin5t.png' /></a><br />
<a href="http://blog.chibiegg.net/wp-content/uploads/2008/05/plot3d_cosx3ycosx-2_sinx3ycosx-2ysinx-2_x-pipiy-11grid5015.png"><img src='http://blog.chibiegg.net/wp-content/uploads/2008/05/plot3d_cosx3ycosx-2_sinx3ycosx-2ysinx-2_x-pipiy-11grid5015.thumbnail.png' title='plot3d_cosx3ycosx-2_sinx3ycosx-2ysinx-2_x-pipiy-11grid5015.png' alt='plot3d_cosx3ycosx-2_sinx3ycosx-2ysinx-2_x-pipiy-11grid5015.png' /></a><br />
で、そのMaximaをブラウザ経由(PHP)で外部から使えるようにするのがMaximaPHPです。<br />
今回はその導入手順のメモです。<br />
<span id="more-136"></span><br />
<strong>Maximaのインストール</strong><br />
これはAPTITUDEで簡単にインストールできますが、目当てのバージョンは5.11.0なのでソースからコンパイルします。<br />
<a href="http://macwiki.sourceforge.jp/wiki/index.php/Maxima#cmucl_.2B_Maxima">ここ</a>を参考に「cmucl + Maxima」でインストールします。</p>
<p><code>
<pre>$ cd /tmp/
$ sudo apt-get install rlwrap
$ wget ftp://anonymous@ftp.gnu.org:21/pub/gnu/readline/readline-5.2.tar.gz
省略

$ tar zxvf ./readline-5.2.tar.gz
省略

$ cd readline-5.2/
$ ./configure
省略

$ make
省略

$ sudo make install
省略

$ cd ../
$ wget http://jaist.dl.sourceforge.net/sourceforge/maxima/maxima-5.11.0.tar.gz
省略
23:54:23 (8.39 MB/s) - `maxima-5.11.0.tar.gz' を保存しました [13924132/13924132]

$ tar zxvf ./maxima-5.11.0.tar.gz
省略

$ cd maxima-5.11.0/
$ ./configure
省略

$ make
省略

$ sudo make install
省略
</pre>
<p></code><br />
ここで動作確認をします。</p>
<p><code>
<pre>$ maxima
/usr/lib/maxima/5.10.0/binary-gcl/maxima: error while loading shared libraries: libgmp.so.3: cannot open shared object file: No such file or directory</pre>
<p></code><br />
ところが、当方の環境では「libgmp」が無いと言われたのでインストールします。<br />
<code>
<pre>$ apt-get install libgmp-ocaml
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
以下の特別パッケージがインストールされます:
  libgmp3c2
以下のパッケージが新たにインストールされます:
  libgmp-ocaml libgmp3c2
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 15 個。
451kB のアーカイブを取得する必要があります。
展開後に追加で 786kB のディスク容量が消費されます。
続行しますか [Y/n]?
取得:1 http://ftp.jp.debian.org etch/main libgmp3c2 2:4.2.1+dfsg-4 [430kB]
取得:2 http://ftp.jp.debian.org etch/main libgmp-ocaml 20021123-11 [21.3kB]
451kB を 0s で取得しました (1167kB/s)
未選択パッケージ libgmp3c2 を選択しています。
(データベースを読み込んでいます ... 現在 124543 個のファイルとディレクトリがインストールされています。)
(.../libgmp3c2_2%3a4.2.1+dfsg-4_i386.deb から) libgmp3c2 を展開しています...
未選択パッケージ libgmp-ocaml を選択しています。
(.../libgmp-ocaml_20021123-11_i386.deb から) libgmp-ocaml を展開しています...
libgmp3c2 (4.2.1+dfsg-4) を設定しています ...

libgmp-ocaml (20021123-11) を設定しています ...</pre>
<p></code></p>
<p>もう一度起動してみます。起動できたらなにか計算をやってみましょう。<br />
<code>
<pre>$ maxima</pre>
<p></code></p>
<p>こんな風に正しく動作すればOKです。<br />
<code>
<pre>Maxima 5.11.0 http://maxima.sourceforge.net
Using Lisp CMU Common Lisp CVS 19d 19d-release (19D)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
This is a development version of Maxima. The function bug_report()
provides bug reporting information.
(%i1) f(x):=3*x^2+5;
					  2
(%o1) 			       f(x) := 3 x  + 5
(%i2) f(1);
(%o2) 				       8
(%i3) f(0);
(%o3) 				       5
(%i4)
</pre>
<p></code></p>
<p><strong>TeX to MathML translator(TtM)のインストール</strong><br />
TtMとは名前の通りTeXをMathMLに変換してくれるライブラリです。<br />
MaximaPHPで利用されるのでインストールします。<br />
公式サイトは<a href="http://hutchinson.belmont.ma.us/tth/mml/">こちら</a>。<br />
<code>
<pre>$ cd /tmp/
$ wget http://hutchinson.belmont.ma.us/tth/mml/ttmL.tar.gz
$ tar zxvf ttmL.tar.gz
$ cd ./ttmL
$ ./ttminstall
Making directory /root/bin
 I've added /root/bin to your PATH, but that needs to be made permanent.
 Edit your shell resources file, typically .bash_profile.
 The directory /root/bin is where the TtM programs are kept.
 Copying ttm, ps2gif, and latex2gif to /root/bin.
 You don't seem to have KDE installed.
</pre>
<p></code></p>
<p><strong>MaximaPHPのインストール</strong><br />
これは公式サイト(<a href="http://maximaphp.sourceforge.net/">http://maximaphp.sourceforge.net/</a>)からダウンロードしてきます。<br />
あらかじめWeb公開ディレクトリに移動しておきます。(勝手にそうさされないよう認証のあるディレクトリを推奨します)<br />
<code>
<pre>$ wget http://jaist.dl.sourceforge.net/sourceforge/maximaphp/maximaphp-0.1.3-alpha.tar.gz
$ tar zxvf ./maximaphp-0.1.3-alpha.tar.gz</pre>
<p></code><br />
次に「INSTALL」の説明にしたがってParlスクリプトを移動させ実行許可を与えます。<br />
<code>
<pre>$ sudo mv ./scripts/* /bin/
$ sudo chmod 755 /bin/_maxima_with_timeout_.pl
$ sudo chmod 755 /bin/_ttm_with_timeout_.pl</pre>
<p></code></p>
<p>そして「INSTALL」の説明にしたがって「mpxhtml.php」を編集します。(<strong>後日詳しく追記する予定</strong>)</p>
<p>画像作成用のディレクトリも作成しておきます。<br />
<code>
<pre>$ mkdir ./temp
$ mkdir ./png
$ chmod -R 777 ./temp
$ chmod -R 777 ./png</pre>
<p></code></p>
<p>そしてrewriteするためにデフォルトの「.htaccess」を持ってきます。<br />
<code>
<pre>$ cp ./rewriteurl/htaccess-yes ./.htaccess
$ cp ./rewriteurl/mprewriteurl-yes.php ./mprewriteurl.php </pre>
<p></code></p>
<p><strong>MaximaPHPの動作確認</strong><br />
今回は「http://chibiegg.net/maxima/」に導入したとします。</p>
<p>http://chibiegg.net/maxima/に接続したページで、「Example」ボタンを押すと計算結果が表示されればOKです。</p>
<p><a href="http://blog.chibiegg.net/wp-content/uploads/2008/05/maximaphp-example1.jpg"><img src='http://blog.chibiegg.net/wp-content/uploads/2008/05/maximaphp-example1.thumbnail.jpg' title='maximaphp-example1.jpg' alt='maximaphp-example1.jpg' /></a></p>
<p>ちなみにこのようにプロットが表示できれば画像もOKです。<br />
<a href="http://blog.chibiegg.net/wp-content/uploads/2008/05/maximaphp-example2.jpg"><img src='http://blog.chibiegg.net/wp-content/uploads/2008/05/maximaphp-example2.thumbnail.jpg' title='maximaphp-example2.jpg' alt='maximaphp-example2.jpg' /></a></p>
<p>カスタマイズなどはまた後日&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chibiegg.net/2008/05/31_00_136.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
