GP kernel dependent on latent variables

@smartass101 Case 2 is pretty straightforward. The docs are purposely vague (‘array-like’) so that things like that are allowed. Take a look at this example. The inducing point locations Xu have a prior distribution. You can treat the actual inputs in a similar fashion. For uncertain inputs, you could do something like:

X_mu = np.linspace(0, 10, 100)
X = pm.Normal("X", mu=X_mu, sd=0.05)
# be sure to reshape X into a column vector before passing to GP (if it's 1D)
f = gp.prior("f", X[:,None])

Regarding case 1, this does require more thought, but is possible too. Take a look at the Gibbs and WarpedInput covariance functions in the docs, they were designed for these types of scenarios. The input warping you do or the lengthscale function you define will need to be implemented in Theano. of course.