class_docstr: Generic 1D Kernel object.
  Can be constructed by selecting a standard named Kernel,
  or providing a lambda expression and domain.
  The domain allows some algorithms to run faster for finite domain kernels.
class_docstr_tok: ["Generic","1D","Kernel","object",".","Can","be","constructed","by","selecting","a","standard","named","Kernel",",","or","providing","a","lambda","expression","and","domain",".","The","domain","allows","some","algorithms","to","run","faster","for","finite","domain","kernels","."]
docstr: Returns the second moment of the kernel
code: def kernel_var(self):
      """Returns the second moment of the kernel"""
      if self._kernel_var is None:
          func = lambda x: x**2 * self.norm_const * self._shape(x)
          if self.domain is None:
              self._kernel_var = scipy.integrate.quad(func, -inf, inf)[
                  0
              ]
          else:
              self._kernel_var = scipy.integrate.quad(
                  func, self.domain[0], self.domain[1]
              )[0]
      return self._kernel_var
  
imports: from statsmodels.compat.python import lzip, lfilter
  import numpy
  import scipy.integrate
  from scipy.special import factorial
  from numpy import exp, multiply, square, divide, subtract, inf
label_desc: Use image node_id 13 for calling the CustomKernel obj's underlying member method code with example usage: obj.kernel_var() and returns: self