# Kernel

 Kernel = class Kernel(builtins.object) Kernel(integral=1.0, fwhm=1.0, range=1.0)   A kernel is an even real-valued integrable function.   It is satisfying the following two requirements:   1. The integral over [-Inf,+Inf] exists ( < Inf ). 2. It is an even function: K( x ) = K( -x ).   A kernel is called bound when it is 0 everywhere except when |x| < range < inf.   All kernels are scaled such that its value at x=0 is 1.0.     Several kernel functions, K( x ) are defined in this package:   Name        Definition          Integral    FWHM    range   comment Biweight    ( 1-x^2 )^2            16/15    1.08      1.0   aka Tukey CosSquare   cos^2( 0.5*PI*x )        1.0    1.00      1.0 Cosine      cos( 0.5*PI*x )         4/PI    1.33      1.0 Gauss       exp( -0.5*x*x )   sqrt(2*PI)    1.22      inf Huber       min( 1, 1/|x| )          inf    4.00      inf   improper kernel; aka Median Lorentz     1 / ( 1 + x*x )           PI    2.00      inf Parabola    1 - x*x                  4/3    1.41      1.0 Sinc        sin(x) / x               1.0    1.21      1.0 Triangle    1 - |x|                  1.0    1.00      1.0 Tricube     ( 1 - |x|^3 )^3        81/70    1.18      1.0 Triweight   ( 1 - x^2 )^3          32/35    0.91      1.0 Uniform     1.0                      2.0    2.00      1.0   aka Clip   Tophat 0    1.0                      1.0    1.00      0.5   like Uniform        1    1 - |x|                  1.0    1.00      1.0   like Triangle        2    2nd order polynomials    1.0    1.26      1.5        3    3rd order polynomials    1.0    1.44      2.0        4    4th order polynomials    1.0    1.60      2.5        5    5th order polynomials    1.0    1.73      3.0        6    6th order polynomials    1.0    1.86      3.5   For all bound Kernels the definition in the table is true for |x| < range; elsewhere it is 0.   Huber is not a proper Kernel as the integral is inf. However it is important in robust fitting (RobustShell) to get a madian-like solution for the outliers.   Attributes ---------- integral : float     the integral over the valid range fwhm : float     the full width at half maximum range : float     the region [-range..+range] where the kernel is non-zero.   Author:      Do Kester   Category:    mathematics/Fitting Constructor: Kernel( integral=1.0, fwhm=1.0, range=1.0) Constructor   Parameters ---------- integral : float     over [-inf, +inf] fwhm : float     full width at half maximum range : float     the region [-range,+range] where the kernel is nonzero Methods defined here: isBound() Return true when the kernel is bound. All non-zero values are between -1 and +1 name() Return the name of the kernel. partial( x ) Return the partial derivative wrt input value.   Parameters ---------- x : array-like     the input value result( x ) Return the result for one input value.   Parameters ---------- x : array-like     the input value resultsq( xsq ) Return the result for one input value.   Parameters ---------- x : array-like     the input value Parameters: x the square of the input value