def prior_transform(self, unit_coords, priors, prior_args=[]):
    """An example of one way to use the `Prior` objects below to go from unit
    cube to parameter space, for nested sampling.  This takes and returns a
    list instead of an array, to accomodate possible vector parameters.  Thus
    one will need something like ``theta_array=np.concatenate(*theta)``

    :param unit_coords:
        Coordinates on the unit prior hyper-cube.  Iterable.

    :param priors:
        A list of `Prior` objects, iterable of same length as `unit_coords`.

    :param prior_args: (optional)
        A list of dictionaries of prior function keyword arguments.

    :returns theta:
        A list of parameter values corresponding to the given coordinates on
        the prior unit hypercube.
    """
    theta = []
    for i, (u, p) in enumerate(zip(unit_coords, priors)):
        func = p.unit_transform
        try:
            kwargs = prior_args[i]
        except(IndexError):
            kwargs = {}
        theta.append(func(u, **kwargs))
    return theta