code: def testQrEquivalenceUpToN(self):
      shp = (5, 13, 7)
      # Ensure the matrix is well conditioned.
      mat = tf.random.normal(shp, seed=test_util.test_seed())
      mat = tf.linalg.matmul(mat, mat, transpose_b=True)
      mat = tf.linalg.set_diag(mat, tf.linalg.diag_part(mat) + 1.0)
      mat = self.evaluate(tf.math.l2_normalize(mat, axis=-2))
      n_vecs = 4
      # The two are identical up to sign.
      self.assertAllClose(
          tf.math.abs(tf.linalg.qr(mat).q)[..., :n_vecs],
          tf.math.abs(gram_schmidt(mat, n_vecs))[..., :n_vecs],
          rtol=1e-5,
      )
  
file_path: probability/tensorflow_probability/python/math/gram_schmidt_test.py
imports: import numpy
  import scipy.linalg
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math.gram_schmidt import gram_schmidt
label_desc: Use image node_id 7 for calling the GramSchmidtTest obj's underlying member method code with example usage: obj.testQrEquivalenceUpToN() without return types