function A = mkmatrix(SIZE,k,q) rand('state',sum(100*clock)); randn('state',sum(100*clock)); Sigma = sparse(SIZE,SIZE); c = sqrt((6*q*SIZE^2)/(k*(k+1)*(2*k+1))); l = sqrt(((1-q)*SIZE^2)/(SIZE-k)); for i = 1:k, Sigma(i,i) = i * c; end for i = k+1:SIZE, Sigma(i,i) = l; end fprintf('Creating a random orthogonal matrix....') A = qmult(eye(SIZE)); A = A * Sigma; fprintf('Creating second random orthogonal matrix....') Sigma = qmult(eye(SIZE)); A = A * Sigma';