def __ginibre_matrix(nrow, ncol=None, seed=None):
if ncol is None:<EOL><INDENT>ncol = nrow<EOL><DEDENT>if seed is not None:<EOL><INDENT>np.random.seed(seed)<EOL><DEDENT>G = np.random.normal(size=(nrow, ncol)) +np.random.normal(size=(nrow, ncol)) * <NUM_LIT><EOL>return G<EOL>
Return a normally distributed complex random matrix.

Args:
    nrow (int): number of rows in output matrix.
    ncol (int): number of columns in output matrix.
    seed (int): Optional. To set a random seed.
Returns:
    ndarray: A complex rectangular matrix where each real and imaginary
        entry is sampled from the normal distribution.