'Returns k draws from q.
For each such draw, the value i is returned with probability
q[i].
Parameters
k : scalar(int), optional
Number of draws to be returned
Returns
array_like(int)
An array of k independent draws from q'

def draw(self, k=1):

    return self.Q.searchsorted(uniform(0, 1, size=k))
