code: def testBaseKernelNoneDtype(self):
      # Test that we don't have problems when base_kernel has no explicit dtype
      # (ie, params are all None), but fixed_inputs has a different dtype than the
      # "common_dtype" default value of np.float32.
      fixed_inputs = np.arange(3, dtype=np.float64).reshape([3, 1])
  
      # Should raise when there's an explicit mismatch.
      with self.assertRaises(TypeError):
          k = schur_complement.SchurComplement(
              exponentiated_quadratic.ExponentiatedQuadratic(
                  np.float32(1)
              ),
              fixed_inputs,
          )
  
      # Should not throw an exception when the kernel doesn't get an explicit
      # dtype from its inputs.
      k = schur_complement.SchurComplement(
          exponentiated_quadratic.ExponentiatedQuadratic(), fixed_inputs
      )
      k.matrix(fixed_inputs, fixed_inputs)
  
imports: import functools
  import itertools
  from unittest import mock
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import cholesky_util
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.math.psd_kernels import exponentiated_quadratic
  from tensorflow_probability.python.math.psd_kernels import schur_complement
  from tensorflow_probability.python.math.psd_kernels.internal import test_util
label_desc: Use image node_id 8 for calling the SchurComplementTest obj's underlying member method code with example usage: obj.testBaseKernelNoneDtype() without return types