I have recently used the command cdfMvn() for obtaining multivariate normal CDF of a random vector z=[z1,...,zT]. However, I noticed that it T<=8, running the code below:
ulim = zeros(T,1);
corr = eye(T);
p = cdfMvn(ulim, corr);
it takes about 33 secs in my laptop. If I change T to be 10, it takes 2 mins, and if T=22, then GAUSS returns '.' as a result, which seems to be an empty value.
I am confused about this result and I would be appreciate if anyone can give me a solution of this issue.
Thank you so much in advance.
cdfMVne is much, much faster than
cdfMVn. For your example on my Macbook,
cdfMVn takes about 12 seconds and
cdfMVne takes about 0.00094 seconds. I would recommend creating a procedure to wrap
cdfMVne and make it simpler for repeated use. Note that
cdfMVne has options to control the tolerance for convergence. However, with default settings I get the expected answer
0.5^8 = 0.00390625.