Really cool work on stochastic trace estimation and implementation.
I have a basic question regarding the 'improved' implementations. Namely, to rescale the sampled test-vectors both XTrace anx XNysTrace perform something along the lines of,
...
S = cnormc(inv(R)');
scale = (n - m + 1) ./ (n - (vecnorm(W)').^2 + abs(diag_prod(S,W) .* vecnorm(S)').^2);
Is the point-wise multiplication between diag_prod(S, W) with vecnorm(S) necessary? S is computed by standardizing inv(R)', so vecnorm(S)' should be 1. Is that correct, and if so, I suppose the additional multiplication can be dropped?
Hi!
Really cool work on stochastic trace estimation and implementation.
I have a basic question regarding the 'improved' implementations. Namely, to rescale the sampled test-vectors both XTrace anx XNysTrace perform something along the lines of,
Is the point-wise multiplication between
diag_prod(S, W)
withvecnorm(S)
necessary?S
is computed by standardizinginv(R)'
, sovecnorm(S)'
should be 1. Is that correct, and if so, I suppose the additional multiplication can be dropped?