class_docstr: Base class for kernels that are stationary, that is, they only depend on
  
      d = x - x'
  
  This class handles 'ard' behaviour, which stands for 'Automatic Relevance
  Determination'. This means that the kernel has one lengthscale per
  dimension, otherwise the kernel is isotropic (has a single lengthscale).
class_docstr_tok: ["Base","class","for","kernels","that","are","stationary",",","that","is",",","they","only","depend","on","d","=","x","-","x'","This","class","handles","'ard","'","behaviour",",","which","stands","for","'Automatic","Relevance","Determination","'",".","This","means","that","the","kernel","has","one","lengthscale","per","dimension",",","otherwise","the","kernel","is","isotropic","(","has","a","single","lengthscale",")","."]
docstr: :param variance: the (initial) value for the variance parameter.
  :param lengthscales: the (initial) value for the lengthscale
      parameter(s), to induce ARD behaviour this must be initialised as
      an array the same length as the number of active dimensions
      e.g. [1., 1., 1.]. If only a single value is passed, this value
      is used as the lengthscale of each dimension.
  :param kwargs: accepts `name` and `active_dims`, which is a list or
      slice of indices which controls which columns of X are used (by
      default, all columns are used).
docstr_tok: [":","param","variance",":","the","(","initial",")","value","for","the","variance","parameter",".",":","param","lengthscales",":","the","(","initial",")","value","for","the","lengthscale","parameter","(","s",")",",","to","induce","ARD","behaviour","this","must","be","initialised","as","an","array","the","same","length","as","the","number","of","active","dimensions","e.g",".","[","1.",",","1.",",","1.","]",".","If","only","a","single","value","is","passed",",","this","value","is","used","as","the","lengthscale","of","each","dimension",".",":","param","kwargs",":","accepts","`","name","`","and","`","active_dims","`",",","which","is","a","list","or","slice","of","indices","which","controls","which","columns","of","X","are","used","(","by","default",",","all","columns","are","used",")","."]
code: def __init__(
      self,
      variance: TensorType = 1.0,
      lengthscales: TensorType = 1.0,
      **kwargs: Any,
  ) -> None:
      """
      :param variance: the (initial) value for the variance parameter.
      :param lengthscales: the (initial) value for the lengthscale
          parameter(s), to induce ARD behaviour this must be initialised as
          an array the same length as the number of active dimensions
          e.g. [1., 1., 1.]. If only a single value is passed, this value
          is used as the lengthscale of each dimension.
      :param kwargs: accepts `name` and `active_dims`, which is a list or
          slice of indices which controls which columns of X are used (by
          default, all columns are used).
      """
      for kwarg in kwargs:
          if kwarg not in {"name", "active_dims"}:
              raise TypeError(f"Unknown keyword argument: {kwarg}")
  
      super().__init__(**kwargs)
      self.variance = Parameter(variance, transform=positive())
      self.lengthscales = Parameter(lengthscales, transform=positive())
      self._validate_ard_active_dims(self.lengthscales)
  
imports: from typing import Any, Optional
  import numpy
  import tensorflow
  from check_shapes import check_shapes, inherit_check_shapes
  from ..base import Parameter, TensorType
  from ..utilities import positive
  from ..utilities.ops import difference_matrix, square_distance
  from .base import ActiveDims, Kernel
label_desc: Use image node_id 1 to create a new Stationary object from inherited base classes: Kernel with example: obj = Stationary(variance, lengthscales)