class_docstr: Tests the correctness of the Y = X ** 2 transformation.
code: def testBijectorScalar(self):
      bijector = square.Square(validate_args=True)
      self.assertStartsWith(bijector.name, "square")
      x = [[[1.0, 5], [2, 1]], [[np.sqrt(2.0), 3], [np.sqrt(8.0), 1]]]
      y = np.square(x)
      ildj = -np.log(2.0) - np.log(x)
      self.assertAllClose(y, self.evaluate(bijector.forward(x)))
      self.assertAllClose(x, self.evaluate(bijector.inverse(y)))
      self.assertAllClose(
          ildj,
          self.evaluate(
              bijector.inverse_log_det_jacobian(y, event_ndims=0)
          ),
          atol=0.0,
          rtol=1e-7,
      )
      self.assertAllClose(
          self.evaluate(
              -bijector.inverse_log_det_jacobian(y, event_ndims=0)
          ),
          self.evaluate(
              bijector.forward_log_det_jacobian(x, event_ndims=0)
          ),
          atol=0.0,
          rtol=1e-7,
      )
  
imports: import numpy
  from tensorflow_probability.python.bijectors import bijector_test_util
  from tensorflow_probability.python.bijectors import square
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 1 for calling the SquareBijectorTest obj's underlying member method code with example usage: obj.testBijectorScalar() without return types