class_docstr: Base class for anisotropic stationary kernels, i.e. kernels that only
  depend on
  
      d = x - x'
  
  Derived classes should implement K_d(self, d): Returns the kernel evaluated
  on d, which is the pairwise difference matrix, scaled by the lengthscale
  parameter ℓ (i.e. [(X - X2ᵀ) / ℓ]). The last axis corresponds to the
  input dimension.
class_docstr_tok: ["Base","class","for","anisotropic","stationary","kernels",",","i.e",".","kernels","that","only","depend","on","d","=","x","-","x'","Derived","classes","should","implement","K_d","(","self",",","d",")",":","Returns","the","kernel","evaluated","on","d",",","which","is","the","pairwise","difference","matrix",",","scaled","by","the","lengthscale","parameter","\u2113","(","i.e",".","[","(","X","-","X2\u1d40",")","\/","\u2113","]",")",".","The","last","axis","corresponds","to","the","input","dimension","."]
docstr: Returns [(X - X2ᵀ) / ℓ]. If X has shape [..., N, D] and
  X2 has shape [..., M, D], the output will have shape [..., N, M, D].
docstr_tok: ["Returns","[","(","X","-","X2\u1d40",")","\/","\u2113","]",".","If","X","has","shape","[","...",",","N",",","D","]","and","X2","has","shape","[","...",",","M",",","D","]",",","the","output","will","have","shape","[","...",",","N",",","M",",","D","]","."]
code: def scaled_difference_matrix(
      self, X: TensorType, X2: Optional[TensorType] = None
  ) -> tf.Tensor:
      """
      Returns [(X - X2ᵀ) / ℓ]. If X has shape [..., N, D] and
      X2 has shape [..., M, D], the output will have shape [..., N, M, D].
      """
      return difference_matrix(self.scale(X), self.scale(X2))
  
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 3 for calling the AnisotropicStationary obj's underlying member method code with example usage: obj.scaled_difference_matrix(X, X2) and returns: difference_matrix