0

forループを排除し、マルチスレッド化によって速度を上げるために、次のmatlab関数の適切なベクトル化を探しています。

size(A)= N-by- N、ここで30 <= N <= 60

1e4 <= numIter <= 1e6

function val=permApproxStochSquare(A,numIter)
%// A       ... input square non-negative matrix
%// numIter ... number of interations

N=size(A,1);

alpha=zeros(numIter,1);
for curIter=1:numIter
    U=randn(N,N);
    B=U.*sqrt(A);
    alpha(curIter)=det(B)^2;
end

val=mean(alpha);
end
4

1 に答える 1