code: def sample(self, size=None):
          
          self._recompute()
          if size is None:
              n = np.random.randn(len(self._t))
          else:
              n = np.random.randn(len(self._t), size)
          n = self.solver.dot_L(n)
          if size is None:
              return self.mean.get_value(self._t) + n[:, 0]
          return self.mean.get_value(self._t)[None, :] + n.T
docs: Sample from the prior distribution over datasets
  
          Args:
              size (Optional[int]): The number of samples to draw.
  
          Returns:
              array[n] or array[size, n]: The samples from the prior
              distribution over datasets.