code: def testApplyShapesAreCorrect(self):
      for example_ndims in range(0, 4):
          # An integer generator.
          ints = itertools.count(start=2, step=1)
          feature_shape = [next(ints), next(ints)]
  
          x_batch_shape = [next(ints)]
          z_batch_shape = [next(ints), 1]
          num_x = [next(ints) for _ in range(example_ndims)]
          num_z = [next(ints)]
  
          x_shape = x_batch_shape + num_x + feature_shape
          z_shape = z_batch_shape + num_z + feature_shape
  
          x = np.ones(x_shape, np.float64)
          z = np.random.uniform(-1.0, 1.0, size=z_shape)
  
          base_kernel = exponentiated_quadratic.ExponentiatedQuadratic(
              amplitude=np.ones([next(ints), 1, 1], np.float64),
              feature_ndims=len(feature_shape),
          )
  
          k = schur_complement.SchurComplement(
              base_kernel, fixed_inputs=z
          )
  
          expected = (
              broadcast_shapes(
                  base_kernel.batch_shape, x_batch_shape, z_batch_shape
              )
              + num_x
          )
          actual = k.apply(x, x, example_ndims=example_ndims).shape
  
          self.assertAllEqual(expected, actual)
  
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 4 for calling the SchurComplementTest obj's underlying member method code with example usage: obj.testApplyShapesAreCorrect() without return types