You're not reading the latest revision of this page, which is here.

Function

A function definition, the definition may include variables and other functions.

When an included variable is not defined, it will be a free variable.

Again, the \field{...} command determines how the numbers within the function will be interpreted.

Command

\function[<action>]{<variable>}{<expression>}
  • action see table below
  • variable variable name for the function
  • expression definition of the function

Example

\function[normalize]{f}{x*x+3+4+0*z}

$$f = x^2 + 7$$

Actions

1
2
3
4
5
\begin{variables}
  \number{a}{1}
  \number{b}{3}
  \function[...]{...}{...}
\end{variables}
Action Description Example
replace Replace all variables in the expression (this is the default action and can be omitted) \function[replace]{f}{a/b}
$f = \frac{1}{3}$
normalize Replaces all variables and normalizes the expression. Normalize applies the following rules.) \function[normalize]{f}{x*x+3+4+0*z}
$f = x^2 + 7$
expand Replaces all variables and expands the expression. Expand applies the following rules.) \function[expand, normalize]{f}{(x-1)(x-2)}
$f = x^2 - 3x + 2$
sort Replaces all variables and sorts the expression. \function[sort]{f}{c-b+a*c*b}
$f = abc - b + c$
calculate Replaces all variables and calculates the expression. Using this option will always result in a number, in the case where a variable is undefined it takes the value 0. \function[calculate]{f}{a/b}
$f = 0.333333333333333$

amount of digit

Amount of digits

Functions evaluated with the calulate option will show the result with 15 digits behind the decimal mark.

This is undesired when you want to output this value on the screen. In order to reduce the amount of digits behind the
decimal mark, you can provide a second (optional) parameter that in order to change this precision, the calculated result
will then be rounded to this precision.

More details on precision can be found here
Rounding

Optional Second parameter

  • number Rounds the calculated result to the given number. This number must be higher then the specified corrector precision.
  • display Rounds the calculated result to the specified display precision.
1
2
3
4
5
6
7
8
\number{a}{1}
\number{b}{3}
\function[calculate, 3]{f}{a/b}
 
% instead of a number one can use the option display
% the result will then be displayed based on \displayprecision
 
\function[calculate, display]{f}{a/b}

$$f = 0.333$$