Math functions¶
qm.qua.lib.Math
¶
abs
staticmethod
¶
Computes the absolute value of x
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA variable
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
aelu
staticmethod
¶
Computes faster an approximated Exponential Linear Unit activation function of x \(\mathrm{aELU}(x) \sim \mathrm{ELU}(x)\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
argmax
staticmethod
¶
Return the index of the maximum of an array
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA array
|
RETURNS | DESCRIPTION |
---|---|
the index of maximum value of array, a QUA Integer |
argmin
staticmethod
¶
Return the index of the minimum of an array
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA array
|
RETURNS | DESCRIPTION |
---|---|
the index of minimum value of array, a QUA Integer |
cos
staticmethod
¶
Computes \(\mathrm{cos}(x)\)
PARAMETER | DESCRIPTION |
---|---|
x |
the angle in radians
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
cos2pi
staticmethod
¶
Computes \(\mathrm{cos}(2 \pi x)\).
This is more efficient than Math.cos(\(2 \pi x\)).
In addition, this function is immune to overflows: An overflow means that the argument gets a :math:\pm 16
, which does not change the result due to the periodcity of the cosine function.
PARAMETER | DESCRIPTION |
---|---|
x |
the angle in radians
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
div
staticmethod
¶
Computes the division between two same-type variables \(x/y\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA parameter
|
y |
a QUA parameter not equal to 0
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
dot
staticmethod
¶
elu
staticmethod
¶
Computes the Exponential Linear Unit activation function of x \(\mathrm{ELU(x)} = \mathrm{max}(0, x) + \mathrm{min}(0, \mathrm{exp}(x)-1)\).
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
exp
staticmethod
¶
Computes \(e^{x}\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed smaller than ln(8)=2.0794415416
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
inv
staticmethod
¶
Computes the inverse of x
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed which is x<=-1/8 or 1/8<x
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
inv_sqrt
staticmethod
¶
Computes the inverse square root of x
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed larger than 1/64
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
ln
staticmethod
¶
Computes \(\mathrm{ln}(x)\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed larger than exp(-8)=0.0003354627
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
log
staticmethod
¶
Computes \(\mathrm{log}_{base}(x)\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed larger than pow2(-8)=0.00390625
|
base |
a QUA fixed larger than pow2(1/8)=1.09051
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
log10
staticmethod
¶
Computes \(\mathrm{log}_{10}(x)\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed larger than pow10(-8)=0.00000001
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
log2
staticmethod
¶
Computes \(\mathrm{log}_{2}(x)\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed larger than pow2(-8)=0.00390625
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
lrelu
staticmethod
¶
Computes the Leaky Rectified Linear Unit activation function of x \(\mathrm{LReLU}(x)=\mathrm{max}(0, x)+0.01*\mathrm{min}(0, x)\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
max
staticmethod
¶
Computes the max of an array x
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA array
|
RETURNS | DESCRIPTION |
---|---|
the max value of the array, has same type as x |
min
staticmethod
¶
Computes the min of an array x
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA array
|
RETURNS | DESCRIPTION |
---|---|
the min value of the array, has same type as x |
msb
staticmethod
¶
Finds the index of the most significant bit in the parameter x. Notes:
- Result is independent of sign, for example, +3 and -3 will return the same msb
- The returned value will be the closet log2, rounded down.
This is given by \(\mathrm{floor}(\mathrm{log}_2(|x|))\).
For example:
- msb(0.1) will return -4.
- msb(5) will return 2.
- For an integer, msb(0) will return 0.
- For a fixed point number, msb(0) will return -28.
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed or a QUA int
|
RETURNS | DESCRIPTION |
---|---|
a QUA int |
plrelu
staticmethod
¶
Computes the Parametric Leaky Rectified Linear Unit activation function of x \(\mathrm{PLReLU}(x, a) = \mathrm{max}(0, x)+a*\mathrm{min}(0, x)\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed
|
a |
a QUA fixed
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
pow
staticmethod
¶
Computes \({base}^{x}\). Does not support base=1, nor the case where both base=0 & x=0.
PARAMETER | DESCRIPTION |
---|---|
base |
a non-negative QUA fixed
|
x |
a QUA fixed
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
pow2
staticmethod
¶
Computes \(2^{x}\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed smaller than 3 (to avoid overflow)
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
relu
staticmethod
¶
Computes the Rectified Linear Unit activation function of x \(\mathrm{ReLU}(x) = \mathrm{max}(0, x)\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
selu
staticmethod
¶
Computes the Scaled Exponential Linear Unit activation function of x \(\mathrm{SELU}(x) = s*(\mathrm{max}(0, x)+a*\mathrm{min}(0, \mathrm{exp}(x)-1))\), \(a=1.67326324\), \(s=1.05070098\)
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA fixed
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
sin
staticmethod
¶
Computes \(\mathrm{sin}(x)\)
PARAMETER | DESCRIPTION |
---|---|
x |
the angle in radians
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
sin2pi
staticmethod
¶
Computes \(\mathrm{sin}(2 \pi x)\).
This is more efficient than Math.sin(2*np.pi*x)
.
In addition, this function is immune to overflows: An overflow means that the argument gets a \(\pm 16\), which does not change the result due to the periodicity of the sine function.
PARAMETER | DESCRIPTION |
---|---|
x |
the angle in radians
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
sqrt
staticmethod
¶
Computes the square root of x
PARAMETER | DESCRIPTION |
---|---|
x |
a non-negative QUA fixed
|
RETURNS | DESCRIPTION |
---|---|
a QUA fixed |
sum
staticmethod
¶
Computes the sum of an array x
PARAMETER | DESCRIPTION |
---|---|
x |
a QUA array
|
RETURNS | DESCRIPTION |
---|---|
the sum of the array, has same type as x |