class_docstr: Schur complement kernel, damped by scalar factors.
  
  This kernel is the same as the SchurComplement kernel, except we multiply by
  the following factor:
  
  `(df + b - 2) / (df + n - 2)`, where:
  
    * `df` is the degrees of freedom parameter.
    * `n` is the number of observations for `fixed_inputs`.
    * `b` is `||divisor_matrix_cholesky^-1 fixed_inputs_observations|| ** 2`.
class_docstr_tok: ["Schur","complement","kernel",",","damped","by","scalar","factors",".","This","kernel","is","the","same","as","the","SchurComplement","kernel",",","except","we","multiply","by","the","following","factor",":","`","(","df","+","b","-","2",")","\/","(","df","+","n","-","2",")","`",",","where",":","*","`","df","`","is","the","degrees","of","freedom","parameter",".","*","`","n","`","is","the","number","of","observations","for","`","fixed_inputs","`",".","*","`","b","`","is","`","||divisor_matrix_cholesky^-1","fixed_inputs_observations||","*","*","2","`","."]
code: def __init__(
      self,
      df,
      schur_complement,
      fixed_inputs_observations,
      observations_is_missing=None,
      validate_args=False,
      name="DampedSchurComplement",
  ):
      parameters = dict(locals())
      with tf.name_scope(name) as name:
          kernel_dtype = schur_complement.dtype
  
          # If the input dtype is non-nested float, we infer a single dtype for the
          # input and the float parameters, which is also the dtype of the STP's
          # samples, log_prob, etc. If the input dtype is nested (or not float), we
          # do not use it to infer the STP's float dtype.
          if not tf.nest.is_nested(
              kernel_dtype
          ) and dtype_util.is_floating(kernel_dtype):
              dtype = dtype_util.common_dtype(
                  dict(
                      schur_complement=schur_complement,
                      fixed_inputs_observations=fixed_inputs_observations,
                      df=df,
                  ),
                  dtype_hint=tf.float32,
              )
              kernel_dtype = dtype
          else:
              dtype = dtype_util.common_dtype(
                  dict(
                      fixed_inputs_observations=fixed_inputs_observations,
                      df=df,
                  ),
                  dtype_hint=tf.float32,
              )
          self._schur_complement = schur_complement
          self._df = tensor_util.convert_nonref_to_tensor(
              df, name="df", dtype=dtype
          )
          self._observations_is_missing = (
              tensor_util.convert_nonref_to_tensor(
                  observations_is_missing,
                  name="observations_is_missing",
                  dtype=tf.bool,
              )
          )
          self._fixed_inputs_observations = (
              tensor_util.convert_nonref_to_tensor(
                  fixed_inputs_observations,
                  name="fixed_inputs_observations",
                  dtype=dtype,
              )
          )
  
      super(DampedSchurComplement, self).__init__(
          feature_ndims=schur_complement.feature_ndims,
          dtype=kernel_dtype,
          name=name,
          parameters=parameters,
      )
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python import util
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import cholesky_util
  from tensorflow_probability.python.distributions import student_t_process
  from tensorflow_probability.python.distributions.internal import stochastic_process_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import nest_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  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 import schur_complement
  from tensorflow.python.util import deprecation
label_desc: Use image node_id 1 to create a new DampedSchurComplement object from inherited base classes: psd_kernel with example: obj = DampedSchurComplement(df, schur_complement, fixed_inputs_observations, observations_is_missing, validate_args, name)