def METHOD_NAME(
    self, num_samples: Optional[int] = None, dtype=np.float32
) -> Tensor:
    def s(xi: Tensor, beta: Tensor) -> Tensor:
        F = getF(xi)
        sample_U = uniform.Uniform(
            F.zeros_like(xi), F.ones_like(xi)
        ).METHOD_NAME()
        boxcox = box_cox_transform.BoxCoxTransform(-xi, F.array([0]))
        sample_X = -1 * boxcox.f(1 - sample_U) * beta
        return sample_X
    samples = _sample_multiple(
        s,
        xi=self.xi,
        beta=self.beta,
        num_samples=num_samples,
    )
    return self.F.clip(
        data=samples, a_min=np.finfo(dtype).eps, a_max=np.finfo(dtype).max
    )