00 uint8]  0 to 255
  %   test_images: [28x28x10000 uint8]
  %  train_labels: [60000x1 uint8]
  %   test_labels: [10000x1 uint8]
  h = 28; w = 28; d= h*w;
  ndx = find(mnist.train_labels==3);
  ndx = ndx(1:1000); n = length(ndx); 
  X = double(reshape(mnist.train_images(:,:,ndx),[d n]))';
  name = 'mnist3'
end

if 1
  loadData('olivettiFaces'); % 0 to 255, from http://www.cs.toronto.edu/~roweis/data.html
  X=faces'; clear faces; % 4096x400  (64x64=4096) 
  % 10 images per person, 40 images
  y = repmat((1:4