parameters: (self, n)
return_statement: return q
docstring: Construct an n x n orthogonal matrix.
  
      Args:
        n: Dimension.
  
      Returns:
        A n x n orthogonal matrix.
docstring_summary: Construct an n x n orthogonal matrix.
docstring_tokens: Construct an n x n orthogonal matrix .
function: def _orthogonal_matrix(self, n):
      """Construct an n x n orthogonal matrix.
  
      Args:
        n: Dimension.
  
      Returns:
        A n x n orthogonal matrix.
      """
      a = random_ops.random_normal([n, n], dtype=self.dtype, seed=self.seed)
      if self.seed:
        self.seed += 1
      q, r = gen_linalg_ops.qr(a)
      d = array_ops.diag_part(r)
      # make q uniform
      q *= math_ops.sign(d)
      return q
function_tokens: def _orthogonal_matrix ( self , n ) : a = random_ops . random_normal ( [ n , n ] , dtype = self . dtype , seed = self . seed ) if self . seed : self . seed += 1 q , r = gen_linalg_ops . qr ( a ) d = array_ops . diag_part ( r ) # make q uniform q *= math_ops . sign ( d ) return q