function plotgaussianvandermonde(N)
  
  L=N;
  
  rhos = [];
  capacitiesV = [];
  capacitiesG = [];
  truecapacitiesG = [];
  
  
  for (rho=0.1:0.1:10) 
    rho
    for (numsamples=1:1:10)
      V = zeros(N,L);
      for (k=1:L) 
        V(:,k) = ((exp(2*pi*j*rand(1))).^(0:(N-1)))';
      end
      V = (1/sqrt(N))*V;
      capacitiesV = [ capacitiesV (1/N)*log2(det( eye(N,N) + rho * V * V' )) ];
      
      G = randn(L,N);
      capacitiesG = [ capacitiesG (1/N)*log2(det( eye(N,N) + rho * (1/N) * G * G' )) ];
      sqrroot = (sqrt(1+4*rho)-1)^2;
      truecapacitiesG = [truecapacitiesG     (2*log2( 1 + rho - (1/4)*sqrroot ) - log2(exp(1))*sqrroot/(4*rho)) ];
      
      rhos = [rhos rho];
    end
  end
  
  plot(rhos,capacitiesV,'k.');
  xlabel('\rho');
  ylabel('Capacity');
  axis([0 10 0 3]);
  print -deps ../images/vandermondesamples.eps
  
  plot(rhos,truecapacitiesG,'k-',rhos,capacitiesG,'k.');
  xlabel('\rho');
  ylabel('Capacity');
  legend('Asymptotic capacity','sample capacity')
  axis([0 10 0 3]);
  print -deps ../images/gaussiansamples.eps
  
  
  
 