GNU Calc - 貧乏人の Mathmatica のバックアップ(No.1)

更新


公開メモ

高度な数学的計算を行えるフリーソフトです

  • 非常に高い精度での数値計算
  • 数式計算
  • 行列計算

などなど、非常に多機能なソフトがフリーで使えます。

Emacs というエディタ上で走るソフトです

emacs は、主に unix 系の os で広く使われている高機能エディタです。

calc は emacs 上で動きます。

GNU Emacs FAQ 日本語訳:
http://www.bookshelf.jp/texi/emacs-faq/emacs-faq.html

GNU Calc に関する情報

GNU Emacs Calc 2.02 マニュアル(日本語訳):
http://www.biwa.ne.jp/~tanaka/Calc/Texinfo/Texi2html/calc-jp_toc.html

Debian (lenny) へのインストール

etch までは Debian のディストリビューションに含まれていたのだけれど、 lenny には含まれていないので、手作業でインストールすることになる。

まず、emacs がまだインストールされていなければインストールする。

次に、Debian -- etch の calc パッケージに関する詳細:
http://packages.debian.org/ja/etch/calc

の右の部分から

  • calc_2.02f.orig.tar.gz
  •  calc_2.02f-28.diff.gz

を適当なフォルダにダウンロードし、解凍し、パッチを当てて、make install する。

途中、default というファイルが見つからないと言われる場合には、 空の /usr/share/emacs/site-lisp/default を作成してやる必要がある。

LANGUAGE:Console
> sudo aptitude install emacs
> cd
> mkdir calc
> wget http://ftp.de.debian.org/debian/pool/main/c/calc/calc_2.02f.orig.tar.gz
> wget http://ftp.de.debian.org/debian/pool/main/c/calc/calc_2.02f-28.diff.gz
> ls
 calc_2.02f-28.diff.gz  calc_2.02f.orig.tar.gz
> tar fxz calc_2.02f.orig.tar.gz
> ls
 calc-2.02f.orig/  calc_2.02f-28.diff.gz  calc_2.02f.orig.tar.gz
> cd calc-2.02f.orig
> gunzip -c ../calc_2.02f-28.diff.gz > patch -p1
> sudo make install
 error: the file "default" not found
> ls /usr/share/emacs/site-lisp/default
> sudo touch /usr/share/emacs/site-lisp/default
> ls /usr/share/emacs/site-lisp/default
 /usr/share/emacs/site-lisp/default
> sudo make install

起動

LANGUAGE:Console
> emacs

として emacs を起動してから、書き込み可能なバッファ上で Esc => # を入力する。 (Esc キーを押して、離してから # を入力)そして、c を入力。

これで、もっとも一般的なインターフェースで Calc が立ち上がる。

Calc から抜けるには q を押す。

emacs から抜けるには Ctrl+X C。

その他の基本的なキーをまとめておく。

M-# cCalc の起動
qCalc の終了
C-xcemacs の終了
C-gコマンド入力途中や、引数入力中にコマンド入力を取り消す
Uアンドゥー
Dリドゥー
TABスタック上の2つを入れ替え
M-TABスタック上の3つを入れ替え
d [スタックの中での移動
d ]スタックの中での移動
`スタック先頭の書き換え
BSスタック先頭を削除
RETスタック先頭の複製
? ?利用可能なコマンドの一覧を表示する(続けて ? を押すことで次ページへ)
文字 ?"文字"から始まるコマンドについて一覧を表示する(続けて ? を押すことで次ページへ)
s 数字数字で識別される一時変数(q1など)にスタック先頭を格納
r 数字数字で識別される一時変数(q1など)から値を取り出す
s s 文字列文字列で識別される変数にスタック先頭を格納(式でも使える)
s r 文字列文字列で識別される変数から値を取り出す

Counter: 11151 (from 2010/06/03), today: 2, yesterday: 3