## List of functions

The following is a list of all variables, constants, operators and functions supported by the program. The list of operators shows the operators with the highest precedence first. The precedence of operators can be changed through the use of brackets. (), {} and [] may all be used alike. Notice that expressions in Graph are case insensitive, i.e. there are no difference between upper and lower case characters. The only exception is `e` as Euler's constant and E as the exponent in a number in scientific notation.

ConstantDescription
`x`The independent variable used in standard functions.
`t`The independent variable called parameter for parametric functions and polar angle for polar functions.
`e`Euler's constant. In this program defined as e=2.718281828459045235360287
`pi`The constant π, which in this program is defined as pi=3.141592653589793238462643
`undef`Always returns an error. Used to indicate that part of a function is undefined.
`i`The imaginary unit. Defined as i2 = -1. Only useful when working with complex numbers.
`inf`The constant for infinity. Only useful as argument to the `integrate` function.
randEvaluates to a random number between 0 and 1.

OperatorDescription
Exponentiation (^)Raise to the power of an exponent. Example: f(x)=2^x
Negation (-)The negative value of a factor. Example: f(x)=-x
Logical NOT (not)`not` `a` evaluates to 1 if `a` is zero, and evaluates to 0 otherwise.
Multiplication (*)Multiplies two factors. Example: f(x)=2*x
Division (/)Divides two factors. Example: f(x)=2/x
Subtraction (-)Subtracts two terms. Example: f(x)=2-x
Greater than (>)Indicates if an expression is greater than another expression.
Greater than or equal to (>=)Indicates if an expression is greater or equal to another expression.
Less than (<)Indicates if an expression is less than another expression.
Less than or equal to (<=)Indicates if an expression is less or equal to another expression.
Equal (=)Indicates if two expressions evaluate to the exact same value.
Not equal (<>)Indicates if two expressions does not evaluate to the exact same value.
Logical AND (and) `a` `and` `b` evaluates to 1 if both `a` and `b` are non-zero, and evaluates to 0 otherwise.
Logical OR (or) `a` `or` `b` evaluates to 1 if either `a` or `b` are non-zero, and evaluates to 0 otherwise.
Logical XOR (xor) `a` `xor` `b` evaluates to 1 if either `a` or `b`, but not both, are non-zero, and evaluates to 0 otherwise.

FunctionDescription
Trigonometric
sinReturns the sine of the argument, which may be in radians or degrees.
cosReturns the cosine of the argument, which may be in radians or degrees.
tanReturns the tangent of the argument, which may be in radians or degrees.
asinReturns the inverse sine of the argument. The returned value may be in radians or degrees.
acosReturns the inverse cosine of the argument. The returned value may be in radians or degrees.
atanReturns the inverse tangent of the argument. The returned value may be in radians or degrees.
secReturns the secant of the argument, which may be in radians or degrees.
cscReturns the cosecant of the argument, which may be in radians or degrees.
cotReturns the cotangent of the argument, which may be in radians or degrees.
asecReturns the inverse secant of the argument. The returned value may be in radians or degrees.
acscReturns the inverse cosecant of the argument. The returned value may be in radians or degrees.
acotReturns the inverse cotangent of the argument. The returned value may be in radians or degrees.
Hyperbolic
sinhReturns the hyperbolic sine of the argument.
coshReturns the hyperbolic cosine of the argument.
tanhReturns the hyperbolic tangent of the argument.
asinhReturns the inverse hyperbolic sine of the argument.
acoshReturns the inverse hyperbolic cosine of the argument.
atanhReturns the inverse hyperbolic tangent of the argument.
cschReturns the hyperbolic cosecant of the argument.
sechReturns the hyperbolic secant of the argument.
cothReturns the hyperbolic cotangent of the argument.
acschReturns the inverse hyperbolic cosecant of the argument.
asechReturns the inverse hyperbolic secant of the argument.
acothReturns the inverse hyperbolic cotangent of the argument.
Power and Logarithm
sqrReturns the square of the argument, i.e. the power of two.
expReturns e raised to the power of the argument.
sqrtReturns the square root of the argument.
rootReturns the nth root of the argument.
lnReturns the logarithm with base e to the argument.
logReturns the logarithm with base 10 to the argument.
logbReturns the logarithm with base n to the argument.
Complex
absReturns the absolute value of the argument.
argReturns the angle of the argument in radians or degrees.
conjReturns the conjugate of the argument.
reReturns the real part of the argument.
imReturns the imaginary part of the argument.
Rounding
truncReturns the integer part of the argument.
fractReturns the fractional part of the argument.
ceilRounds the argument up to nearest integer.
floorRounds the argument down to the nearest integer.
roundRounds the first argument to the number of decimals given by the second argument.
Piecewise
signReturns the sign of the argument: 1 if the argument is greater than 0, and -1 if the argument is less than 0.
uUnit step: Returns 1 if the argument is greater than or equal 0, and 0 otherwise.
minReturns the smallest of the arguments.
maxReturns the greatest of the arguments.
rangeReturns the second argument if it is in the range of the first and third argument.
ifReturns the second argument if the first argument does not evaluate to 0; Else the third argument is returned.
Special
integrateReturns the numeric integral of the first argument from the second argument to the third argument.
sumReturns the sum of the first argument evaluated for each integer in the range from the second to the third argument.
productReturns the product of the first argument evaluated for each integer in the range from the second to the third argument.
factReturns the factorial of the argument.
gammaReturns the Euler gamma function of the argument.
betaReturns the beta function evaluated for the arguments.
WReturns the Lambert W-function evaluated for the argument.
zetaReturns the Riemann Zeta function evaluated for the argument.
modReturns the remainder of the first argument divided by the second argument.
dnormReturns the normal distribution of the first argument with optional mean value and standard deviation.

### Notice the following relations:

 sin(x)^2= (sin(x))^2 sin 2x = sin(2x) sin 2+x = sin(2)+x sin x^2 = sin(x^2) 2(x+3)x = 2*(x+3)*x -x^2 = -(x^2) 2x = 2*x 1/2x = 1/(2*x) e^2x = e^(2*x) x^2^3 = x^(2^3)