code: def sample_conditional(self, y, t=None, size=None):
          
          mu, cov = self.predict(y, t, return_cov=True)
          return np.random.multivariate_normal(mu, cov, size=size)
docs: Sample from the conditional (predictive) distribution
  
          Note: this method scales as ``O(M^3)`` for large ``M``, where
          ``M == len(t)``.
  
          Args:
              y (array[n]): The observations at coordinates ``x`` from
                  :func:`GP.compute`.
              t (Optional[array[ntest]]): The independent coordinates where the
                  prediction should be made. If this is omitted the coordinates
                  will be assumed to be ``x`` from :func:`GP.compute` and an
                  efficient method will be used to compute the prediction.
              size (Optional[int]): The number of samples to draw.
  
          Returns:
              array[n] or array[size, n]: The samples from the conditional
              distribution over datasets.