Examples cleanup
[maxima.git] / doc / info / ja / Miscellaneous.texi
blob3b0b13dd59f21e51956f578d68c5a33b5ae4cd19
1 @menu
2 * Introduction to Miscellaneous Options::  
3 * Share::                       
4 * Functions and Variables for Miscellaneous Options::  
5 @end menu
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
17 @section Share
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 共有パッケージの期限切れリストを印字します。
30 ユーザーは、
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 -----------------------------------------------------------------------------
39 @anchor{alphabetic}
40 @defvr {宣言} alphabetic
42 @code{alphabetic}は、 @code{declare}が認識する宣言タイプです。
43 式 @code{declare(@var{s}, alphabetic)}は、Maximaに
44 @var{s}―は文字列でなければいけません―の中の文字のすべてをalphabeticとして認識するように
45 命じます。
47 @ref{Identifiers}も参照してください。
49 例:
51 @c ===beg===
52 @c xx\~yy\`\@ : 1729;
53 @c declare ("~`@", alphabetic);
54 @c xx~yy`@ + @yy`xx + `xx@@yy~;
55 @c listofvars (%);
56 @c ===end===
57 @example
58 (%i1) xx\~yy\`\@@ : 1729;
59 (%o1)                         1729
60 (%i2) declare ("~`@@", alphabetic);
61 (%o2)                         done
62 (%i3) xx~yy`@@ + @@yy`xx + `xx@@@@yy~;
63 (%o3)               `xx@@@@yy~ + @@yy`xx + 1729
64 (%i4) listofvars (%);
65 (%o4)                  [@@yy`xx, `xx@@@@yy~]
66 @end example
68 @opencatbox
69 @category{Declarations and inferences}
70 @closecatbox
71 @end defvr
73 @c -----------------------------------------------------------------------------
74 @anchor{genindex}
75 @defvr {オプション変数} genindex
76 デフォルト値: @code{i}
78 @code{genindex}は、
79 必要な時、和の次の変数を生成するために使われる
80 アルファベットの接頭辞です。
82 @opencatbox
83 @category{Sums and products}
84 @closecatbox
85 @end defvr
87 @anchor{gensumnum}
88 @defvr {オプション変数} gensumnum
89 デフォルト値: 0
91 @code{gensumnum}は、
92 和の次の変数を生成するために使われる
93 数値接尾辞です。
94 もし@code{false}に設定されているなら、
95 インデックスは数値接尾辞なしで@code{genindex}だけから成ります。
97 @opencatbox
98 @category{Sums and products}
99 @closecatbox
100 @end defvr
102 @c -----------------------------------------------------------------------------
103 @anchor{gensym}
104 @deffn  {関数} gensym ()
105 @deffnx {関数} gensym (@var{x})
107 @code{gensym()}は新鮮なシンボルを生成し、返します。
109 新しいシンボルの名前は、
110 デフォルトでは"g"の接頭辞と
111 Lisp内部カウンタの値がデフォルトの数の十進表現である接尾辞の連結です。
113 もし@var{x}が供給されて、それが文字列なら、
114 このgensymへの呼び出しに限って、
115 その文字列は"g"の代わりに接頭辞として使われます。
117 もし@var{x}が供給されて、それが整数なら、
118 このgensymへの呼び出しに限って、
119 内部Lisp整数の値の代わりに接尾辞として使われます。
121 もし陽な接尾辞が供給されないなら、また、その時だけ、
122 Lisp内部整数は、使われた後1だけ増分されます。
124 例:
126 @c ===beg===
127 @c gensym();
128 @c gensym("new");
129 @c gensym(123);
130 @c ===end===
131 @example
132 (%i1) gensym();
133 (%o1)                         g887
134 (%i2) gensym("new");
135 (%o2)                        new888
136 (%i3) gensym(123);
137 (%o3)                         g123
138 @end example
139 @end deffn
142 @c CROSS REF TO WHICH FUNCTION OR FUNCTIONS ESTABLISH PROPERTIES !! (VERY IMPORTANT)
143 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
145 @c -----------------------------------------------------------------------------
146 @anchor{properties}
147 @deffn {関数} properties (@var{a})
149 アトム@var{a}に関連づけられたプロパティすべての名前のリストを返します。
151 @opencatbox
152 @category{Declarations and inferences}
153 @closecatbox
154 @end deffn
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 -----------------------------------------------------------------------------
161 @anchor{props}
162 @defvr {特殊シンボル} props
164 @code{props}は、
165 @code{declare}関数で指定されたプロパティはもちろん、
166 @code{atvalue}, @code{matchdeclare}, などが指定したような、
167 @code{infolists}で陽に言及されたもの以外の任意のプロパティ、を持つアトムです。
169 @opencatbox
170 @category{Declarations and inferences} @category{Global variables}
171 @closecatbox
172 @end defvr
174 @c CROSS REF TO WHICH FUNCTION OR FUNCTIONS ESTABLISH PROPERTIES !! (VERY IMPORTANT)
175 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
177 @c -----------------------------------------------------------------------------
178 @anchor{propvars}
179 @deffn {関数} propvars (@var{prop})
181 @code{props}リスト上の、
182 @var{prop}が示すプロパティを持つアトムのリストを返します。
183 従って,
184 @code{propvars (atvalue)}は、atvalueを持つアトムのリストを返します。
186 @opencatbox
187 @category{Declarations and inferences}
188 @closecatbox
190 @end deffn
192 @c CROSS REF TO OTHER FUNCTIONS WHICH PUT/GET PROPERTIES !! (VERY IMPORTANT)
193 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
194 @c ARE PROPERTIES ESTABLISHED BY put THE SAME AS PROPERTIES ESTABLISHED BY declare OR OTHER FUNCTIONS ??
195 @c IS put (foo, true, integer) EQUIVALENT TO declare (foo, integer) FOR EXAMPLE ??
197 @c -----------------------------------------------------------------------------
198 @anchor{put}
199 @deffn {関数} put (@var{atom}, @var{value}, @var{indicator})
201 @var{value}を@var{atom}の(@var{indicator}が指定する)プロパティに割り当てます。
202 @var{indicator}は、任意のプロパティの名前を取り得ますが、
203 システム定義のプロパティは取りません。
205 @code{rem}は@code{put}の効果をひっくり返します。
207 @code{put}は引数を評価します。
208 @code{put}は@var{value}を返します。
210 例:
212 @example
213 (%i1) put (foo, (a+b)^5, expr);
214                                    5
215 (%o1)                       (b + a)
216 (%i2) put (foo, "Hello", str);
217 (%o2)                         Hello
218 (%i3) properties (foo);
219 (%o3)            [[user properties, str, expr]]
220 (%i4) get (foo, expr);
221                                    5
222 (%o4)                       (b + a)
223 (%i5) get (foo, str);
224 (%o5)                         Hello
225 @end example
227 @opencatbox
228 @category{Declarations and inferences}
229 @closecatbox
231 @end deffn
233 @c -----------------------------------------------------------------------------
234 @anchor{qput}
235 @deffn {関数} qput (@var{atom}, @var{value}, @var{indicator})
237 @var{value}を@var{atom}の(@var{indicator}が指定する)プロパティに割り当てます。
238 これは、引数がクォートされることを除いて、@code{put}と同じです。
240 例:
242 @example
243 (%i1) foo: aa$ 
244 (%i2) bar: bb$
245 (%i3) baz: cc$
246 (%i4) put (foo, bar, baz);
247 (%o4)                          bb
248 (%i5) properties (aa);
249 (%o5)                [[user properties, cc]]
250 (%i6) get (aa, cc);
251 (%o6)                          bb
252 (%i7) qput (foo, bar, baz);
253 (%o7)                          bar
254 (%i8) properties (foo);
255 (%o8)            [value, [user properties, baz]]
256 (%i9) get ('foo, 'baz);
257 (%o9)                          bar
258 @end example
260 @opencatbox
261 @category{Declarations and inferences}
262 @closecatbox
263 @end deffn
265 @c CROSS REF TO OTHER FUNCTIONS WHICH PUT/GET PROPERTIES !! (VERY IMPORTANT)
266 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
267 @c HOW DOES THIS INTERACT WITH declare OR OTHER PROPERTY-ESTABLISHING FUNCTIONS ??
268 @c HOW IS THIS DIFFERENT FROM remove ??
270 @c -----------------------------------------------------------------------------
271 @anchor{rem}
272 @deffn {関数} rem (@var{atom}, @var{indicator})
274 @var{atom}から、@var{indicator}が示すプロパティを取り除きます。
275 @code{rem}は@code{put}の効果をひっくり返します。
277 @code{rem}が呼び出された時、もし@var{atom}が@var{indicator}プロパティを持っていたなら、@code{rem}は@code{done}を返します。もしそんなプロパティを持っていなかったら@code{false}を返します。
279 @opencatbox
280 @category{Declarations and inferences}
281 @closecatbox
282 @end deffn
284 @c CROSS REF TO OTHER FUNCTIONS WHICH PUT/GET PROPERTIES !! (VERY IMPORTANT)
285 @c NEEDS EXPANSION, CLARIFICATION, AND EXAMPLES
286 @c HOW DOES THIS INTERACT WITH declare OR OTHER PROPERTY-ESTABLISHING FUNCTIONS ??
287 @c HOW IS THIS DIFFERENT FROM rem ??
289 @c -----------------------------------------------------------------------------
290 @anchor{remove}
291 @deffn  {関数} remove (@var{a_1}, @var{p_1}, ..., @var{a_n}, @var{p_n})
292 @deffnx {関数} remove ([@var{a_1}, @dots{}, @var{a_m}], [@var{p_1}, @dots{}, @var{p_n}], ...)
293 @deffnx {関数} remove ("@var{a}", operator)
294 @deffnx {関数} remove (@var{a}, transfun)
295 @deffnx {関数} remove (all, @var{p})
296 アトムに関連づけられたプロパティを取り除きます。
298 @code{remove (@var{a_1}, @var{p_1}, ..., @var{a_n}, @var{p_n})}
299 は、アトム@code{a_k}からプロパティ@code{p_k}を取り除きます。
301 @code{remove ([@var{a_1}, ..., @var{a_m}], [@var{p_1}, ..., @var{p_n}], ...)}
302 は、
303 アトム@var{a_1}, @dots{}, @var{a_m}から
304 プロパティ@code{@var{p_1}, ..., @var{p_n}}を
305 取り除きます。
306 リストのペアは複数を取り得ます。
308 @c VERIFY THAT THIS WORKS AS ADVERTISED
309 @code{remove (all, @var{p})}は、
310 プロパティ@var{p}を、それを持つアトムすべてから取り除きます。
312 @c SHOULD REFER TO A LIST OF ALL SYSTEM-DEFINED PROPERTIES HERE.
313 取り除かれるプロパティは、
314 @code{function}, @code{macro}, @code{mode_declare}のようなシステム定義のプロパティ
315 かもしれません。
316 @code{remove}は@code{put}で定義されたプロパティを取り除きません。
318 @c VERIFY THAT THIS WORKS AS ADVERTISED
319 @c IS transfun PECULIAR TO remove ?? IF SO, SHOW SPECIAL CASE AS @defunx
320 翻訳されたLispバージョンの関数を取り除くために
321 プロパティは、@code{transfun}を取ることができます。
322 これを実行した後は、翻訳バージョンでなく、Maximaバージョンの関数が実行されます。
324 @code{remove ("@var{a}", operator)}または、同値な, @code{remove ("@var{a}", op)}
325 は、
326 @var{a}から
327 @code{prefix}, @code{infix}, @code{nary}, @code{postfix}, @code{matchfix}, @code{nofix}が宣言した演算子プロパティを取り除きます。
328 演算子名はクォートされた文字列として書かれなければいけないことに注意してください。
330 アトムが指定されたプロパティを持とうが持ちまいが、
331 @code{remove}は、いつも@code{done}を返します。
332 この振る舞いは、もっと具体的な削除関数@code{remvalue}, @code{remarray}, @code{remfunction}, @code{remrule}と似ていません。
334 @code{remove}は引数をクォートします。
336 @c IN SERIOUS NEED OF EXAMPLES HERE
337 @opencatbox
338 @category{Declarations and inferences}
339 @closecatbox
340 @end deffn
342 @c NEEDS EXAMPLES
344 @c -----------------------------------------------------------------------------
345 @anchor{remvalue}
346 @deffn  {関数} remvalue (@var{name_1}, ..., @var{name_n})
347 @deffnx {関数} remvalue (all)
349 (添字付きもありえる)ユーザー変数@var{name_1}, ..., @var{name_n}の値をシステムから
350 取り除きます。
352 @code{remvalue (all)}は、
353  removes the values of all variables in 
354 @code{values}―(Maximaが自動的に割り当てたものと対照的に)
355 ユーザーが名前を与えた変数すべてのリスト―
356 の中の変数すべての値を取り除きます。
358 @code{values}も参照してください。
360 @opencatbox
361 @category{Evaluation}
362 @closecatbox
363 @end deffn
365 @c NEEDS EXAMPLES
367 @c -----------------------------------------------------------------------------
368 @anchor{rncombine}
369 @deffn {関数} rncombine (@var{expr})
371 同一の分母や、たがいに数値因子だけことなる分母を持つ
372 @var{expr}のすべての項を結合することで、
373 @var{expr}を変換します。
374 これは、@code{combine}の振る舞いとわずかに違います。
375 @code{combine}は、同一分母を持つ項を集めます。
377 @code{pfeformat: true}を設定し、@code{combine}を使うことは、
378 @code{rncombine}を使って得られるものと似た結果をもたらしますが、
379 @code{rncombine}は、
380 クロス積の数値的分母因子のおまけのステップを実行します。
381 これは、きれいな形式と、いくつかの相殺を認識する可能性を生みます。
383 @code{load(rncomb)}はこの関数をロードします。
385 @opencatbox
386 @category{Expressions}
387 @closecatbox
389 @end deffn
391 @c NEEDS CLARIFICATION AND EXAMPLES
393 @c -----------------------------------------------------------------------------
394 @anchor{scalarp}
395 @deffn {関数} scalarp (@var{expr})
397 もし@var{expr}が、数か、定数、
398 @code{declare}で@code{scalar}と宣言された変数、
399 数と定数とそんな変数から完全に構成され、行列やリストを含まない変数なら、
400 @code{true}を返します。
402 @opencatbox
403 @category{Predicate functions} @category{Vectors} @category{Matrices}
404 @closecatbox
405 @end deffn
407 @c -----------------------------------------------------------------------------
408 @anchor{setup_autoload}
409 @deffn {関数} setup_autoload (@var{filename}, @var{function_1}, ..., @var{function_n})
411 もし@var{function_1}, ..., @var{function_n}のいずれかが、
412 参照されたがまだ定義されていないなら、
413 @code{load}を通じて@var{filename}がロードされるように指定します。
414 @var{filename}は、
415 強制はされませんが、普通、指定された関数の定義を含みます。
417 @code{setup_autoload}は配列関数については機能しません。
419 @code{setup_autoload}は引数をクォートします。
421 例:
423 @c EXAMPLE GENERATED FROM FOLLOWING INPUT
424 @c legendre_p (1, %pi);
425 @c setup_autoload ("specfun.mac", legendre_p, ultraspherical);
426 @c ultraspherical (2, 1/2, %pi);
427 @c legendre_p (1, %pi);
428 @c legendre_q (1, %pi);
429 @example
430 (%i1) legendre_p (1, %pi);
431 (%o1)                  legendre_p(1, %pi)
432 (%i2) setup_autoload ("specfun.mac", legendre_p, ultraspherical);
433 (%o2)                         done
434 (%i3) ultraspherical (2, 1/2, %pi);
435 Warning - you are redefining the Macsyma function ultraspherical
436 Warning - you are redefining the Macsyma function legendre_p
437                             2
438                  3 (%pi - 1)
439 (%o3)            ------------ + 3 (%pi - 1) + 1
440                       2
441 (%i4) legendre_p (1, %pi);
442 (%o4)                          %pi
443 (%i5) legendre_q (1, %pi);
444                               %pi + 1
445                       %pi log(-------)
446                               1 - %pi
447 (%o5)                 ---------------- - 1
448                              2
449 @end example
451 @opencatbox
452 @category{Function definition} @category{File input}
453 @closecatbox
454 @end deffn