Available kernels
When constructing a :class:dcgpy.kernel_set_double, :class:dcgpy.kernel_set_gdual_double ``
or :class:``dcgpy.kernel_set_gdual_vdouble we can use the following names to add the corresponding
kernels to the set.
| Kernel name | Function | Definition | 
|---|---|---|
| Basic operations | ||
| “sum” | addition | \(\sum_i x_i\) | 
| “diff” | subtraction | \(x_1 - \sum_{i=2} x_i\) | 
| “mul” | multiplication | \(\prod_i x_i\) | 
| “div” | division | \(x_1 / \prod_{i=2} x_i\) | 
| “pdiv” | protected division | \(x_1 / \prod_{i=2} x_i\) or 1 if NaN | 
| Unary non linearities (ignoring all inputs after the first one) | ||
| “sin” | sine | \(\sin x_1\) | 
| “cos” | cosine | \(\cos x_1\) | 
| “log” | natural logarithm | \(\log x_1\) | 
| “exp” | exponential | \(e^{x_1}\) | 
| “gaussian” | gaussian | \(e^{-x_1^2}\) | 
| “sqrt” | square root | \(\sqrt{x_1}\) | 
| “psqrt” | protected square root | \(\sqrt{|x_1|}\) | 
| Non linearities suitable also for dCGPANN | ||
| “sig” | sigmoid | \(\frac{1}{1 + e^{-\sum_i x_i}}\) | 
| “tanh” | hyperbolic tangent | \(\tanh \left(\sum_i x_i\right)\) | 
| “ReLu” | rectified linear unit | \(\sum_i x_i\) if positive, 0 otherwise | 
| “ELU” | exp linear unit | \(\sum_i x_i\) if positive, \(e^{\sum_i x_i} - 1\) otherwise | 
| “ISRU” | Inverse square root unit | \(\frac{\sum_i x_i}{\sqrt{1 + \left(\sum_i x_i\right)^2}}\) | 
| “sum” | addition | \(\sum_i x_i\) |