covmin.m 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. function K = covmin(hyp, x, z)
  2. % See also COVFUNCTIONS.M.
  3. % borrowed from gpml-toolbox of Rasmussen and Nikkisch
  4. % see http://www.gaussianprocess.org/gpml/code/matlab/doc/
  5. if nargin<2, K = '0'; return; end % report number of parameters
  6. if nargin<3, z = []; end % make sure, z exists
  7. xeqz = numel(z)==0; dg = strcmp(z,'diag') && numel(x)>0; % determine mode
  8. ell = exp(0);
  9. % ell = exp(hyp(1)); % exponent for histogram entries
  10. sf2 = exp(0);
  11. % sf2 = exp(hyp(2)); % factor for histogram entries
  12. % precompute min kernel
  13. if dg % vector kxx
  14. K = sum(x,2);
  15. % K = ones(size(x,1),1);
  16. else
  17. if xeqz % symmetric matrix Kxx
  18. K = sf2*min_kernel(x'.^ell);
  19. else % cross covariances Kxz
  20. K = sf2*min_kernel(x'.^ell,z'.^ell);
  21. end
  22. end
  23. if nargin<4 % covariances
  24. else % derivatives
  25. error('not yet implemented')
  26. end