2 * Introduction to Miscellaneous Options::
4 * Functions and Variables for Miscellaneous Options::
7 @c -----------------------------------------------------------------------------
8 @node Introduction to Miscellaneous Options, Share, Miscellaneous Options, Miscellaneous Options
9 @section Introduction to Miscellaneous Options
10 @c -----------------------------------------------------------------------------
12 この節では、Maximaの操作上、グローバルな効果を持つ様々なオプションが論じられます。
13 すべてのユーザー定義関数のリストのような様々なリストも論じられます。
15 @c -----------------------------------------------------------------------------
16 @node Share, Functions and Variables for Miscellaneous Options, Introduction to Miscellaneous Options, Miscellaneous Options
18 @c -----------------------------------------------------------------------------
20 Maximaの「共有」ディレクトリは、Maximaユーザーのためのものですが、
21 Maximaのコア実装の部分ではない、プログラムと他のファイルを含みます。
22 これらのプログラムは、通常、 @code{load}や @code{setup_autoload}によってロードされます。
24 @code{:lisp *maxima-sharedir*}は、
25 ユーザーのファイルシステム内の共有ディレクトリの位置を表示します。
27 @c FIXME FIXME FIXME -- WE REALLY NEED AN UP-TO-DATE LIST OF SHARE PACKAGES !!
28 @code{printfile ("share.usg")}は、
29 共有パッケージの期限切れリストを印字します。
31 ファイルシステムブラウザを使って共有ディレクトリをブラウズすることがもっと情報が得られることを知るでしょう。
33 @c -----------------------------------------------------------------------------
34 @node Functions and Variables for Miscellaneous Options, , Share, Miscellaneous Options
35 @section Functions and Variables for Miscellaneous Options
36 @c -----------------------------------------------------------------------------
38 @c -----------------------------------------------------------------------------
40 @defvr {宣言} alphabetic
42 @code{alphabetic}は、 @code{declare}が認識する宣言タイプです。
43 式 @code{declare(@var{s}, alphabetic)}は、Maximaに
44 @var{s}―は文字列でなければいけません―の中の文字のすべてをalphabeticとして認識するように
47 @ref{Identifiers}も参照してください。
53 @c declare ("~`@", alphabetic);
54 @c xx~yy`@ + @yy`xx + `xx@@yy~;
58 (%i1) xx\~yy\`\@@ : 1729;
60 (%i2) declare ("~`@@", alphabetic);
62 (%i3) xx~yy`@@ + @@yy`xx + `xx@@@@yy~;
63 (%o3) `xx@@@@yy~ + @@yy`xx + 1729
65 (%o4) [@@yy`xx, `xx@@@@yy~]
69 @category{Declarations and inferences}
73 @c -----------------------------------------------------------------------------
75 @defvr {オプション変数} genindex
79 必要な時、和の次の変数を生成するために使われる
83 @category{Sums and products}
88 @defvr {オプション変数} gensumnum
94 もし@code{false}に設定されているなら、
95 インデックスは数値接尾辞なしで@code{genindex}だけから成ります。
98 @category{Sums and products}
102 @c -----------------------------------------------------------------------------
104 @deffn {関数} gensym ()
105 @deffnx {関数} gensym (@var{x})
107 @code{gensym()}は新鮮なシンボルを生成し、返します。
111 Lisp内部カウンタの値がデフォルトの数の十進表現である接尾辞の連結です。
113 もし@var{x}が供給されて、それが文字列なら、
115 その文字列は"g"の代わりに接頭辞として使われます。
117 もし@var{x}が供給されて、それが整数なら、
119 内部Lisp整数の値の代わりに接尾辞として使われます。
121 もし陽な接尾辞が供給されないなら、また、その時だけ、
122 Lisp内部整数は、使われた後1だけ増分されます。
142 @c CROSS REF TO WHICH FUNCTION OR FUNCTIONS ESTABLISH PROPERTIES !! (VERY IMPORTANT)
143 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
145 @c -----------------------------------------------------------------------------
147 @deffn {関数} properties (@var{a})
149 アトム@var{a}に関連づけられたプロパティすべての名前のリストを返します。
152 @category{Declarations and inferences}
156 @c CROSS REF TO WHICH FUNCTION OR FUNCTIONS ESTABLISH PROPERTIES !! (VERY IMPORTANT)
157 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
158 @c WHAT IS HIDDEN IN THE "etc" HERE ??
160 @c -----------------------------------------------------------------------------
162 @defvr {特殊シンボル} props
165 @code{declare}関数で指定されたプロパティはもちろん、
166 @code{atvalue}, @code{matchdeclare}, などが指定したような、
167 @code{infolists}で陽に言及されたもの以外の任意のプロパティ、を持つアトムです。
170 @category{Declarations and inferences}
171 @category{Global variables}
175 @c CROSS REF TO WHICH FUNCTION OR FUNCTIONS ESTABLISH PROPERTIES !! (VERY IMPORTANT)
176 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
178 @c -----------------------------------------------------------------------------
180 @deffn {関数} propvars (@var{prop})
183 @var{prop}が示すプロパティを持つアトムのリストを返します。
185 @code{propvars (atvalue)}は、atvalueを持つアトムのリストを返します。
188 @category{Declarations and inferences}
193 @c CROSS REF TO OTHER FUNCTIONS WHICH PUT/GET PROPERTIES !! (VERY IMPORTANT)
194 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
195 @c ARE PROPERTIES ESTABLISHED BY put THE SAME AS PROPERTIES ESTABLISHED BY declare OR OTHER FUNCTIONS ??
196 @c IS put (foo, true, integer) EQUIVALENT TO declare (foo, integer) FOR EXAMPLE ??
198 @c -----------------------------------------------------------------------------
200 @deffn {関数} put (@var{atom}, @var{value}, @var{indicator})
202 @var{value}を@var{atom}の(@var{indicator}が指定する)プロパティに割り当てます。
203 @var{indicator}は、任意のプロパティの名前を取り得ますが、
206 @code{rem}は@code{put}の効果をひっくり返します。
209 @code{put}は@var{value}を返します。
214 (%i1) put (foo, (a+b)^5, expr);
217 (%i2) put (foo, "Hello", str);
219 (%i3) properties (foo);
220 (%o3) [[user properties, str, expr]]
221 (%i4) get (foo, expr);
224 (%i5) get (foo, str);
229 @category{Declarations and inferences}
234 @c -----------------------------------------------------------------------------
236 @deffn {関数} qput (@var{atom}, @var{value}, @var{indicator})
238 @var{value}を@var{atom}の(@var{indicator}が指定する)プロパティに割り当てます。
239 これは、引数がクォートされることを除いて、@code{put}と同じです。
247 (%i4) put (foo, bar, baz);
249 (%i5) properties (aa);
250 (%o5) [[user properties, cc]]
253 (%i7) qput (foo, bar, baz);
255 (%i8) properties (foo);
256 (%o8) [value, [user properties, baz]]
257 (%i9) get ('foo, 'baz);
262 @category{Declarations and inferences}
266 @c CROSS REF TO OTHER FUNCTIONS WHICH PUT/GET PROPERTIES !! (VERY IMPORTANT)
267 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
268 @c HOW DOES THIS INTERACT WITH declare OR OTHER PROPERTY-ESTABLISHING FUNCTIONS ??
269 @c HOW IS THIS DIFFERENT FROM remove ??
271 @c -----------------------------------------------------------------------------
273 @deffn {関数} rem (@var{atom}, @var{indicator})
275 @var{atom}から、@var{indicator}が示すプロパティを取り除きます。
276 @code{rem}は@code{put}の効果をひっくり返します。
278 @code{rem}が呼び出された時、もし@var{atom}が@var{indicator}プロパティを持っていたなら、@code{rem}は@code{done}を返します。もしそんなプロパティを持っていなかったら@code{false}を返します。
281 @category{Declarations and inferences}
285 @c CROSS REF TO OTHER FUNCTIONS WHICH PUT/GET PROPERTIES !! (VERY IMPORTANT)
286 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
287 @c HOW DOES THIS INTERACT WITH declare OR OTHER PROPERTY-ESTABLISHING FUNCTIONS ??
288 @c HOW IS THIS DIFFERENT FROM rem ??
290 @c -----------------------------------------------------------------------------
292 @deffn {関数} remove (@var{a_1}, @var{p_1}, ..., @var{a_n}, @var{p_n})
293 @deffnx {関数} remove ([@var{a_1}, @dots{}, @var{a_m}], [@var{p_1}, @dots{}, @var{p_n}], ...)
294 @deffnx {関数} remove ("@var{a}", operator)
295 @deffnx {関数} remove (@var{a}, transfun)
296 @deffnx {関数} remove (all, @var{p})
297 アトムに関連づけられたプロパティを取り除きます。
299 @code{remove (@var{a_1}, @var{p_1}, ..., @var{a_n}, @var{p_n})}
300 は、アトム@code{a_k}からプロパティ@code{p_k}を取り除きます。
302 @code{remove ([@var{a_1}, ..., @var{a_m}], [@var{p_1}, ..., @var{p_n}], ...)}
304 アトム@var{a_1}, @dots{}, @var{a_m}から
305 プロパティ@code{@var{p_1}, ..., @var{p_n}}を
309 @c VERIFY THAT THIS WORKS AS ADVERTISED
310 @code{remove (all, @var{p})}は、
311 プロパティ@var{p}を、それを持つアトムすべてから取り除きます。
313 @c SHOULD REFER TO A LIST OF ALL SYSTEM-DEFINED PROPERTIES HERE.
315 @code{function}, @code{macro}, @code{mode_declare}のようなシステム定義のプロパティ
317 @code{remove}は@code{put}で定義されたプロパティを取り除きません。
319 @c VERIFY THAT THIS WORKS AS ADVERTISED
320 @c IS transfun PECULIAR TO remove ?? IF SO, SHOW SPECIAL CASE AS @defunx
321 翻訳されたLispバージョンの関数を取り除くために
322 プロパティは、@code{transfun}を取ることができます。
323 これを実行した後は、翻訳バージョンでなく、Maximaバージョンの関数が実行されます。
325 @code{remove ("@var{a}", operator)}または、同値な, @code{remove ("@var{a}", op)}
328 @code{prefix}, @code{infix}, @code{nary}, @code{postfix}, @code{matchfix}, @code{nofix}が宣言した演算子プロパティを取り除きます。
329 演算子名はクォートされた文字列として書かれなければいけないことに注意してください。
331 アトムが指定されたプロパティを持とうが持ちまいが、
332 @code{remove}は、いつも@code{done}を返します。
333 この振る舞いは、もっと具体的な削除関数@code{remvalue}, @code{remarray}, @code{remfunction}, @code{remrule}と似ていません。
335 @code{remove}は引数をクォートします。
337 @c IN SERIOUS NEED OF EXAMPLES HERE
339 @category{Declarations and inferences}
345 @c -----------------------------------------------------------------------------
347 @deffn {関数} remvalue (@var{name_1}, ..., @var{name_n})
348 @deffnx {関数} remvalue (all)
350 (添字付きもありえる)ユーザー変数@var{name_1}, ..., @var{name_n}の値をシステムから
353 @code{remvalue (all)}は、
354 removes the values of all variables in
355 @code{values}―(Maximaが自動的に割り当てたものと対照的に)
356 ユーザーが名前を与えた変数すべてのリスト―
359 @code{values}も参照してください。
362 @category{Evaluation}
368 @c -----------------------------------------------------------------------------
370 @deffn {関数} rncombine (@var{expr})
372 同一の分母や、たがいに数値因子だけことなる分母を持つ
373 @var{expr}のすべての項を結合することで、
375 これは、@code{combine}の振る舞いとわずかに違います。
376 @code{combine}は、同一分母を持つ項を集めます。
378 @code{pfeformat: true}を設定し、@code{combine}を使うことは、
379 @code{rncombine}を使って得られるものと似た結果をもたらしますが、
381 クロス積の数値的分母因子のおまけのステップを実行します。
382 これは、きれいな形式と、いくつかの相殺を認識する可能性を生みます。
384 @code{load("rncomb")}はこの関数をロードします。
387 @category{Expressions}
392 @c NEEDS CLARIFICATION AND EXAMPLES
394 @c -----------------------------------------------------------------------------
396 @deffn {関数} scalarp (@var{expr})
399 @code{declare}で@code{scalar}と宣言された変数、
400 数と定数とそんな変数から完全に構成され、行列やリストを含まない変数なら、
404 @category{Predicate functions}
410 @c -----------------------------------------------------------------------------
411 @anchor{setup_autoload}
412 @deffn {関数} setup_autoload (@var{filename}, @var{function_1}, ..., @var{function_n})
414 もし@var{function_1}, ..., @var{function_n}のいずれかが、
416 @code{load}を通じて@var{filename}がロードされるように指定します。
418 強制はされませんが、普通、指定された関数の定義を含みます。
420 @code{setup_autoload}は配列関数については機能しません。
422 @code{setup_autoload}は引数をクォートします。
426 @c EXAMPLE GENERATED FROM FOLLOWING INPUT
427 @c legendre_p (1, %pi);
428 @c setup_autoload ("specfun.mac", legendre_p, ultraspherical);
429 @c ultraspherical (2, 1/2, %pi);
430 @c legendre_p (1, %pi);
431 @c legendre_q (1, %pi);
433 (%i1) legendre_p (1, %pi);
434 (%o1) legendre_p(1, %pi)
435 (%i2) setup_autoload ("specfun.mac", legendre_p, ultraspherical);
437 (%i3) ultraspherical (2, 1/2, %pi);
438 Warning - you are redefining the Macsyma function ultraspherical
439 Warning - you are redefining the Macsyma function legendre_p
442 (%o3) ------------ + 3 (%pi - 1) + 1
444 (%i4) legendre_p (1, %pi);
446 (%i5) legendre_q (1, %pi);
450 (%o5) ---------------- - 1
455 @category{Function definition}
456 @category{File input}