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

## Types of indeterminates

An algebraic object is recognized as an indeterminate when it can be a (so-called) variable in polynomials. An ordinary indeterminate is usually denoted by a string that start with a small alphabetical letter followed by an arbitrary number of alphabetical letters, digits or ``_'`. In addition to such ordinary indeterminates, there are other kinds of indeterminates in a wider sense in Asir. Such indeterminates in the wider sense have type polynomial, and further are classified into sub-types of the type indeterminate.

`0`
  ordinary indeterminate
  An object of this sub-type is denoted by a string that start with a small alphabetical letter followed by an arbitrary number of alphabetical letters, digits or ``_'`. This kind of indeterminates are most commonly used for variables of polynomials.

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

`1`
  undetermined coefficient
  The function `uc()` creates an indeterminate which is denoted by a string that begins with ``_'`. Such an indeterminate cannot be directly input by its name. Other properties are the same as those of ordinary indeterminate. Therefore, it has a property that it cannot cause collision with the name of ordinary indeterminates input by the user. And this property is conveniently used to create undetermined coefficients dynamically by programs.

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

`2`
  function form
  A function call to a built-in function or to an user defined function is usually evaluated by Asir and retained in a proper internal form. Some expressions, however, will remain in the same form after evaluation. For example, `sin(x)` and `cos(x+1)` will remain as if they were not evaluated. These (unevaluated) forms are called `function forms' and are treated as if they are indeterminates in a wider sense. Also, special forms such as `@pi` the ratio of circumference and diameter, and `@e` Napier's number, will be treated as `function forms.'

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

`3`
  functor
  A function call (or a function form) has a form fname(args). Here, fname alone is called a functor. There are several kinds of functors: built-in functor, user defined functor and functor for the elementary functions. A functor alone is treated as an indeterminate in a wider sense.

      [6] vtype(sin);
      3

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