行列計算ライブラリー for xyzzy 2008年7月12日、2012年5月12日 空拇 (原作: 紫藤貴文) 1. 概要 このプログラムは,紫藤貴文さんがCLISP向けに作成された「行列計算ライブラリー」(July 20, 2004)を,xyzzyで動く様に,空拇が移植したものです。 1.1 使用できる函数 v-ip aset a+= a-= a*= a/= m+ m- m* umat det m-1 m-t m-eql jacob eigen a=op l-ip * 各函数の詳しい使用法は,紫藤さんの説明書 html/matrix.html を御覧ください。 * ここに挙げた函数は,パッケージ修飾子無しに使用できます。その他の函数やマクロは,修飾子 matrix:: を附けると使用できます。 例: (m-1 #2A((5 7) (1 3))) 例: (matrix::for (i 5 13) (format t "~2,'0D: ~%" i)) * 函数 lfit は移植してゐません。私がgnuplotを使はない人なので,手を抜きました。 * 挙動が不審な場合,対応し切れるかは解りませんが,空拇まで御報せください。聯絡先は文末に示してあります。 1.2 インストール方法 1. matrix.l と matrix.lc を,xyzzyのインストール場所にある ~/site-lisp の下にコピーします。 2. 次のコードを .xyzzy 又は siteinit.l に追加します: (require "matrix") (use-package "matrix") siteinit.l に追加した場合,siteinit.lをバイトコンパイルし直して,xyzzyのダンプファイルを再生成する(Ctrl+Shiftを押しながら起動する)のを忘れない様にしてください。 1.3 アンインストール方法 1. 1.2の2.で追加したコードを消去します。 siteinit.l に追加してゐた場合は,コードを消去後,インストール時と同様に,siteinit.lをバイトコンパイルし直して,xyzzyのダンプファイルを再生成するのを忘れない様にしてください。 2. matrix.l と matrix.lc を ~/site-lisp から削除します。 2. このプログラムについて 2.1 適用ライセンス このプログラムは,著作権抛棄(Public Domain)です。御自由に転載・加工等してください。作者名を明記する必要もありません。(※1) (※1) 私(空拇)が直接,紫藤さんにライセンスについて伺ったところ,次の様な御返事を戴けました。寛大な紫藤さんの応対に感謝致します。 紫藤さんのサイトのゲストブック,1530番 http://shido.info/gb/guestbook.php?id=1530 より > 紫藤のページをお読みいただきありがとうございます。 > このサイトにあるプログラムは全て Public Domain と考えてください。 2.2 ファイル一覧 (matrix-for-xyzzy.zip) │ matrix-for-xyzzy.txt │ ├─html │ matrix.html │ └─site-lisp matrix.l matrix.lc 2.3 更新履歴 2005-11頃 行列計算ライブラリーを知り,xyzzyへの移植を始める。本格的に作業が進み出し,どうにか動作するレベルになったのは,2007年春頃。 2008-07-07 m*でobj0がベクトルの時に動作しない問題を修正。 matrixパッケージの導入。 ドキュメント(この文書)の整備を開始。 2008-07-12 Ver.2008-07-09 初版公開。 2012-05-12 Ver.2012-05-12 export函数にl-ipを追加。 全てのexport函数にdocstringを追加。 2.4 ファイル配布所・聯絡先 行列計算ライブラリーの説明書と,移植元のプログラム (紫藤貴文さん) http://www.shido.info/lisp/matrix.html 行列計算ライブラリー for xyzzy (空拇) http://purl.com/net/dkcc/shed/matrix-for-xyzzy.html 空拇への聯絡先 http://purl.com/net/dkcc/faq.html#FORM