class_docstr: Exponentiated Sine Squared Kernel.
  
  Also known as the "Periodic" kernel, this kernel, when
  parameterizing a Gaussian Process, results in random functions that are
  periodic almost everywhere (with the same period for every dimension).
  
  ```none
  k(x, y) = amplitude**2 * exp(
    -2  / length_scale ** 2 * sum_k sin(pi * |x_k - y_k| / period) ** 2)
  ```
  
  This kernel acts over the space `S = R^(D1 x D2 x D3 ... Dd)`.
class_docstr_tok: ["Exponentiated","Sine","Squared","Kernel",".","Also","known","as","the","``","Periodic","''","kernel",",","this","kernel",",","when","parameterizing","a","Gaussian","Process",",","results","in","random","functions","that","are","periodic","almost","everywhere","(","with","the","same","period","for","every","dimension",")",".","``","`","none","k","(","x",",","y",")","=","amplitude","*","*","2","*","exp","(","-2","\/","length_scale","*","*","2","*","sum_k","sin","(","pi","*","|x_k","-","y_k|","\/","period",")","*","*","2",")","``","`","This","kernel","acts","over","the","space","`","S","=","R^","(","D1","x","D2","x","D3","...","Dd",")","`","."]
docstr: Construct a ExpSinSquared kernel instance.
  
  Args:
    amplitude: Positive floating point `Tensor` that controls the maximum
      value of the kernel. Must be broadcastable with `period`, `length_scale`
      and inputs to `apply` and `matrix` methods. A value of `None` is treated
      like 1.
    length_scale: Positive floating point `Tensor` that controls how sharp or
      wide the kernel shape is. This provides a characteristic "unit" of
      length against which `|x - y|` can be compared for scale. Must be
      broadcastable with `amplitude`, `period`  and inputs to `apply` and
      `matrix` methods. A value of `None` is treated like 1.
    period: Positive floating point `Tensor` that controls the period of the
      kernel. Must be broadcastable with `amplitude`, `length_scale` and
      inputs to `apply` and `matrix` methods.  A value of `None` is treated
      like 1.
    feature_ndims: Python `int` number of rightmost dims to include in kernel
      computation.
    validate_args: If `True`, parameters are checked for validity despite
      possibly degrading runtime performance
    name: Python `str` name prefixed to Ops created by this class.
docstr_tok: ["Construct","a","ExpSinSquared","kernel","instance",".","Args",":","amplitude",":","Positive","floating","point","`","Tensor","`","that","controls","the","maximum","value","of","the","kernel",".","Must","be","broadcastable","with","`","period","`",",","`","length_scale","`","and","inputs","to","`","apply","`","and","`","matrix","`","methods",".","A","value","of","`","None","`","is","treated","like","1.","length_scale",":","Positive","floating","point","`","Tensor","`","that","controls","how","sharp","or","wide","the","kernel","shape","is",".","This","provides","a","characteristic","``","unit","''","of","length","against","which","`","|x","-","y|","`","can","be","compared","for","scale",".","Must","be","broadcastable","with","`","amplitude","`",",","`","period","`","and","inputs","to","`","apply","`","and","`","matrix","`","methods",".","A","value","of","`","None","`","is","treated","like","1.","period",":","Positive","floating","point","`","Tensor","`","that","controls","the","period","of","the","kernel",".","Must","be","broadcastable","with","`","amplitude","`",",","`","length_scale","`","and","inputs","to","`","apply","`","and","`","matrix","`","methods",".","A","value","of","`","None","`","is","treated","like","1.","feature_ndims",":","Python","`","int","`","number","of","rightmost","dims","to","include","in","kernel","computation",".","validate_args",":","If","`","True","`",",","parameters","are","checked","for","validity","despite","possibly","degrading","runtime","performance","name",":","Python","`","str","`","name","prefixed","to","Ops","created","by","this","class","."]
code: def __init__(
      self,
      amplitude=None,
      length_scale=None,
      period=None,
      feature_ndims=1,
      validate_args=False,
      name="ExpSinSquared",
  ):
      """Construct a ExpSinSquared kernel instance.
  
      Args:
        amplitude: Positive floating point `Tensor` that controls the maximum
          value of the kernel. Must be broadcastable with `period`, `length_scale`
          and inputs to `apply` and `matrix` methods. A value of `None` is treated
          like 1.
        length_scale: Positive floating point `Tensor` that controls how sharp or
          wide the kernel shape is. This provides a characteristic "unit" of
          length against which `|x - y|` can be compared for scale. Must be
          broadcastable with `amplitude`, `period`  and inputs to `apply` and
          `matrix` methods. A value of `None` is treated like 1.
        period: Positive floating point `Tensor` that controls the period of the
          kernel. Must be broadcastable with `amplitude`, `length_scale` and
          inputs to `apply` and `matrix` methods.  A value of `None` is treated
          like 1.
        feature_ndims: Python `int` number of rightmost dims to include in kernel
          computation.
        validate_args: If `True`, parameters are checked for validity despite
          possibly degrading runtime performance
        name: Python `str` name prefixed to Ops created by this class.
      """
      parameters = dict(locals())
      with tf.name_scope(name):
          dtype = util.maybe_get_common_dtype(
              [amplitude, period, length_scale]
          )
          self._amplitude = tensor_util.convert_nonref_to_tensor(
              amplitude, name="amplitude", dtype=dtype
          )
          self._period = tensor_util.convert_nonref_to_tensor(
              period, name="period", dtype=dtype
          )
          self._length_scale = tensor_util.convert_nonref_to_tensor(
              length_scale, name="length_scale", dtype=dtype
          )
          super(ExpSinSquared, self).__init__(
              feature_ndims,
              dtype=dtype,
              name=name,
              validate_args=validate_args,
              parameters=parameters,
          )
  
file_path: probability/tensorflow_probability/python/math/psd_kernels/exp_sin_squared.py
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.math.psd_kernels import positive_semidefinite_kernel
  from tensorflow_probability.python.math.psd_kernels.internal import util
label_desc: Use image node_id 1 to create a new ExpSinSquared object from inherited base classes: psd_kernel with example: obj = ExpSinSquared(amplitude, length_scale, period, feature_ndims, validate_args, name)