class_docstr: The ExponentiatedQuadratic kernel.
  
  Sometimes called the "squared exponential", "Gaussian" or "radial basis
  function", this kernel function has the form
  
    ```none
    k(x, y) = amplitude**2 * exp(-||x - y||**2 / (2 * length_scale**2))
    ```
  
  where the double-bars represent vector length (ie, Euclidean, or L2 norm).
class_docstr_tok: ["The","ExponentiatedQuadratic","kernel",".","Sometimes","called","the","``","squared","exponential","''",",","``","Gaussian","''","or","``","radial","basis","function","''",",","this","kernel","function","has","the","form","``","`","none","k","(","x",",","y",")","=","amplitude","*","*","2","*","exp","(","-||x","-","y||","*","*","2","\/","(","2","*","length_scale","*","*","2",")",")","``","`","where","the","double-bars","represent","vector","length","(","ie",",","Euclidean",",","or","L2","norm",")","."]
docstr: Construct an ExponentiatedQuadratic kernel instance.
  
  Args:
    amplitude: floating point `Tensor` that controls the maximum value
      of the kernel. Must be broadcastable with `length_scale` and inputs to
      `apply` and `matrix` methods. Must be greater than zero. A value of
      `None` is treated like 1.
      Default value: None
    length_scale: 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` and inputs to `apply` and `matrix` methods. A value of
      `None` is treated like 1. Only one of `length_scale` or
      `inverse_length_scale` should be provided.
      Default value: None
    inverse_length_scale: Non-negative floating point `Tensor` that is
      treated as `1 / length_scale`. Only one of `length_scale` or
      `inverse_length_scale` should be provided.
      Default value: None
    feature_ndims: Python `int` number of rightmost dims to include in the
      squared difference norm in the exponential.
    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","an","ExponentiatedQuadratic","kernel","instance",".","Args",":","amplitude",":","floating","point","`","Tensor","`","that","controls","the","maximum","value","of","the","kernel",".","Must","be","broadcastable","with","`","length_scale","`","and","inputs","to","`","apply","`","and","`","matrix","`","methods",".","Must","be","greater","than","zero",".","A","value","of","`","None","`","is","treated","like","1",".","Default","value",":","None","length_scale",":","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","`","and","inputs","to","`","apply","`","and","`","matrix","`","methods",".","A","value","of","`","None","`","is","treated","like","1",".","Only","one","of","`","length_scale","`","or","`","inverse_length_scale","`","should","be","provided",".","Default","value",":","None","inverse_length_scale",":","Non-negative","floating","point","`","Tensor","`","that","is","treated","as","`","1","\/","length_scale","`",".","Only","one","of","`","length_scale","`","or","`","inverse_length_scale","`","should","be","provided",".","Default","value",":","None","feature_ndims",":","Python","`","int","`","number","of","rightmost","dims","to","include","in","the","squared","difference","norm","in","the","exponential",".","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,
      inverse_length_scale=None,
      feature_ndims=1,
      validate_args=False,
      name="ExponentiatedQuadratic",
  ):
      """Construct an ExponentiatedQuadratic kernel instance.
  
      Args:
        amplitude: floating point `Tensor` that controls the maximum value
          of the kernel. Must be broadcastable with `length_scale` and inputs to
          `apply` and `matrix` methods. Must be greater than zero. A value of
          `None` is treated like 1.
          Default value: None
        length_scale: 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` and inputs to `apply` and `matrix` methods. A value of
          `None` is treated like 1. Only one of `length_scale` or
          `inverse_length_scale` should be provided.
          Default value: None
        inverse_length_scale: Non-negative floating point `Tensor` that is
          treated as `1 / length_scale`. Only one of `length_scale` or
          `inverse_length_scale` should be provided.
          Default value: None
        feature_ndims: Python `int` number of rightmost dims to include in the
          squared difference norm in the exponential.
        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())
      if (length_scale is not None) and (
          inverse_length_scale is not None
      ):
          raise ValueError(
              "Must specify at most one of `length_scale` and "
              "`inverse_length_scale`."
          )
      with tf.name_scope(name):
          dtype = util.maybe_get_common_dtype(
              [amplitude, length_scale, inverse_length_scale]
          )
          self._amplitude = tensor_util.convert_nonref_to_tensor(
              amplitude, name="amplitude", dtype=dtype
          )
          self._length_scale = tensor_util.convert_nonref_to_tensor(
              length_scale, name="length_scale", dtype=dtype
          )
          self._inverse_length_scale = (
              tensor_util.convert_nonref_to_tensor(
                  inverse_length_scale,
                  name="inverse_length_scale",
                  dtype=dtype,
              )
          )
          super(ExponentiatedQuadratic, self).__init__(
              feature_ndims,
              dtype=dtype,
              name=name,
              validate_args=validate_args,
              parameters=parameters,
          )
  
file_path: probability/tensorflow_probability/python/math/psd_kernels/exponentiated_quadratic.py
imports: 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 ExponentiatedQuadratic object from inherited base classes: psd_kernel with example: obj = ExponentiatedQuadratic(amplitude, length_scale, inverse_length_scale, feature_ndims, validate_args, name)