[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

# 33. Miscellaneous Options

[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

## 33.1 Introduction to Miscellaneous Options

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

[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

## 33.2 Share

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

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

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

[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

## 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~]

  ·

  Categories: Declarations and inferences

オプション変数: genindex

  デフォルト値: `i`

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

  ·

  Categories: Sums and products

オプション変数: gensumnum

  デフォルト値: 0

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

  ·

  Categories: Sums and products

関数: 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に関連づけられたプロパティすべての名前のリストを返します。

  ·

  Categories: Declarations and inferences

特殊シンボル: props

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

  ·

  Categories: Declarations and inferences ·Global variables

関数: propvars (prop)

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

  ·

  Categories: Declarations and inferences

関数: put (atom, value, indicator)

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

  `rem`は `put`の効果をひっくり返します。

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

  例:

      (%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

  ·

  Categories: Declarations and inferences

関数: qput (atom, value, indicator)

  valueを atomの (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

  ·

  Categories: Declarations and inferences

関数: rem (atom, indicator)

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

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

  ·

  Categories: Declarations and inferences

関数: 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`のようなシステム定義のプロパティかもしれません。 `remove`は `put`で定義されたプロパティを取り除きません。

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

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

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

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

  ·

  Categories: Declarations and inferences

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

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

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

  `values`も参照してください。

  ·

  Categories: Evaluation

関数: rncombine (expr)

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

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

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

  ·

  Categories: Expressions

関数: scalarp (expr)

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

  ·

  Categories: Predicate functions ·Vectors ·Matrices

関数: 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

  ·

  Categories: Function definition ·File input

[ << ] | [ >> ] |  |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

この文書は市川 雄二によって2012年1月月5日にtexi2html 1.82を用いて生成されました。