Go to the first, previous, next, last section, table of contents.

## 不定元の型

多項式の変数となり得る対象を不定元とよぶ. Asir では, 英小文字で始まり, 任意個のアルファベット, 数字, ``_'` からなる文字列 を不定元として扱うが, その他にもシステムにより不定元として扱われるもの がいくつかある. Asir の内部形式としては, これらは全て多項式としての 型を持つが, 数と同様, 不定元の型により区別される.

`0`
  一般不定元
  英小文字で始まる文字列. 多項式の変数として最も普通に用いられる.

      [0] [vtype(a),vtype(aA_12)];
      [0,0]

`1`
  未定係数
  `uc()` は, ``_'` で始まる文字列を名前とする不定元を生成する. これらは, ユーザが入力できないというだけで, 一般不定元と変わらないが, ユーザが入力した不定元と衝突しないという性質を利用して未定係数の 自動生成などに用いることができる.

      [1] U=uc();
      _0
      [2] vtype(U);
      1

`2`
  函数形式
  組み込み函数, ユーザ函数の呼び出しは, 評価されて何らかの Asir の 内部形式に変換されるが, `sin(x)`, `cos(x+1)` などは, 評価後 もそのままの形で存在する. これは函数形式と呼ばれ, それ自身が 1 つの 不定元として扱われる. またやや特殊な例として, 円周率 `@pi` や 自然対数の底 `@e` も函数形式として扱われる.

      [3] V=sin(x);
      sin(x)
      [4] vtype(V);
      2
      [5] vars(V^2+V+1);
      [sin(x)]

`3`
  函数子
  函数呼び出しは, fname(args) という形で行なわれるが, fname の 部分を函数子と呼ぶ. 函数子には, 函数の種類により組み込み函数子, ユーザ定義函数子, 初等函数子などがあるが, 函数子は単独で不定元として 機能する.

      [6] vtype(sin);
      3

Go to the first, previous, next, last section, table of contents.