class_docstr: Matern Kernel with parameter 1/2.
  
  This kernel is part of the Matern family of kernels, with parameter 1/2.
  Also known as the Exponential or Laplacian Kernel, a Gaussian process
  parameterized by this kernel, is also known as an Ornstein-Uhlenbeck process
  (https://en.wikipedia.org/wiki/Ornstein%E2%80%93Uhlenbeck_process).
  
  The kernel has the following form:
  
  ```none
    k(x, y) = amplitude ** 2  * exp(-||x - y|| / length_scale)
  ```
  
  where the double-bars represent vector length (i.e. Euclidean, or L2 Norm).
  This kernel, acts over the space `S = R^(D1 x D2 .. x Dd)`.
class_docstr_tok: ["Matern","Kernel","with","parameter","1\/2",".","This","kernel","is","part","of","the","Matern","family","of","kernels",",","with","parameter","1\/2",".","Also","known","as","the","Exponential","or","Laplacian","Kernel",",","a","Gaussian","process","parameterized","by","this","kernel",",","is","also","known","as","an","Ornstein-Uhlenbeck","process","(","https",":","\/\/en.wikipedia.org\/wiki\/Ornstein","%","E2","%","80","%","93Uhlenbeck_process",")",".","The","kernel","has","the","following","form",":","``","`","none","k","(","x",",","y",")","=","amplitude","*","*","2","*","exp","(","-||x","-","y||","\/","length_scale",")","``","`","where","the","double-bars","represent","vector","length","(","i.e",".","Euclidean",",","or","L2","Norm",")",".","This","kernel",",","acts","over","the","space","`","S","=","R^","(","D1","x","D2","..","x","Dd",")","`","."]
docstr: Construct a MaternOneHalf kernel instance.
  
  Args:
    amplitude: Positive floating point `Tensor` that controls the maximum
      value of the kernel. Must be broadcastable with `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` and inputs to `apply` and `matrix`
      methods. A value of `None` is treated like 1.
    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="MaternOneHalf",
  ):
      """Construct a MaternOneHalf kernel instance.
  
      Args:
        amplitude: Positive floating point `Tensor` that controls the maximum
          value of the kernel. Must be broadcastable with `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` and inputs to `apply` and `matrix`
          methods. A value of `None` is treated like 1.
        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())
      with tf.name_scope(name) as name:
          dtype = super(MaternOneHalf, self)._init_params(
              amplitude, length_scale, inverse_length_scale
          )
          super(MaternOneHalf, self).__init__(
              feature_ndims,
              dtype=dtype,
              name=name,
              validate_args=validate_args,
              parameters=parameters,
          )
  
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 import bessel
  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 MaternOneHalf object from inherited base classes: _AmplitudeLengthScaleMixin, psd_kernel with example: obj = MaternOneHalf(amplitude, length_scale, inverse_length_scale, feature_ndims, validate_args, name)