code: def variance_values(self, beta):
               
          parm = np.array([self.latent_variables.z_list[k].prior.transform(beta[k]) for k in range(beta.shape[0])])
          L = self._L(parm)
          v = la.cho_solve((L, True), self.kernel.K(parm))
          return self.kernel.K(parm) - np.dot(v.T, v)
docs: Covariance matrix for the estimated function
          
          Parameters
          ----------
          beta : np.array
              Contains untransformed starting values for latent variables
          
          Returns
          ----------
          Covariance matrix for the estimated function