Other mathematical functions

Top  Previous  Next

In the following table the Endogenous Classification (second column) specifies in which models the function can legally appear with endogenous (non-constant) arguments. In order of least to most restrictive, the choices are any, NLP, DNLP or none.

 

The following conventions are used for the function arguments:

Lower case indicates that an endogenous variable is allowed. Upper case indicates that a constant argument is required. The arguments in square brackets can be omitted optional and otherwise default values will be used. Those default values are specified in the function description.

 

Function

Endogenous

Classification

Description

arccos(x)

NLP

returns the inverse cosine of the argument x where x is a real number between -1 and 1 and the output is in radians, see MathWorld

arcsin(x)

NLP

returns the inverse sine of the argument x where x is a real number between -1 and 1 and the output is in radians, see MathWorld

arctan(x)

NLP

returns the inverse tangent of the argument x where x is a real number and the output is in radians, see MathWorld

arctan2(y,x)

NLP

four-quadrant arctan function yielding arctangent(y/x) which is the angle the vector (x,y) makes with (1,0) in radians

Beta(x,y)

DNLP

beta function as discussed in MathWorld

betaReg(x,y,z)

NLP

regularized beta function, see MathWorld

binomial(n,k)

NLP

returns the (generalized) binomial coefficient for n,k ≥ 0

ceil(x)

DNLP

returns the smallest integer number greater than or equal to x

centropy(x,y[,Z])

NLP

cross entropy: x*ln((x+Z)+(y+Z)), default setting: Z = 0

cos(x)

NLP

returns the cosine of the argument x where x must be in radians, see MathWorld

cosh(x)

NLP

returns the hyperbolic cosine of x where x must be in radians, see MathWorld

cvPower(X,y)

NLP

returns X^y, another possible command is 'X**y'

div(dividend,divisor)

NLP

returns dividend/divisor, undefined for divisor = 0

div0(dividend,divisor)

NLP

returns dividend/divisor, returns 1e299 for divisor = 0

eDist(x1[,x2,x3,x4,x5,x6])

NLP

Euclidean or L-2 Norm, see MathWorld, default setting: x2,x3,x4,x5,x6 = 0

entropy(x)

NLP

entropy: -x*ln(x)

errorf(x)

NLP

calculates the integral of the standard normal distribution from negative infinity to x, see MathWorld

fact(X)

any

returns the factorial of X where X is an integer

floor(x)

DNLP

returns the greatest integer number less than or equal to x

frac(x)

DNLP

returns the fractional part of x

gamma(x)

DNLP

gamma function as discussed in MathWorld

gammaReg(x,a)

NLP

regularized gamma function, see MathWorld

logBeta(x,y)

NLP

log beta function: log(B(x, y))

logGamma(x)

NLP

log gamma function as discussed in Mathworld

mapVal(x)

none

Function that returns an integer value associated with a numerical result that can contain special values. Possible values are:

0 for all regular numbers
4 for UNDF which means undefined
5 for NA which means not available
6 for INF which means plus infinity
7 for -INF which means minus infinity
8 for EPS which means very close to zero but different from zero

mod(x,y)

DNLP

returns the remainder of x divided by y

ncpCM(x,y,Z)

NLP

function that computes a Chen-Mangasarian smoothing equaling: x - Z*ln(1+exp((x-y)/Z)

ncpF(x,y[,Z])

NLP

function that computes a Fisher smoothing equaling: sqrt(x^2 + y^2 + 2*Z) - x - y

ncpVUpow(r,s[,MU])

NLP

NCP Veelken-Ulbrich smoothed min:

where t=r-s, default setting: MU = 0

ncpVUsin(r,s[,MU])

NLP

NCP Veelken-Ulbrich smoothed min:

where t=r-s, default setting: MU = 0

normal(MEAN,STDDEV)

none

generates a random number with normal distribution with mean MEAN and standard deviation STDDEV, see MathWorld

pi

any

value of π = 3,141593...

poly(x,A0,A1,A2[,A3,A4])

NLP

computes a polynomial over scalar x, result = A0+A1*x+A2*x^2..., this has a maximum of 6 arguments, default setting: A3,A4 = 0

power(x,Y)

NLP

returns x^Y where Y must be an integer, another possible command is 'x**Y'

randBinomial(N,P)

none

generates a random number with binomial distribution where n is the number of trials and p the probability of success for each trial, see MathWorld

randLinear(LOW,SLOPE,HIGH)

none

generates a random number between LOW and HIGH with linear distribution, SLOPE must be greater than 2/(HIGH-LOW),

randTriangle(LOW,MID,HIGH)

none

generates a random number between LOW and HIGH with triangular distribution, MID is the most probable number, see MathWorld

rPower(x,y)

NLP

returns x^y for x,y≥0, another possible command is 'x**y'

sigmoid(x)

NLP

sigmoid function as discussed in MathWorld

sign(x)

DNLP

sign of x, returns 1 if x > 0, -1 if x < 0  and 0 if x = 0

signPower(x,Y)

NLP

signed power, another possible command is 'sign(x)*abs(x)**Y', where Y must be greater than 0

sin(x)

NLP

returns the sine of the argument x where x must be in radians, see MathWorld

sinh(x)

NLP

returns the hyperbolic sine of x where x must be in radians, see MathWorld

slexp(x[,SP])

NLP

smooth (linear) exponential function, SP means smoothing parameter,

default setting: SP = 150

sllog10(x[,SP])

NLP

smooth (linear) logarithm base 10, SP means smoothing parameter,

default setting: SP = 10^-150

slrec(x[,SP])

NLP

smooth (linear) reciprocal, SP means smoothing parameter,

default setting: SP = 10^-10

sqexp(x[,SP])

NLP

smooth (quadratic) exponential funtion, SP means smoothing parameter,

default setting: SP = 150

sqlog10(x[,SP])

NLP

smooth (quadratic) logarithm base 10, SP means smoothing parameter,

default setting: SP = 10^-150

sqrec(x[,SP])

NLP

smooth (quadratic) reciprocal, SP means smoothing parameter,

default setting: SP = 10^-10

tan(x)

NLP

returns the tangent of the argument x where x must be in radians, see MathWorld

tanh(x)

NLP

returns the hyperbolic tangent of x where x must be in radians, see MathWorld

trunc(x)

DNLP

truncation, removes decimals from x

uniform(LOW,HIGH)

none

generates a random number between LOW and HIGH with uniform distribution, see MathWorld

uniformInt(LOW,HIGH)

none

generates an integer random number between LOW and HIGH with uniform distribution, see MathWorld

vcPower(x,Y)

NLP

returns x^Y for x≥0, another possible command is 'x**Y'