docstr: Compare HSGP conditional to unapproximated GP prior, pm.gp.Latent.  Draw samples from the
  prior and compare them using MMD two sample test.  Tests both centered and non-centered
  parameterizations.  The conditional should match the prior when no data is observed.
docstr_tok: ["Compare","HSGP","conditional","to","unapproximated","GP","prior",",","pm.gp.Latent",".","Draw","samples","from","the","prior","and","compare","them","using","MMD","two","sample","test",".","Tests","both","centered","and","non-centered","parameterizations",".","The","conditional","should","match","the","prior","when","no","data","is","observed","."]
code: def test_conditional(self, model, cov_func, X1, parameterization):
      """Compare HSGP conditional to unapproximated GP prior, pm.gp.Latent.  Draw samples from the
      prior and compare them using MMD two sample test.  Tests both centered and non-centered
      parameterizations.  The conditional should match the prior when no data is observed.
      """
      with model:
          hsgp = pm.gp.HSGP(
              m=[100],
              c=2.0,
              parameterization=parameterization,
              cov_func=cov_func,
          )
          f = hsgp.prior("f", X=X1)
          fc = hsgp.conditional("fc", Xnew=X1)
  
          idata = pm.sample_prior_predictive(samples=1000)
  
      samples1 = az.extract(idata.prior["f"])["f"].values.T
      samples2 = az.extract(idata.prior["fc"])["fc"].values.T
  
      h0, mmd, critical_value, reject = two_sample_test(
          samples1, samples2, n_sims=500, alpha=0.01
      )
      assert (
          not reject
      ), "H0 was rejected, even though HSGP prior and conditional should match."
  
imports: import arviz
  import numpy
  import pytensor
  import pytensor.tensor
  import pytest
  from scipy.spatial import distance
  import pymc
label_desc: Use image node_id 6 for calling the TestHSGP obj's underlying member method code with example usage: obj.test_conditional(model, cov_func, X1, parameterization) without return types