docstr: Orthogonal.
docstr_tok: ["Orthogonal","."]
code: def test_orthogonal(self):
      """Orthogonal."""
      for s in ((10, 100), (100, 10), (10, 10)):
          for gain in (1, 2):
              init = np.asarray(objax.nn.init.orthogonal(s, gain=gain))
              eye = init @ init.T if s[0] < s[1] else init.T @ init
              eye /= gain**2
              diff = eye - np.eye(np.min(s))
              self.assertAlmostEqual(
                  np.linalg.norm(diff), 0, delta=1e-2, msg=(s, gain)
              )
  
file_path: objax/tests/nn_init.py
imports: import unittest
  import numpy
  import scipy.stats
  import objax
label_desc: Use image node_id 7 for calling the TestNNInit obj's underlying member method code with example usage: obj.test_orthogonal() without return types