GeneXproTools 4.0 offers a total of 279 built-in mathematical
functions, including 186 different IF THEN ELSE rules, that can
be used for designing nonlinear regression models. This wide set of
mathematical functions allows the evolution of complex and rigorous
models quickly built with the most appropriate functions.
The Function Selection Tool of GeneXproTools 4.0 helps you selecting
different function sets very quickly through the combination of the
Show options with the Random/Default/Clear/Select All buttons plus
the Increase/Reduce Weight buttons in the Functions
Panel. Furthermore, GeneXproTools automatically balances your
function set with the number of independent variables in your data,
so now you just have to select the right functions for your problem
and then choose their relative proportions by adjusting their
weights.
Despite the wide set of GeneXproTools built-in mathematical
functions, some users sometimes want to model with different ones.
GeneXproTools 4.0 gives the user the possibility of creating custom
tailored functions (Dynamic UDFs or
DDFs) and evolve models with them. A note of caution though: the use
of DDFs slows considerably the evolutionary process and therefore
should be used with moderation.
Below are listed all the 279 built-in mathematical functions
available in GeneXproTools 4.0, including their representation in
Karva Notation
(shown in red) and their mathematical definition (for more details
about their implementations, see the built-in
grammars of GeneXproTools):
Basic arithmetic functions:
- Addition (+): (x+y)
- Subtraction (-): (x-y)
- Multiplication (*): (x*y)
- Division (/): (x/y)
- Addition with 3 inputs (Add3): (x+y+z)
- Subtraction with 3 inputs (Sub3):
(x-y-z)
- Multiplication with 3 inputs (Mul3):
(x*y*z)
- Division with 3 inputs (Div3):
(x/y/z)
- Addition with 4 inputs (Add4): (a+b+c+d)
- Subtraction with 4 inputs (Sub4):
(a-b-c-d)
- Multiplication with 4 inputs (Mul4):
(a*b*c*d)
- Division with 4 inputs (Div4):
(a/b/c/d)
Logarithmic functions:
- Natural logarithm (Ln): ln(x)
- Logarithm of base 10 (Log): log(x)
- Logarithm(x,y) (Log2):
log(x,y)
Exponential and power functions:
- Square root (Sqrt): sqrt(x)
- Exponential (Exp): exp(x)
- Power (Pow): xy
- 10x (Pow10): 10x
- x2 (X2): x2
- x3 (X3): x3
- x4 (X4): x4
- x5 (X5): x5
- Cube root (3Rt): x(1/3)
- Quartic root (4Rt): x(1/4)
- Quintic root (5Rt): x(1/5)
- Logistic(x) (Logi):
logistic(x)
- Logistic(x,y) (Logi2):
logistic(x,y)
- Logistic(x,y,z) (Logi3):
logistic(x,y,z)
- Logistic(a,b,c,d) (Logi4):
logistic(a,b,c,d)
- Gaussian(x) (Gau):
gaussian(x)
- Gaussian(x,y) (Gau2):
gaussian(x,y)
- Gaussian(x,y,z) (Gau3):
gaussian(x,y,z)
- Gaussian(a,b,c,d) (Gau4):
gaussian(a,b,c,d)
Rounding and other simple functions:
- Floor (Floor): floor(x)
- Ceiling (Ceil): ceil(x)
- Floating-point remainder (Mod):
mod(x,y)
- Absolute value (Abs): abs(x)
- Inverse (Inv): 1/x
- Negation (Neg): -x
- Complement (NOT): (1-x)
- No operation (Nop): x
Minimum, maximum, and average functions:
- Minimum of 2 inputs (Min2): min(x,y)
- Minimum of 3 inputs (Min3): min(x,y,z)
- Minimum of 4 inputs (Min4): min(a,b,c,d)
- Maximum of 2 inputs (Max2): max(x,y)
- Maximum of 3 inputs (Max3): max(x,y,z)
- Maximum of 4 inputs (Max4): max(a,b,c,d)
- Average of 2 inputs (Avg2): avg(x,y)
- Average of 3 inputs (Avg3): avg(x,y,z)
- Average of 4 inputs (Avg4): avg(a,b,c,d)
Constant functions:
- Constant zero function (Zero):
0(x) = 0
- Constant one function (One): 1(x)
= 1
- 0(x,y) (Zero2): 0(x,y) = 0
- 1(x,y) (One2): 1(x,y) = 1
- Number p (Pi):
Pi(x) = 3.141592653589793
- Euler's number (E): E(x) =
2.718281828459045
Trigonometric functions (x is in radians):
- Sine (Sin): sin(x)
- Cosine (Cos): cos(x)
- Tangent (Tan): tan(x)
- Cosecant (Csc): csc(x)
- Secant (Sec): sec(x)
- Cotangent (Cot): cot(x)
Inverse trigonometric functions:
- Arcsine (Asin): arcsin(x)
- Arccosine (Acos): arccos(x)
- Arctangent (Atan): arctan(x)
- Arccosecant (Acsc): arccsc(x)
- Arcsecant (Asec): arcsec(x)
- Arccotangent (Acot): arccot(x)
Hyperbolic functions:
- Hyperbolic sine (Sinh): sinh(x)
- Hyperbolic cosine (Cosh): cosh(x)
- Hyperbolic tangent (Tanh): tanh(x)
- Hyperbolic cosecant (Csch): csch(x)
- Hyperbolic secant (Sech): sech(x)
- Hyperbolic cotangent (Coth): coth(x)
Inverse hyperbolic functions:
- Inverse hyperbolic sine (Asinh): arcsinh(x)
- Inverse hyperbolic cosine (Acosh): arccosh(x)
- Inverse hyperbolic tangent (Atanh): arctanh(x)
- Inverse hyperbolic cosecant (Acsch): arccsch(x)
- Inverse hyperbolic secant (Asech): arcsech(x)
- Inverse hyperbolic cotangent (Acoth): arccoth(x)
Comparison 0/1 functions of two arguments (OR series):
- OR1 (OR1): if x < 0 OR y <
0, then 1, else 0
- OR2 (OR2): if x >= 0 OR y
>= 0, then 1, else 0
- OR3 (OR3): if x <= 0 OR y
<= 0, then 1, else 0
- OR4 (OR4): if x < 1 OR y <
1, then 1, else 0
- OR5 (OR5): if x >= 1 OR y
>= 1, then 1, else 0
- OR6 (OR6): if x <= 1 OR y
<= 1, then 1, else 0
Comparison 0/1 functions of two arguments (AND series):
- AND1 (AND1): if x < 0 AND y
< 0, then 1, else 0
- AND2 (AND2): if x >= 0 AND y
>= 0, then 1, else 0
- AND3 (AND3): if x <= 0 AND y
<= 0, then 1, else 0
- AND4 (AND4): if x < 1 AND y
< 1, then 1, else 0
- AND5 (AND5): if x >= 1 AND y
>= 1, then 1, else 0
- AND6 (AND6): if x <= 1 AND y
<= 1, then 1, else 0
Comparison IF THEN ELSE functions of two arguments (series A):
- Less Than with 2 inputs (A) (LT2A):
if x < y, then x, else y
- Greater Than with 2 inputs (A) (GT2A):
if x > y, then x, else y
- Less Or Equal To with 2 inputs (A) (LOE2A):
if x <= y, then x, else y
- Greater Or Equal To with 2 inputs (A) (GOE2A):
if x >= y, then x, else y
- Equal To with 2 inputs (A) (ET2A):
if x = y, then x, else y
- Not Equal To with 2 inputs (A) (NET2A):
if x != y, then x, else y
Comparison 0/1 IF THEN ELSE functions of two arguments (series
B):
- Less Than with 2 inputs (B) (LT2B):
if x < y, then 1, else 0
- Greater Than with 2 inputs (B) (GT2B):
if x > y, then 1, else 0
- Less Or Equal To with 2 inputs (B) (LOE2B):
if x <= y, then 1, else 0
- Greater Or Equal To with 2 inputs (B) (GOE2B):
if x >= y, then 1, else 0
- Equal To with 2 inputs (B) (ET2B):
if x = y, then 1, else 0
- Not Equal To with 2 inputs (B) (NET2B):
if x != y, then 1, else 0
Comparison IF THEN ELSE functions of two arguments (series C):
- Less Than with 2 inputs (C) (LT2C):
if x < y, then (x+y), else (x-y)
- Greater Than with 2 inputs (C) (GT2C):
if x > y, then (x+y), else (x-y)
- Less Or Equal To with 2 inputs (C) (LOE2C):
if x <= y, then (x+y), else (x-y)
- Greater Or Equal To with 2 inputs (C) (GOE2C):
if x >= y, then (x+y), else (x-y)
- Equal To with 2 inputs (C) (ET2C):
if x = y, then (x+y), else (x-y)
- Not Equal To with 2 inputs (C) (NET2C):
if x != y, then (x+y), else (x-y)
Comparison IF THEN ELSE functions of two arguments (series D):
- Less Than with 2 inputs (D) (LT2D):
if x < y, then (x*y), else (x/y)
- Greater Than with 2 inputs (D) (GT2D):
if x > y, then (x*y), else (x/y)
- Less Or Equal To with 2 inputs (D) (LOE2D):
if x <= y, then (x*y), else (x/y)
- Greater Or Equal To with 2 inputs (D) (GOE2D):
if x >= y, then (x*y), else (x/y)
- Equal To with 2 inputs (D) (ET2D):
if x = y, then (x*y), else (x/y)
- Not Equal To with 2 inputs (D) (NET2D):
if x != y, then (x*y), else (x/y)
Comparison IF THEN ELSE functions of two arguments (series E):
- Less Than with 2 inputs (E) (LT2E):
if x < y, then (x+y), else (x*y)
- Greater Than with 2 inputs (E) (GT2E):
if x > y, then (x+y), else (x*y)
- Less Or Equal To with 2 inputs (E) (LOE2E):
if x <= y, then (x+y), else (x*y)
- Greater Or Equal To with 2 inputs (E) (GOE2E):
if x >= y, then (x+y), else (x*y)
- Equal To with 2 inputs (E) (ET2E):
if x = y, then (x+y), else (x*y)
- Not Equal To with 2 inputs (E) (NET2E):
if x != y, then (x+y), else (x*y)
Comparison IF THEN ELSE functions of two arguments (series F):
- Less Than with 2 inputs (F) (LT2F):
if x < y, then (x+y), else sin(x*y)
- Greater Than with 2 inputs (F) (GT2F):
if x > y, then (x+y), else sin(x*y)
- Less Or Equal To with 2 inputs (F) (LOE2F):
if x <= y, then (x+y), else sin(x*y)
- Greater Or Equal To with 2 inputs (F) (GOE2F):
if x >= y, then (x+y), else sin(x*y)
- Equal To with 2 inputs (F) (ET2F):
if x = y, then (x+y), else sin(x*y)
- Not Equal To with 2 inputs (F) (NET2F):
if x != y, then (x+y), else sin(x*y)
Comparison IF THEN ELSE functions of two arguments (series G):
- Less Than with 2 inputs (G) (LT2G):
if x < y, then (x+y), else atan(x*y)
- Greater Than with 2 inputs (G) (GT2G):
if x > y, then (x+y), else atan(x*y)
- Less Or Equal To with 2 inputs (G) (LOE2G):
if x <= y, then (x+y), else
atan(x*y)
- Greater Or Equal To with 2 inputs (G) (GOE2G):
if x >= y, then (x+y), else
atan(x*y)
- Equal To with 2 inputs (G) (ET2G):
if x = y, then (x+y), else atan(x*y)
- Not Equal To with 2 inputs (G) (NET2G):
if x != y, then (x+y), else atan(x*y)
Comparison IF THEN ELSE functions of three arguments (series A):
- Less Than with 3 inputs (A) (LT3A):
if x < 0, then y, else z
- Greater Than with 3 inputs (A) (GT3A):
if x > 0, then y, else z
- Less Or Equal To with 3 inputs (A) (LOE3A):
if x <= 0, then y, else z
- Greater Or Equal To with 3 inputs (A) (GOE3A):
if x >= 0, then y, else z
- Equal To with 3 inputs (A) (ET3A):
if x = 0, then y, else z
- Not Equal To with 3 inputs (A) (NET3A):
if x != 0, then y, else z
Comparison IF THEN ELSE functions of three arguments (series B):
- Less Than with 3 inputs (B) (LT3B):
if (x+y) < z, then (x+y),
else z
- Greater Than with 3 inputs (B) (GT3B):
if (x+y) > z, then (x+y),
else z
- Less Or Equal To with 3 inputs (B) (LOE3B):
if (x+y) <= z, then (x+y),
else z
- Greater Or Equal To with 3 inputs (B) (GOE3B):
if (x+y) >= z, then (x+y),
else z
- Equal To with 3 inputs (B) (ET3B):
if (x+y) = z, then (x+y),
else z
- Not Equal To with 3 inputs (B) (NET3B):
if (x+y) != z, then (x+y),
else z
Comparison IF THEN ELSE functions of three arguments (series C):
- Less Than with 3 inputs (C) (LT3C):
if (x+y) < z, then (x+y),
else (x+z)
- Greater Than with 3 inputs (C) (GT3C):
if (x+y) > z, then (x+y),
else (x+z)
- Less Or Equal To with 3 inputs (C) (LOE3C):
if (x+y) <= z, then (x+y),
else (x+z)
- Greater Or Equal To with 3 inputs (C) (GOE3C):
if (x+y) >= z, then (x+y),
else (x+z)
- Equal To with 3 inputs (C) (ET3C):
if (x+y) = z, then (x+y),
else (x+z)
- Not Equal To with 3 inputs (C) (NET3C):
if (x+y) != z, then (x+y),
else (x+z)
Comparison IF THEN ELSE functions of three arguments (series D):
- Less Than with 3 inputs (D) (LT3D):
if (x+y) < z, then (x+y),
else (x-z)
- Greater Than with 3 inputs (D) (GT3D):
if (x+y) > z, then (x+y),
else (x-z)
- Less Or Equal To with 3 inputs (D) (LOE3D):
if (x+y) <= z, then (x+y),
else (x-z)
- Greater Or Equal To with 3 inputs (D) (GOE3D):
if (x+y) >= z, then (x+y),
else (x-z)
- Equal To with 3 inputs (D) (ET3D):
if (x+y) = z, then (x+y),
else (x-z)
- Not Equal To with 3 inputs (D) (NET3D):
if (x+y) != z, then (x+y),
else (x-z)
Comparison IF THEN ELSE functions of three arguments (series E):
- Less Than with 3 inputs (E) (LT3E):
if (x+y) < z, then (x+y),
else (x*z)
- Greater Than with 3 inputs (E) (GT3E):
if (x+y) > z, then (x+y),
else (x*z)
- Less Or Equal To with 3 inputs (E) (LOE3E):
if (x+y) <= z, then (x+y),
else (x*z)
- Greater Or Equal To with 3 inputs (E) (GOE3E):
if (x+y) >= z, then (x+y),
else (x*z)
- Equal To with 3 inputs (E) (ET3E):
if (x+y) = z, then (x+y),
else (x*z)
- Not Equal To with 3 inputs (E) (NET3E):
if (x+y) != z, then (x+y),
else (x*z)
Comparison IF THEN ELSE functions of three arguments (series F):
- Less Than with 3 inputs (F) (LT3F):
if (x+y) < z, then (x+y),
else (x/z)
- Greater Than with 3 inputs (F) (GT3F):
if (x+y) > z, then (x+y),
else (x/z)
- Less Or Equal To with 3 inputs (F) (LOE3F):
if (x+y) <= z, then (x+y),
else (x/z)
- Greater Or Equal To with 3 inputs (F) (GOE3F):
if (x+y) >= z, then (x+y),
else (x/z)
- Equal To with 3 inputs (F) (ET3F):
if (x+y) = z, then (x+y),
else (x/z)
- Not Equal To with 3 inputs (F) (NET3F):
if (x+y) != z, then (x+y),
else (x/z)
Comparison IF THEN ELSE functions of three arguments (series G):
- Less Than with 3 inputs (G) (LT3G):
if (x+y) < z, then (x*y),
else (x+z)
- Greater Than with 3 inputs (G) (GT3G):
if (x+y) > z, then (x*y),
else (x+z)
- Less Or Equal To with 3 inputs (G) (LOE3G):
if (x+y) <= z, then (x*y),
else (x+z)
- Greater Or Equal To with 3 inputs (G) (GOE3G):
if (x+y) >= z, then (x*y),
else (x+z)
- Equal To with 3 inputs (G) (ET3G):
if (x+y) = z, then (x*y),
else (x+z)
- Not Equal To with 3 inputs (G) (NET3G):
if (x+y) != z, then (x*y),
else (x+z)
Comparison IF THEN ELSE functions of three arguments (series H):
- Less Than with 3 inputs (H) (LT3H):
if (x+y) < z, then (x*y),
else (x-z)
- Greater Than with 3 inputs (H) (GT3H):
if (x+y) > z, then (x*y),
else (x-z)
- Less Or Equal To with 3 inputs (H) (LOE3H):
if (x+y) <= z, then (x*y),
else (x-z)
- Greater Or Equal To with 3 inputs (H) (GOE3H):
if (x+y) >= z, then (x*y),
else (x-z)
- Equal To with 3 inputs (H) (ET3H):
if (x+y) = z, then (x*y),
else (x-z)
- Not Equal To with 3 inputs (H) (NET3H):
if (x+y) != z, then (x*y),
else (x-z)
Comparison IF THEN ELSE functions of three arguments (series I):
- Less Than with 3 inputs (I) (LT3I):
if (x+y) < z, then (x*y),
else (x*z)
- Greater Than with 3 inputs (I) (GT3I):
if (x+y) > z, then (x*y),
else (x*z)
- Less Or Equal To with 3 inputs (I) (LOE3I):
if (x+y) <= z, then (x*y),
else (x*z)
- Greater Or Equal To with 3 inputs (I) (GOE3I):
if (x+y) >= z, then (x*y),
else (x*z)
- Equal To with 3 inputs (I) (ET3I):
if (x+y) = z, then (x*y),
else (x*z)
- Not Equal To with 3 inputs (I) (NET3I):
if (x+y) != z, then (x*y),
else (x*z)
Comparison IF THEN ELSE functions of three arguments (series J):
- Less Than with 3 inputs (J) (LT3J):
if (x+y) < z, then (x*y),
else (x/z)
- Greater Than with 3 inputs (J) (GT3J):
if (x+y) > z, then (x*y),
else (x/z)
- Less Or Equal To with 3 inputs (J) (LOE3J):
if (x+y) <= z, then (x*y),
else (x/z)
- Greater Or Equal To with 3 inputs (J) (GOE3J):
if (x+y) >= z, then (x*y),
else (x/z)
- Equal To with 3 inputs (J) (ET3J):
if (x+y) = z, then (x*y),
else (x/z)
- Not Equal To with 3 inputs (J) (NET3J):
if (x+y) != z, then (x*y),
else (x/z)
Comparison IF THEN ELSE functions of three arguments (series K):
- Less Than with 3 inputs (K) (LT3K):
if (x+y) < z, then (x+y+z),
else sin(x*y*z)
- Greater Than with 3 inputs (K) (GT3K):
if (x+y) > z, then (x+y+z),
else sin(x*y*z)
- Less Or Equal To with 3 inputs (K) (LOE3K):
if (x+y) <= z, then (x+y+z),
else sin(x*y*z)
- Greater Or Equal To with 3 inputs (K) (GOE3K):
if (x+y) >= z, then (x+y+z),
else sin(x*y*z)
- Equal To with 3 inputs (K) (ET3K):
if (x+y) = z, then (x+y+z),
else sin(x*y*z)
- Not Equal To with 3 inputs (K) (NET3K):
if (x+y) != z, then (x+y+z),
else sin(x*y*z)
Comparison IF THEN ELSE functions of three arguments (series L):
- Less Than with 3 inputs (L) (LT3L):
if (x+y) < z, then (x+y+z),
else atan(x*y*z)
- Greater Than with 3 inputs (L) (GT3L):
if (x+y) > z, then (x+y+z),
else atan(x*y*z)
- Less Or Equal To with 3 inputs (L) (LOE3L):
if (x+y) <= z, then (x+y+z),
else atan(x*y*z)
- Greater Or Equal To with 3 inputs (L) (GOE3L):
if (x+y) >= z, then (x+y+z),
else atan(x*y*z)
- Equal To with 3 inputs (L) (ET3L):
if (x+y) = z, then (x+y+z),
else atan(x*y*z)
- Not Equal To with 3 inputs (L) (NET3L):
if (x+y) != z, then (x+y+z),
else atan(x*y*z)
Comparison IF THEN ELSE functions of four arguments (series A):
- Less Than with 4 inputs (A) (LT4A):
if a < b, then c, else d
- Greater Than with 4 inputs (A) (GT4A):
if a > b, then c, else d
- Less Or Equal To with 4 inputs (A) (LOE4A):
if a <= b, then c, else d
- Greater Or Equal To with 4 inputs (A) (GOE4A):
if a >= b, then c, else d
- Equal To with 4 inputs (A) (ET4A):
if a = b, then c, else d
- Not Equal To with 4 inputs (A) (NET4A):
if a != b, then c, else d
Comparison IF THEN ELSE functions of four arguments (series B):
- Less Than with 4 inputs (B) (LT4B):
if (a+b) < (c+d), then c,
else d
- Greater Than with 4 inputs (B) (GT4B):
if (a+b) > (c+d), then c,
else d
- Less Or Equal To with 4 inputs (B) (LOE4B):
if (a+b) <= (c+d), then c,
else d
- Greater Or Equal To with 4 inputs (B) (GOE4B):
if (a+b) >= (c+d), then c,
else d
- Equal To with 4 inputs (B) (ET4B):
if (a+b) = (c+d), then c,
else d
- Not Equal To with 4 inputs (B) (NET4B):
if (a+b) != (c+d), then c,
else d
Comparison IF THEN ELSE functions of four arguments (series C):
- Less Than with 4 inputs (C) (LT4C):
if (a+b) < (c+d), then (a+b),
else (c+d)
- Greater Than with 4 inputs (C) (GT4C):
if (a+b) > (c+d), then (a+b),
else (c+d)
- Less Or Equal To with 4 inputs (C) (LOE4C):
if (a+b) <= (c+d), then (a+b),
else (c+d)
- Greater Or Equal To with 4 inputs (C) (GOE4C):
if (a+b) >= (c+d), then (a+b),
else (c+d)
- Equal To with 4 inputs (C) (ET4C):
if (a+b) = (c+d), then (a+b),
else (c+d)
- Not Equal To with 4 inputs (C) (NET4C):
if (a+b) != (c+d), then (a+b),
else (c+d)
Comparison IF THEN ELSE functions of four arguments (series D):
- Less Than with 4 inputs (D) (LT4D):
if (a+b) < (c+d), then (a+b),
else (c-d)
- Greater Than with 4 inputs (D) (GT4D):
if (a+b) > (c+d), then (a+b),
else (c-d)
- Less Or Equal To with 4 inputs (D) (LOE4D):
if (a+b) <= (c+d), then (a+b),
else (c-d)
- Greater Or Equal To with 4 inputs (D) (GOE4D):
if (a+b) >= (c+d), then (a+b),
else (c-d)
- Equal To with 4 inputs (D) (ET4D):
if (a+b) = (c+d), then (a+b),
else (c-d)
- Not Equal To with 4 inputs (D) (NET4D):
if (a+b) != (c+d), then (a+b),
else (c-d)
Comparison IF THEN ELSE functions of four arguments (series E):
- Less Than with 4 inputs (E) (LT4E):
if (a+b) < (c+d), then (a+b),
else (c*d)
- Greater Than with 4 inputs (E) (GT4E):
if (a+b) > (c+d), then (a+b),
else (c*d)
- Less Or Equal To with 4 inputs (E) (LOE4E):
if (a+b) <= (c+d), then (a+b),
else (c*d)
- Greater Or Equal To with 4 inputs (E) (GOE4E):
if (a+b) >= (c+d), then (a+b),
else (c*d)
- Equal To with 4 inputs (E) (ET4E):
if (a+b) = (c+d), then (a+b),
else (c*d)
- Not Equal To with 4 inputs (E) (NET4E):
if (a+b) != (c+d), then (a+b),
else (c*d)
Comparison IF THEN ELSE functions of four arguments (series F):
- Less Than with 4 inputs (F) (LT4F):
if (a+b) < (c+d), then (a+b),
else (c/d)
- Greater Than with 4 inputs (F) (GT4F):
if (a+b) > (c+d), then (a+b),
else (c/d)
- Less Or Equal To with 4 inputs (F) (LOE4F):
if (a+b) <= (c+d), then (a+b),
else (c/d)
- Greater Or Equal To with 4 inputs (F) (GOE4F):
if (a+b) >= (c+d), then (a+b),
else (c/d)
- Equal To with 4 inputs (F) (ET4F):
if (a+b) = (c+d), then (a+b),
else (c/d)
- Not Equal To with 4 inputs (F) (NET4F):
if (a+b) != (c+d), then (a+b),
else (c/d)
Comparison IF THEN ELSE functions of four arguments (series G):
- Less Than with 4 inputs (G) (LT4G):
if (a+b) < (c+d), then (a*b),
else (c+d)
- Greater Than with 4 inputs (G) (GT4G):
if (a+b) > (c+d), then (a*b),
else (c+d)
- Less Or Equal To with 4 inputs (G) (LOE4G):
if (a+b) <= (c+d), then (a*b),
else (c+d)
- Greater Or Equal To with 4 inputs (G) (GOE4G):
if (a+b) >= (c+d), then (a*b),
else (c+d)
- Equal To with 4 inputs (G) (ET4G):
if (a+b) = (c+d), then (a*b),
else (c+d)
- Not Equal To with 4 inputs (G) (NET4G):
if (a+b) != (c+d), then (a*b),
else (c+d)
Comparison IF THEN ELSE functions of four arguments (series H):
- Less Than with 4 inputs (H) (LT4H):
if (a+b) < (c+d), then (a*b),
else (c-d)
- Greater Than with 4 inputs (H) (GT4H):
if (a+b) > (c+d), then (a*b),
else (c-d)
- Less Or Equal To with 4 inputs (H) (LOE4H):
if (a+b) <= (c+d), then (a*b),
else (c-d)
- Greater Or Equal To with 4 inputs (H) (GOE4H):
if (a+b) >= (c+d), then (a*b),
else (c-d)
- Equal To with 4 inputs (H) (ET4H):
if (a+b) = (c+d), then (a*b),
else (c-d)
- Not Equal To with 4 inputs (H) (NET4H):
if (a+b) != (c+d), then (a*b),
else (c-d)
Comparison IF THEN ELSE functions of four arguments (series I):
- Less Than with 4 inputs (I) (LT4I):
if (a+b) < (c+d), then (a*b),
else (c*d)
- Greater Than with 4 inputs (I) (GT4I):
if (a+b) > (c+d), then (a*b),
else (c*d)
- Less Or Equal To with 4 inputs (I) (LOE4I):
if (a+b) <= (c+d), then (a*b),
else (c*d)
- Greater Or Equal To with 4 inputs (I) (GOE4I):
if (a+b) >= (c+d), then (a*b),
else (c*d)
- Equal To with 4 inputs (I) (ET4I):
if (a+b) = (c+d), then (a*b),
else (c*d)
- Not Equal To with 4 inputs (I) (NET4I):
if (a+b) != (c+d), then (a*b),
else (c*d)
Comparison IF THEN ELSE functions of four arguments (series J):
- Less Than with 4 inputs (J) (LT4J):
if (a+b) < (c+d), then (a*b),
else (c/d)
- Greater Than with 4 inputs (J) (GT4J):
if (a+b) > (c+d), then (a*b),
else (c/d)
- Less Or Equal To with 4 inputs (J) (LOE4J):
if (a+b) <= (c+d), then (a*b),
else (c/d)
- Greater Or Equal To with 4 inputs (J) (GOE4J):
if (a+b) >= (c+d), then (a*b),
else (c/d)
- Equal To with 4 inputs (J) (ET4J):
if (a+b) = (c+d), then (a*b),
else (c/d)
- Not Equal To with 4 inputs (J) (NET4J):
if (a+b) != (c+d), then (a*b),
else (c/d)
Comparison IF THEN ELSE functions of four arguments (series K):
- Less Than with 4 inputs (K) (LT4K):
if (a+b) < (c+d), then sin(a*b),
else sin(c*d)
- Greater Than with 4 inputs (K) (GT4K):
if (a+b) > (c+d), then sin(a*b),
else sin(c*d)
- Less Or Equal To with 4 inputs (K) (LOE4K):
if (a+b) <= (c+d), then sin(a*b),
else sin(c*d)
- Greater Or Equal To with 4 inputs (K) (GOE4K):
if (a+b) >= (c+d), then sin(a*b),
else sin(c*d)
- Equal To with 4 inputs (K) (ET4K):
if (a+b) = (c+d), then sin(a*b),
else sin(c*d)
- Not Equal To with 4 inputs (K) (NET4K):
if (a+b) != (c+d), then sin(a*b),
else sin(c*d)
Comparison IF THEN ELSE functions of four arguments (series L):
- Less Than with 4 inputs (L) (LT4L):
if (a+b) < (c+d), then atan(a*b),
else atan(c*d)
- Greater Than with 4 inputs (L) (GT4L):
if (a+b) > (c+d), then atan(a*b),
else atan(c*d)
- Less Or Equal To with 4 inputs (L) (LOE4L):
if (a+b) <= (c+d), then atan(a*b),
else atan(c*d)
- Greater Or Equal To with 4 inputs (L) (GOE4L):
if (a+b) >= (c+d), then atan(a*b),
else atan(c*d)
- Equal To with 4 inputs (L) (ET4L):
if (a+b) = (c+d), then atan(a*b),
else atan(c*d)
- Not Equal To with 4 inputs (L) (NET4L):
if (a+b) != (c+d), then atan(a*b),
else atan(c*d)
By selecting the Functions Tab in the Functions
Panel, you have full access to the 279 built-in mathematical
functions of GeneXproTools 4.0. Here is also the place where you can
add
Dynamic UDFs to your modeling kit.
To select a function, just check the box on the left. By default, the weight of each function is 1, but you can increase the probability of a function being included in your models by increasing its weight in the Select/Weight column. GeneXproTools automatically balances your
function set with the number of independent variables in your data (that is,
the embedding dimension you chose to transform your time series),
so now you just have to select the right functions for your problem and then choose their relative
proportions by choosing their weights.
To add a DDF to your modeling kit, just click the Add button on the Dynamic UDFs frame and the
DDF
Editor appears.
By choosing the arity (minimum is 1 and maximum is 4) in the Arity box, the function header appears below. Then you just have to write the body of the function in the code editor. The code must be in JavaScript and can be
conveniently tested for compiling errors by pressing the Test button.
In the Definition box, you can write a brief description of the function for your future reference. The text you write
there will appear in the Definition column.
Dynamic UDFs are extremely powerful and interesting tools as they
behave exactly like the built-in functions of
GeneXproTools and therefore can be used to model all kinds of relationships between variables or complex expressions. For instance, you can design a DDF so that it will model the sum of four expressions, that is, DDF = (expression 1) + (expression 2) + (expression 3) + (expression 4), where the value of each expression will depend on the context of the DDF in the expression tree. A note of caution, though, although extremely interesting, DDFs decrease considerably the speed of the algorithm and therefore we advise you to choose your functions from the wide set of
GeneXproTools 4.0 built-in functions.
|