Below are listed all the 279 built-in
mathematical functions available in GeneXproTools 4.0, starting with their representation in
Karva Notation and their mathematical
definition (for more details about
their implementations, see the built-in
grammars of GeneXproTools):
Basic arithmetic functions:
- +: addition
- -: subtraction
- *: multiplication
- /: division
- Add3: addition with 3 inputs
- Sub3: subtraction with 3 inputs
- Mul3: multiplication with 3
inputs
- Div3: division with 3 inputs
- Add4: addition with 4 inputs
- Sub4: subtraction with 4 inputs
- Mul4: multiplication with 4 inputs
- Div4: division with 4 inputs
Logarithmic functions:
- Ln: natural logarithm
- Log: logarithm of base 10
- Log2: logarithm(x,y)
Exponential and power functions:
- Sqrt: square root
- Exp: exponential
- Pow: power
- Pow10: 10x
- X2: x2
- X3: x3
- X4: x4
- X5: x5
- 3Rt: cube root
- 4Rt: quartic root
- 5Rt: quintic root
- Logi: logistic(x)
- Logi2: logistic(x,y)
- Logi3: logistic(x,y,z)
- Logi4: logistic(a,b,c,d)
- Gau: Gaussian(x)
- Gau2: Gaussian(x,y)
- Gau3: Gaussian(x,y,z)
- Gau4: Gaussian(a,b,c,d)
Rounding and other simple functions:
- Floor: floor
- Ceil: ceiling
- Mod: floating-point remainder
- Abs: absolute value
- Inv: inverse
- Neg: negation
- NOT: complement
- Nop: no operation
Minimum, maximum, and average functions:
- Min2: minimum of 2 inputs
- Min3: minimum of 3 inputs
- Min4: minimum of 4 inputs
- Max2: maximum of 2 inputs
- Max3: maximum of 3 inputs
- Max4: maximum of 4 inputs
- Avg2: average of 2 inputs
- Avg3: average of 3 inputs
- Avg4: average of 4 inputs
Constant functions:
- Zero: constant zero function
- One: constant one function
- Zero2: 0(x,y)
- One2: 1(x,y)
- Pi: number p
- E: Euler's number
Trigonometric functions (x is in radians):
- Sin: sine
- Cos: cosine
- Tan: tangent
- Csc: cosecant
- Sec: secant
- Cot: cotangent
Inverse trigonometric functions:
- Asin: arcsine
- Acos: arccosine
- Atan: arctangent
- Acsc: arccosecant
- Asec: arcsecant
- Acot: arccotangent
Hyperbolic functions:
- Sinh: hyperbolic sine
- Cosh: hyperbolic cosine
- Tanh: hyperbolic tangent
- Csch: hyperbolic cosecant
- Sech: hyperbolic secant
- Coth: hyperbolic cotangent
Inverse hyperbolic functions:
- Asinh: inverse hyperbolic sine
- Acosh: inverse hyperbolic cosine
- Atanh: inverse hyperbolic tangent
- Acsch: inverse hyperbolic cosecant
- Asech: inverse hyperbolic secant
- Acoth: inverse hyperbolic cotangent
Comparison 0/1 functions of two arguments (OR series):
- OR1: if x < 0 OR y < 0, then 1, else 0
- OR2: if x >= 0 OR y >= 0, then 1, else 0
- OR3: if x <= 0 OR y <= 0, then 1, else 0
- OR4: if x < 1 OR y < 1, then 1, else 0
- OR5: if x >= 1 OR y >= 1, then 1, else 0
- OR6: if x <= 1 OR y <= 1, then 1, else 0
Comparison 0/1 functions of two arguments (AND series):
- AND1: if x < 0 AND y < 0, then 1, else 0
- AND2: if x >= 0 AND y >= 0, then 1, else 0
- AND3: if x <= 0 AND y <= 0, then 1, else 0
- AND4: if x < 1 AND y < 1, then 1, else 0
- AND5: if x >= 1 AND y >= 1, then 1, else 0
- AND6: if x <= 1 AND y <= 1, then 1, else 0
Comparison IF THEN ELSE functions of two arguments (series A):
- LT2A: if x < y, then x, else y
- GT2A: if x > y, then x, else y
- LOE2A: if x <= y, then x, else y
- GOE2A: if x >= y, then x, else y
- ET2A: if x = y, then x, else y
- NET2A: if x != y, then x, else y
Comparison 0/1 IF THEN ELSE functions of two arguments (series
B):
- LT2B: if x < y, then 1, else 0
- GT2B: if x > y, then 1, else 0
- LOE2B: if x <= y, then 1, else 0
- GOE2B: if x >= y, then 1, else 0
- ET2B: if x = y, then 1, else 0
- NET2B: if x != y, then 1, else 0
Comparison IF THEN ELSE functions of two arguments (series C):
- LT2C: if x < y, then (x+y), else (x-y)
- GT2C: if x > y, then (x+y), else (x-y)
- LOE2C: if x <= y, then (x+y), else (x-y)
- GOE2C: if x >= y, then (x+y), else (x-y)
- ET2C: if x = y, then (x+y), else (x-y)
- NET2C: if x != y, then (x+y), else (x-y)
Comparison IF THEN ELSE functions of two arguments (series D):
- LT2D: if x < y, then (x*y), else (x/y)
- GT2D: if x > y, then (x*y), else (x/y)
- LOE2D: if x <= y, then (x*y), else (x/y)
- GOE2D: if x >= y, then (x*y), else (x/y)
- ET2D: if x = y, then (x*y), else (x/y)
- NET2D: if x != y, then (x*y), else (x/y)
Comparison IF THEN ELSE functions of two arguments (series E):
- LT2E: if x < y, then (x+y), else (x*y)
- GT2E: if x > y, then (x+y), else (x*y)
- LOE2E: if x <= y, then (x+y), else (x*y)
- GOE2E: if x >= y, then (x+y), else (x*y)
- ET2E: if x = y, then (x+y), else (x*y)
- NET2E: if x != y, then (x+y), else (x*y)
Comparison IF THEN ELSE functions of two arguments (series F):
- LT2F: if x < y, then (x+y), else
sin(x*y)
- GT2F: if x > y, then (x+y), else
sin(x*y)
- LOE2F: if x <= y, then (x+y), else
sin(x*y)
- GOE2F: if x >= y, then (x+y), else
sin(x*y)
- ET2F: if x = y, then (x+y), else
sin(x*y)
- NET2F: if x != y, then (x+y), else
sin(x*y)
Comparison IF THEN ELSE functions of two arguments (series G):
- LT2G: if x < y, then (x+y), else
atan(x*y)
- GT2G: if x > y, then (x+y), else
atan(x*y)
- LOE2G: if x <= y, then (x+y), else
atan(x*y)
- GOE2G: if x >= y, then (x+y), else
atan(x*y)
- ET2G: if x = y, then (x+y), else
atan(x*y)
- NET2G: if x != y, then (x+y), else
atan(x*y)
Comparison IF THEN ELSE functions of three arguments (series A):
- LT3A: if x < 0, then y, else z
- GT3A: if x > 0, then y, else z
- LOE3A: if x <= 0, then y, else z
- GOE3A: if x >= 0, then y, else z
- ET3A: if x = 0, then y, else z
- NET3A: if x != 0, then y, else z
Comparison IF THEN ELSE functions of three arguments (series B):
- LT3B: if (x+y) < z, then (x+y), else z
- GT3B: if (x+y) > z, then (x+y), else z
- LOE3B: if (x+y) <= z, then (x+y), else z
- GOE3B: if (x+y) >= z, then (x+y), else z
- ET3B: if (x+y) = z, then (x+y), else z
- NET3B: if (x+y) != z, then (x+y), else z
Comparison IF THEN ELSE functions of three arguments (series C):
- LT3C: if (x+y) < z, then (x+y), else
(x+z)
- GT3C: if (x+y) > z, then (x+y), else
(x+z)
- LOE3C: if (x+y) <= z, then (x+y), else
(x+z)
- GOE3C: if (x+y) >= z, then (x+y), else
(x+z)
- ET3C: if (x+y) = z, then (x+y), else
(x+z)
- NET3C: if (x+y) != z, then (x+y), else
(x+z)
Comparison IF THEN ELSE functions of three arguments (series D):
- LT3D: if (x+y) < z, then (x+y), else (x-z)
- GT3D: if (x+y) > z, then (x+y), else (x-z)
- LOE3D: if (x+y) <= z, then (x+y), else (x-z)
- GOE3D: if (x+y) >= z, then (x+y), else (x-z)
- ET3D: if (x+y) = z, then (x+y), else (x-z)
- NET3D: if (x+y) != z, then (x+y), else (x-z)
Comparison IF THEN ELSE functions of three arguments (series E):
- LT3E: if (x+y) < z, then (x+y), else (x*z)
- GT3E: if (x+y) > z, then (x+y), else (x*z)
- LOE3E: if (x+y) <= z, then (x+y), else (x*z)
- GOE3E: if (x+y) >= z, then (x+y), else (x*z)
- ET3E: if (x+y) = z, then (x+y), else (x*z)
- NET3E: if (x+y) != z, then (x+y), else (x*z)
Comparison IF THEN ELSE functions of three arguments (series F):
- LT3F: if (x+y) < z, then (x+y), else (x/z)
- GT3F: if (x+y) > z, then (x+y), else (x/z)
- LOE3F: if (x+y) <= z, then (x+y), else (x/z)
- GOE3F: if (x+y) >= z, then (x+y), else (x/z)
- ET3F: if (x+y) = z, then (x+y), else (x/z)
- NET3F: if (x+y) != z, then (x+y), else (x/z)
Comparison IF THEN ELSE functions of three arguments (series G):
- LT3G: if (x+y) < z, then (x*y), else
(x+z)
- GT3G: if (x+y) > z, then (x*y), else
(x+z)
- LOE3G: if (x+y) <= z, then (x*y), else
(x+z)
- GOE3G: if (x+y) >= z, then (x*y), else
(x+z)
- ET3G: if (x+y) = z, then (x*y), else
(x+z)
- NET3G: if (x+y) != z, then (x*y), else
(x+z)
Comparison IF THEN ELSE functions of three arguments (series H):
- LT3H: if (x+y) < z, then (x*y), else (x-z)
- GT3H: if (x+y) > z, then (x*y), else (x-z)
- LOE3H: if (x+y) <= z, then (x*y), else (x-z)
- GOE3H: if (x+y) >= z, then (x*y), else (x-z)
- ET3H: if (x+y) = z, then (x*y), else (x-z)
- NET3H: if (x+y) != z, then (x*y), else (x-z)
Comparison IF THEN ELSE functions of three arguments (series I):
- LT3I: if (x+y) < z, then (x*y), else (x*z)
- GT3I: if (x+y) > z, then (x*y), else (x*z)
- LOE3I: if (x+y) <= z, then (x*y), else (x*z)
- GOE3I: if (x+y) >= z, then (x*y), else (x*z)
- ET3I: if (x+y) = z, then (x*y), else (x*z)
- NET3I: if (x+y) != z, then (x*y), else (x*z)
Comparison IF THEN ELSE functions of three arguments (series J):
- LT3J: if (x+y) < z, then (x*y), else (x/z)
- GT3J: if (x+y) > z, then (x*y), else (x/z)
- LOE3J: if (x+y) <= z, then (x*y), else (x/z)
- GOE3J: if (x+y) >= z, then (x*y), else (x/z)
- ET3J: if (x+y) = z, then (x*y), else (x/z)
- NET3J: if (x+y) != z, then (x*y), else (x/z)
Comparison IF THEN ELSE functions of three arguments (series K):
- LT3K: if (x+y) < z, then (x+y+z), else
sin(x*y*z)
- GT3K: if (x+y) > z, then (x+y+z), else
sin(x*y*z)
- LOE3K: if (x+y) <= z, then (x+y+z), else
sin(x*y*z)
- GOE3K: if (x+y) >= z, then (x+y+z), else
sin(x*y*z)
- ET3K: if (x+y) = z, then (x+y+z), else
sin(x*y*z)
- NET3K: if (x+y) != z, then (x+y+z), else
sin(x*y*z)
Comparison IF THEN ELSE functions of three arguments (series L):
- LT3L: if (x+y) < z, then (x+y+z), else
atan(x*y*z)
- GT3L: if (x+y) > z, then (x+y+z), else
atan(x*y*z)
- LOE3L: if (x+y) <= z, then (x+y+z), else
atan(x*y*z)
- GOE3L: if (x+y) >= z, then (x+y+z), else
atan(x*y*z)
- ET3L: if (x+y) = z, then (x+y+z), else
atan(x*y*z)
- NET3L: if (x+y) != z, then (x+y+z), else
atan(x*y*z)
Comparison IF THEN ELSE functions of four arguments (series A):
- LT4A: if a < b, then c, else d
- GT4A: if a > b, then c, else d
- LOE4A: if a <= b, then c, else d
- GOE4A: if a >= b, then c, else d
- ET4A: if a = b, then c, else d
- NET4A: if a != b, then c, else d
Comparison IF THEN ELSE functions of four arguments (series B):
- LT4B: if (a+b) < (c+d), then c, else d
- GT4B: if (a+b) > (c+d), then c, else d
- LOE4B: if (a+b) <= (c+d), then c, else d
- GOE4B: if (a+b) >= (c+d), then c, else d
- ET4B: if (a+b) = (c+d), then c, else d
- NET4B: if (a+b) != (c+d), then c, else d
Comparison IF THEN ELSE functions of four arguments (series C):
- LT4C: if (a+b) < (c+d), then (a+b), else
(c+d)
- GT4C: if (a+b) > (c+d), then (a+b), else
(c+d)
- LOE4C: if (a+b) <= (c+d), then
(a+b), else (c+d)
- GOE4C: if (a+b) >= (c+d), then
(a+b), else (c+d)
- ET4C: if (a+b) = (c+d), then (a+b), else
(c+d)
- NET4C: if (a+b) != (c+d), then (a+b), else
(c+d)
Comparison IF THEN ELSE functions of four arguments (series D):
- LT4D: if (a+b) < (c+d), then (a+b), else (c-d)
- GT4D: if (a+b) > (c+d), then (a+b), else (c-d)
- LOE4D: if (a+b) <= (c+d), then
(a+b), else (c-d)
- GOE4D: if (a+b) >= (c+d), then
(a+b), else (c-d)
- ET4D: if (a+b) = (c+d), then (a+b), else (c-d)
- NET4D: if (a+b) != (c+d), then (a+b), else (c-d)
Comparison IF THEN ELSE functions of four arguments (series E):
- LT4E: if (a+b) < (c+d), then (a+b), else (c*d)
- GT4E: if (a+b) > (c+d), then (a+b), else (c*d)
- LOE4E: if (a+b) <= (c+d), then
(a+b), else (c*d)
- GOE4E: if (a+b) >= (c+d), then
(a+b), else (c*d)
- ET4E: if (a+b) = (c+d), then (a+b), else (c*d)
- NET4E: if (a+b) != (c+d), then (a+b), else (c*d)
Comparison IF THEN ELSE functions of four arguments (series F):
- LT4F: if (a+b) < (c+d), then (a+b), else (c/d)
- GT4F: if (a+b) > (c+d), then (a+b), else (c/d)
- LOE4F: if (a+b) <= (c+d), then
(a+b), else (c/d)
- GOE4F: if (a+b) >= (c+d), then
(a+b), else (c/d)
- ET4F: if (a+b) = (c+d), then (a+b), else (c/d)
- NET4F: if (a+b) != (c+d), then (a+b), else (c/d)
Comparison IF THEN ELSE functions of four arguments (series G):
- LT4G: if (a+b) < (c+d), then (a*b), else
(c+d)
- GT4G: if (a+b) > (c+d), then (a*b), else
(c+d)
- LOE4G: if (a+b) <= (c+d), then (a*b), else
(c+d)
- GOE4G: if (a+b) >= (c+d), then (a*b), else
(c+d)
- ET4G: if (a+b) = (c+d), then (a*b), else
(c+d)
- NET4G: if (a+b) != (c+d), then (a*b), else
(c+d)
Comparison IF THEN ELSE functions of four arguments (series H):
- LT4H: if (a+b) < (c+d), then (a*b), else (c-d)
- GT4H: if (a+b) > (c+d), then (a*b), else (c-d)
- LOE4H: if (a+b) <= (c+d), then (a*b), else (c-d)
- GOE4H: if (a+b) >= (c+d), then (a*b), else (c-d)
- ET4H: if (a+b) = (c+d), then (a*b), else (c-d)
- NET4H: if (a+b) != (c+d), then (a*b), else (c-d)
Comparison IF THEN ELSE functions of four arguments (series I):
- LT4I: if (a+b) < (c+d), then (a*b), else (c*d)
- GT4I: if (a+b) > (c+d), then (a*b), else (c*d)
- LOE4I: if (a+b) <= (c+d), then (a*b), else (c*d)
- GOE4I: if (a+b) >= (c+d), then (a*b), else (c*d)
- ET4I: if (a+b) = (c+d), then (a*b), else (c*d)
- NET4I: if (a+b) != (c+d), then (a*b), else (c*d)
Comparison IF THEN ELSE functions of four arguments (series J):
- LT4J: if (a+b) < (c+d), then (a*b), else (c/d)
- GT4J: if (a+b) > (c+d), then (a*b), else (c/d)
- LOE4J: if (a+b) <= (c+d), then (a*b), else (c/d)
- GOE4J: if (a+b) >= (c+d), then (a*b), else (c/d)
- ET4J: if (a+b) = (c+d), then (a*b), else (c/d)
- NET4J: if (a+b) != (c+d), then (a*b), else (c/d)
Comparison IF THEN ELSE functions of four arguments (series K):
- LT4K: if (a+b) < (c+d), then
sin(a*b), else sin(c*d)
- GT4K: if (a+b) > (c+d), then
sin(a*b), else sin(c*d)
- LOE4K: if (a+b) <= (c+d), then
sin(a*b), else sin(c*d)
- GOE4K: if (a+b) >= (c+d), then
sin(a*b), else sin(c*d)
- ET4K: if (a+b) = (c+d), then
sin(a*b), else sin(c*d)
- NET4K: if (a+b) != (c+d), then
sin(a*b), else sin(c*d)
Comparison IF THEN ELSE functions of four arguments (series L):
- LT4L: if (a+b) < (c+d), then
atan(a*b), else atan(c*d)
- GT4L: if (a+b) > (c+d), then
atan(a*b), else atan(c*d)
- LOE4L: if (a+b) <= (c+d), then
atan(a*b), else atan(c*d)
- GOE4L: if (a+b) >= (c+d), then
atan(a*b), else atan(c*d)
- ET4L: if (a+b) = (c+d), then
atan(a*b), else atan(c*d)
- NET4L: if (a+b) != (c+d), then
atan(a*b), else atan(c*d)
Dynamic UDFs are indexed and are represented by:
Static UDFs are also indexed and are represented by:
|