maxima

maxima の履歴を helm で呼び出す

maxima.el には maxima-save-input-history という変数があり (setf maxima-save-input-history t)と設定しておけば、デフォルトでは "~/.maxima_history" にセッション終了時に入力を保存してくれる。 ただしセッション中には comint-history-isearch-backw…

maxima の可変引数の関数

f([L]):= のように引数を受けとれば良い。f(1,2,3) とすると f の中で L = [1,2,3] ということになる。たとえば say([L]):=printf(true, "~{~a~^ ~}~%", L);のように使う。 say(1.0,"a",[1,2]); => 1.0 a [1,2]これは値の書き出しに重宝する。

maxima でデータを読み込んでプロットする

参考 Maxima 5.38.1 Manual: 73. numericalio書き出したデータを(リストとして)読み込むには read_nested_list を使う。ファイル hoge.data の内容は 1 2 3 4 5 6 7 8 ...のようなものとする。read_nested_list("hoge.data") の返すリストは [[1,2],[3,4],[5…

maxima のスコープ

関数の高階の合成を作りたいと思い compose_sub(fn,var):=fn(var); compose(fn,n,var):=rreduce(compose_sub, makelist(fn,n), var);としたところ g(x):=x^2; compose(g,3,x); => x^8 compose(g,3,2); => 256で一見うまくいくが fn(x):=x^3;と別の関数を定義…

imaxima でのデータ書き出し

参考 Maxima 5.38.1 Manual: 13. File Input and Outputemacs 上の imaxima でデータをファイル(hoge.out)に書き出しをしようとして with_stdout("hoge.out", for i:0 thru 9 do print(i, " ", i^2));とすると出力が LaTeX のタグを含んだ形になってしまう。…

maxima の implicit_plot を滑らかにする

maxima の普通の plot#d なら plot#d のオプションで gnuplot のサンプルレートのオプション [gnuplot_preamble, "set samples ###"]が使えるが陰関数の場合は使えず困ったのでメモ。 implicit_plot はグローバル変数 ip_grid, ip_grid_in の値を使っている…