From: Paul K. <pki...@us...> - 2005-11-20 22:46:20
|
Update of /cvsroot/octave/octave-forge/main/statistics In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv382 Modified Files: mvnrnd.m Log Message: Add comments about accuracy testing. Index: mvnrnd.m =================================================================== RCS file: /cvsroot/octave/octave-forge/main/statistics/mvnrnd.m,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- mvnrnd.m 6 Nov 2005 03:12:39 -0000 1.1 +++ mvnrnd.m 20 Nov 2005 22:46:13 -0000 1.2 @@ -91,5 +91,14 @@ % U = sqrt(Lambda)*E' % If any Lambdas are negative then Sigma just isn't even positive semi-definite % so we can give up. +% +% Paul Kienzle adds: +% Where it exists, chol(Sigma) is numerically well behaved. chol(hilb(12)) +% for doubles and for 100 digit floating point differ in the last digit. +% Where chol(Sigma) doesn't exist, X*sqrt(Lambda)*E' will be somewhat +% accurate. For example, the elements of sqrt(Lambda)*E' for hilb(12), +% hilb(55) and hilb(120) are accurate to around 1e-8 or better. This was +% tested using the TNT+JAMA for eig and chol templates, and qlib for +% 100 digit precision. % }}} |