Source code for psdr.domains.uniform

from __future__ import division

import numpy as np

from .random import RandomDomain
from .box import BoxDomain

[docs]class UniformDomain(BoxDomain, RandomDomain): r""" A randomized version of a BoxDomain with a uniform measure on the space. """ def _pdf(self, X): area = np.prod([ (ub - lb) for lb, ub in zip(self.lb, self.ub)]) return self.isinside(X).astype(np.float)/area