Next: Miscellaneous Options, Previous: Groups [Contents][Index]
Next: Interrupts, Previous: Runtime Environment, Up: Runtime Environment [Contents][Index]
maxima-init.mac
は、Maximaがスタートする時自動的にロードされるファイルです。
自分のMaxima環境をカスタマイズするために
maxima-init.mac
を使うことができます。
maxima-init.mac
は、もし存在するなら、
関数file_search
が検索する任意のディレクトリで大丈夫ですが、
通常は、
maxima_userdir
で名付けらたディレクトリの中に置かれます。
これは、maxima-init.mac
ファイルの例です:
setup_autoload ("specfun.mac", ultraspherical, assoc_legendre_p); showtime:all;
この例では、setup_autoload
は、Maximaに
もし関数(ultraspherical
,
assoc_legendre_p
)のいずれかがコールされて、まだ定義されていなかったら、
指定されたファイル(specfun.mac
)をロードするように命じます。
このように、関数をコールする前にファイルをロードすることを覚えておく必要はありません。
文showtime: all
は、Maximaにshowtime
変数を設定することを命じます。
maxima-init.mac
ファイルは、
他の任意の割り当てやMaxima文を含むことができます。
Next: Functions and Variables for Runtime Environment, Previous: Introduction for Runtime Environment, Up: Runtime Environment [Contents][Index]
ユーザーは、時間のかかる計算を^C (control-C)文字で止めることができます。 デフォルトの動作は、計算を止めて、別のユーザープロンプトを印字することでです。 この場合、止められた計算の再開することはできません。
もし
:lisp (setq *debugger-hook* nil)
を実行することによって、
Lisp変数*debugger-hook*
がnil
に設定されているなら、
^Cを受け取ると、Maximaは、Lispデバッガに入り、
ユーザーは、Lisp環境を検査するためにデバッガを使うことができます。
止められた計算は、Lispデバッガの中で、
continue
を入力することで、再開することができます。
(計算を完了まで走らせる以外に)
LispデバッガからMaximaに戻る方法は、
Lispのバージョンそれぞれで異なります。
Unixシステム上では、文字^Z (control-Z)は、
Maximaが完全に止まるようにし、
制御は、シェルスクリプトに戻ります。
fg
コマンドは、Maximaが
止められた点から再開するようにします。
Previous: Interrupts, Up: Runtime Environment [Contents][Index]
Maximaは、システムフィーチャと数学式に適用されるフィーチャの、
2つの異なるタイプのフィーチャを理解します。
See also
システムフィーチャについての情報に関しては、status
も参照してください。
数学的フィーチャについての情報に関しては、
features
とfeaturep
も参照してください。
feature
それ自身は、関数名でも変数名でもありません。
現在のデータベースの中の事実に基づいて
オブジェクトaが
フィーチャfを持つかどうか
を決定しようとします。
もしそうなら、true
を返し、そうでなければfalse
を返します。
featurep
は、
fもfの否定も確立できない時は、
false
を返すことに注意してください。
featurep
は、引数を評価します。
declare
とfeatures
も参照してください。
(%i1) declare (j, even)$ (%i2) featurep (j, integer); (%o2) true
maxima_tempdir
は、Maximaが一時的なファイルを生成するディレクトリを
指名します。
特に、プロットのための一時ファイルが
maxima_tempdir
に生成されます。
maxima_tempdir
の初期値は、
もしMaximaが置くことができるなら、ユーザーのホームディレクトリです;
そうでなければ、Maximaは適切なディレクトリについて推量します。
maxima_tempdir
は、ディレクトリを指名する文字列に割り当てられます。
maxima_userdir
は、
Maximaが、MaximaやLispファイルを見つけるために検索するディレクトリを指名します。
(Maximaは、他のディレクトリも検索します;
file_search_maxima
とfile_search_lisp
は、完全なリストです。)
maxima_userdir
の初期値は、
もしMaximaが置くことができなら、
ユーザーのホームディレクトリのサブディレクトリです;
そうでなければ、Maximaは適切なディレクトリについて推量します。
maxima_userdir
は、ディレクトリを指名する文字列に割り当てられます。
しかしながら、
maxima_userdir
への割り当ては、自動的には
file_search_maxima
とfile_search_lisp
を変えません;
それらの変数は、別々に変更しなければいけません。
Maximaの記憶装置とスタックマネージメントの状態の描写を印字します。
room
は、同じ名前のLisp関数をコールします。
room ()
は、適度の描写を印字します。
room (true)
は、言葉数の多い描写を印字します。
room (false)
は、簡潔な描写を印字します。
keywordがシンボルfeature
の時、itemがシステムフィーチャのリスト上に追加されます。
sstatus (keyword, item)
が実行された後、
status (feature, item)
はtrue
を返します。
もしkeywordがシンボルnofeature
なら、
itemはシステムフィーチャのリストから削除されます。
これはパッケージ作者が、搭載したフィーチャの追跡をするのに役に立つかもしれません。
status
も参照してください。
feature
) ¶feature
, item) ¶いくつかのシステム依存のフィーチャの存在と不在についての情報を返す。
status (feature)
は、システムフィーチャのリストを返します。
これらは、Lispのバージョン、オペレーティングシステムのタイプなどを含みます。
リストは、1つのLispタイプからもう1つに変わるかもしれません。
status (feature, item)
は、
もしitemがstatus (feature)
が返す項目のリスト上にあるなら、
true
を返し、そうでなければ、false
を返します。
status
は、引数itemをクォートします。
クォート-クォート演算子''
は、クォーテーションに優先されます。
名前が、ハイフンのように特殊文字を含むフィーチャは、
文字列引数として与えられなければいけません。例えば、
status (feature, "ansi-cl")
。
sstatus
も参照してください。
変数features
は、
数式に適用される
フィーチャのリストを含みます。
もっと情報を知るには、features
とfeaturep
を参照してください。
別のプロセスとしてcommandを実行します。
コマンドは実行のためデフォルトのシェルに渡されます。
system
は、オペレーティングシステムすべてではサポートされませんが、
一般にUnixとUnixライクな環境では存在します。
_hist.out
が、
xgraph
を使ってバーグラフとしてプロットしたい頻度のリストだと仮定します。
(%i1) (with_stdout("_hist.out", for i:1 thru length(hist) do ( print(i,hist[i]))), system("xgraph -bar -brw .7 -nl < _hist.out"));
プロットをバックグラウンドで(Maximaに制御を戻すように)させるようにし、終了した後、一次ファルを削除するようにするためには、以下のようにします:
system("(xgraph -bar -brw .7 -nl < _hist.out; rm -f _hist.out)&")
出力行%o1
, %o2
, %o3
, …を計算するために使った
時間のリストを秒で返します。
返された時間は、内部計算時間のMaximaの概算であって、経過時間ではありません。
time
は、出力行変数にだけ適用されます;
他の変数に関して、time
はunknown
を返します。
Maximaに出力行それぞれに計算時間と経過時間を印字させるには、
showtime: true
を設定してください。
引数なしのtimedate()
は現在時刻と日付を表す文字列を返します。
文字列は、フォーマットYYYY-MM-DD HH:MM:SS[+|-]ZZ:ZZ
を持ちます。
ここで、欄は、年、月、日、時、分、秒、時間と分のタイムゾーンオフセットです。
timedate(T)
は
フォーマットYYYY-MM-DD HH:MM:SS[+|-]ZZ:ZZ
の文字列として
時刻Tを返します。
Tは
absolute_real_time
が返すような
1990年1月1日の真夜中以来の秒数として解釈されます。
例:
引数なしのtimedate()
は現在時刻と日付を表す文字列を返します。
(%i1) d : timedate (); (%o1) 2010-06-08 04:08:09+01:00 (%i2) print ("timedate reports current time", d) $ timedate reports current time 2010-06-08 04:08:09+01:00
引数ありのtimedate
は引数を表す文字列を返します。
(%i1) timedate (0); (%o1) 1900-01-01 01:00:00+01:00 (%i2) timedate (absolute_real_time () - 7*24*3600); (%o2) 2010-06-01 04:19:51+01:00
協定世界時で1900年1月1日の深夜以来の 秒数を返します。 戻り値は整数です。
elapsed_real_time
とelapsed_run_time
も参照してください。
例:
(%i1) absolute_real_time (); (%o1) 3385045277 (%i2) 1900 + absolute_real_time () / (365.25 * 24 * 3600); (%o2) 2007.265612087104
Maximaがもっとも最近スタートしたか再スタートして以来の (1秒の小数を含む)秒数を返します。 戻り値は浮動小数点数です。
absolute_real_time
とelapsed_run_time
も参照してください。
例:
(%i1) elapsed_real_time (); (%o1) 2.559324 (%i2) expand ((a + b)^500)$ (%i3) elapsed_real_time (); (%o3) 7.552087
Maximaがもっとも最近スタートしたか再スタートして以来 Maximaが計算に費やした (1秒の小数を含む)秒数の概算を返します。 戻り値は浮動小数点数です。
absolute_real_time
とelapsed_real_time
も参照してください。
例:
(%i1) elapsed_run_time (); (%o1) 0.04 (%i2) expand ((a + b)^500)$ (%i3) elapsed_run_time (); (%o3) 1.26
Next: Miscellaneous Options, Previous: Groups [Contents][Index]