Generate random samples from the distribution

        Parameters
        ----------
        n : int, optional(default=1)
            The number of samples to generate

        Returns
        -------
        out : array_like
            The generated samples

def rand(self, n=1):
        """
        Generate random samples from the distribution

        Parameters
        ----------
        n : int, optional(default=1)
            The number of samples to generate

        Returns
        -------
        out : array_like
            The generated samples

        """
        if n == 1:
            return self._rand1()
        else:
            out = np.empty((n, self._p, self._p))
            for i in range(n):
                out[i] = self._rand1()

            return out