Next: , Previous:   [Contents][Index]

33 Miscellaneous Options


33.1 Introduction to Miscellaneous Options

この節では、Maximaの操作上、グローバルな効果を持つ様々なオプションが論じられます。 すべてのユーザー定義関数のリストのような様々なリストも論じられます。


33.2 Share

Maximaの「共有」ディレクトリは、Maximaユーザーのためのものですが、 Maximaのコア実装の部分ではない、プログラムと他のファイルを含みます。 これらのプログラムは、通常、 loadsetup_autoloadによってロードされます。

:lisp *maxima-sharedir*は、 ユーザーのファイルシステム内の共有ディレクトリの位置を表示します。

printfile ("share.usg")は、 共有パッケージの期限切れリストを印字します。 ユーザーは、 ファイルシステムブラウザを使って共有ディレクトリをブラウズすることがもっと情報が得られることを知るでしょう。


Previous: , Up: Miscellaneous Options   [Contents][Index]

33.3 Functions and Variables for Miscellaneous Options

宣言: alphabetic

alphabeticは、 declareが認識する宣言タイプです。 式 declare(s, alphabetic)は、Maximaに s―は文字列でなければいけません―の中の文字のすべてをalphabeticとして認識するように 命じます。

Identifiersも参照してください。

例:

(%i1) xx\~yy\`\@ : 1729;
(%o1)                         1729
(%i2) declare ("~`@", alphabetic);
(%o2)                         done
(%i3) xx~yy`@ + @yy`xx + `xx@@yy~;
(%o3)               `xx@@yy~ + @yy`xx + 1729
(%i4) listofvars (%);
(%o4)                  [@yy`xx, `xx@@yy~]
オプション変数: genindex

デフォルト値: i

genindexは、 必要な時、和の次の変数を生成するために使われる アルファベットの接頭辞です。

オプション変数: gensumnum

デフォルト値: 0

gensumnumは、 和の次の変数を生成するために使われる 数値接尾辞です。 もしfalseに設定されているなら、 インデックスは数値接尾辞なしでgenindexだけから成ります。

関数: gensym ()
関数: gensym (x)

gensym()は新鮮なシンボルを生成し、返します。

新しいシンボルの名前は、 デフォルトでは"g"の接頭辞と Lisp内部カウンタの値がデフォルトの数の十進表現である接尾辞の連結です。

もしxが供給されて、それが文字列なら、 このgensymへの呼び出しに限って、 その文字列は"g"の代わりに接頭辞として使われます。

もしxが供給されて、それが整数なら、 このgensymへの呼び出しに限って、 内部Lisp整数の値の代わりに接尾辞として使われます。

もし陽な接尾辞が供給されないなら、また、その時だけ、 Lisp内部整数は、使われた後1だけ増分されます。

例:

(%i1) gensym();
(%o1)                         g887
(%i2) gensym("new");
(%o2)                        new888
(%i3) gensym(123);
(%o3)                         g123
関数: properties (a)

アトムaに関連づけられたプロパティすべての名前のリストを返します。

特殊シンボル: props

propsは、 declare関数で指定されたプロパティはもちろん、 atvalue, matchdeclare, などが指定したような、 infolistsで陽に言及されたもの以外の任意のプロパティ、を持つアトムです。

関数: propvars (prop)

propsリスト上の、 propが示すプロパティを持つアトムのリストを返します。 従って, propvars (atvalue)は、atvalueを持つアトムのリストを返します。

関数: put (atom, value, indicator)

valueatomの(indicatorが指定する)プロパティに割り当てます。 indicatorは、任意のプロパティの名前を取り得ますが、 システム定義のプロパティは取りません。

remputの効果をひっくり返します。

putは引数を評価します。 putvalueを返します。

例:

(%i1) put (foo, (a+b)^5, expr);
                                   5
(%o1)                       (b + a)
(%i2) put (foo, "Hello", str);
(%o2)                         Hello
(%i3) properties (foo);
(%o3)            [[user properties, str, expr]]
(%i4) get (foo, expr);
                                   5
(%o4)                       (b + a)
(%i5) get (foo, str);
(%o5)                         Hello
関数: qput (atom, value, indicator)

valueatomの(indicatorが指定する)プロパティに割り当てます。 これは、引数がクォートされることを除いて、putと同じです。

例:

(%i1) foo: aa$ 
(%i2) bar: bb$
(%i3) baz: cc$
(%i4) put (foo, bar, baz);
(%o4)                          bb
(%i5) properties (aa);
(%o5)                [[user properties, cc]]
(%i6) get (aa, cc);
(%o6)                          bb
(%i7) qput (foo, bar, baz);
(%o7)                          bar
(%i8) properties (foo);
(%o8)            [value, [user properties, baz]]
(%i9) get ('foo, 'baz);
(%o9)                          bar
関数: rem (atom, indicator)

atomから、indicatorが示すプロパティを取り除きます。 remputの効果をひっくり返します。

remが呼び出された時、もしatomindicatorプロパティを持っていたなら、remdoneを返します。もしそんなプロパティを持っていなかったらfalseを返します。

関数: remove (a_1, p_1, ..., a_n, p_n)
関数: remove ([a_1, …, a_m], [p_1, …, p_n], ...)
関数: remove ("a", operator)
関数: remove (a, transfun)
関数: remove (all, p)

アトムに関連づけられたプロパティを取り除きます。

remove (a_1, p_1, ..., a_n, p_n) は、アトムa_kからプロパティp_kを取り除きます。

remove ([a_1, ..., a_m], [p_1, ..., p_n], ...) は、 アトムa_1, …, a_mから プロパティp_1, ..., p_nを 取り除きます。 リストのペアは複数を取り得ます。

remove (all, p)は、 プロパティpを、それを持つアトムすべてから取り除きます。

取り除かれるプロパティは、 function, macro, mode_declareのようなシステム定義のプロパティ かもしれません。 removeputで定義されたプロパティを取り除きません。

翻訳されたLispバージョンの関数を取り除くために プロパティは、transfunを取ることができます。 これを実行した後は、翻訳バージョンでなく、Maximaバージョンの関数が実行されます。

remove ("a", operator)または、同値な, remove ("a", op) は、 aから prefix, infix, nary, postfix, matchfix, nofixが宣言した演算子プロパティを取り除きます。 演算子名はクォートされた文字列として書かれなければいけないことに注意してください。

アトムが指定されたプロパティを持とうが持ちまいが、 removeは、いつもdoneを返します。 この振る舞いは、もっと具体的な削除関数remvalue, remarray, remfunction, remruleと似ていません。

removeは引数をクォートします。

関数: remvalue (name_1, ..., name_n)
関数: remvalue (all)

(添字付きもありえる)ユーザー変数name_1, ..., name_nの値をシステムから 取り除きます。

remvalue (all)は、 removes the values of all variables in values―(Maximaが自動的に割り当てたものと対照的に) ユーザーが名前を与えた変数すべてのリスト― の中の変数すべての値を取り除きます。

valuesも参照してください。

関数: rncombine (expr)

同一の分母や、たがいに数値因子だけことなる分母を持つ exprのすべての項を結合することで、 exprを変換します。 これは、combineの振る舞いとわずかに違います。 combineは、同一分母を持つ項を集めます。

pfeformat: trueを設定し、combineを使うことは、 rncombineを使って得られるものと似た結果をもたらしますが、 rncombineは、 クロス積の数値的分母因子のおまけのステップを実行します。 これは、きれいな形式と、いくつかの相殺を認識する可能性を生みます。

load("rncomb")はこの関数をロードします。

関数: scalarp (expr)

もしexprが、数か、定数、 declarescalarと宣言された変数、 数と定数とそんな変数から完全に構成され、行列やリストを含まない変数なら、 trueを返します。

関数: setup_autoload (filename, function_1, ..., function_n)

もしfunction_1, ..., function_nのいずれかが、 参照されたがまだ定義されていないなら、 loadを通じてfilenameがロードされるように指定します。 filenameは、 強制はされませんが、普通、指定された関数の定義を含みます。

setup_autoloadは配列関数については機能しません。

setup_autoloadは引数をクォートします。

例:

(%i1) legendre_p (1, %pi);
(%o1)                  legendre_p(1, %pi)
(%i2) setup_autoload ("specfun.mac", legendre_p, ultraspherical);
(%o2)                         done
(%i3) ultraspherical (2, 1/2, %pi);
Warning - you are redefining the Macsyma function ultraspherical
Warning - you are redefining the Macsyma function legendre_p
                            2
                 3 (%pi - 1)
(%o3)            ------------ + 3 (%pi - 1) + 1
                      2
(%i4) legendre_p (1, %pi);
(%o4)                          %pi
(%i5) legendre_q (1, %pi);
                              %pi + 1
                      %pi log(-------)
                              1 - %pi
(%o5)                 ---------------- - 1
                             2

Next: , Previous:   [Contents][Index]