Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
This is afollowup to amessage that I posted a few days ago, but it's expired here so I can't continue the thread. I've detected a feature with the PV-WAVE routine invert, which inverts a matrix. This routine has an optional parameter, status, which has the following states 0 = everything ok 1 = matrix was singular 2 = a small pivot element was used and it is likely that significant accuracy was lost (the routine uses Gaussian elimination) I looked at the value of status & for every example I tried status was set to 2 However on doing PRINT, (INVERT(INVERT(matrix))-matrix)/matrix ie finding the fractional error, this turns out to be on the 10e-6 to 10e-7 level. Status was always 2. This seemed to indicate that the status level of 2 is somewhat useless I e-mailed PV-WAVE support in the UK with this and this is the response that I got. I tried what he suggests. The PV-WAVE Advantage routine gives a 10e-6 to 10e-7 fractional error on single precision and 10e-14 to 10e-15 for double precision. John Black ------- Forwarded Message From: tom@vniuk.co.uk (Tom Gowers) To: black Subject: Re: problem with PV-WAVE routine INVERT Date: Wed, 28 Jun 1995 12:03:50 +0100 John, Having tried out a couple of tests myself with INVERT, you are right that the status always seems to get set to 2. The consensus was that where possible, if you have access to PV-WAVE Advantage then use the routines from that in preference to the Command Language routine if very high precision is of paramount importance to you. (ie. in this case use INV rather than INVERT, or as another example use FFTCOMP rather than FFT). However, upon comparison of INV and INVERT on a 100x100 array, it seems that the accuracy is the same down to at least 7 decimal places. So in summary, I wouldn't worry too much about the status value, and if precision of very high levels is of importance then try to use the equivalent Advantage routine if one exists (and if you have PV-WAVE Advantage!). Regards, Tom +----------------------------------------------------------- ----------------+ | Tom Gowers - UK Technical Support | Visual Numerics International Ltd | |---------------------------------------| New Tithe Court | | Telephone : +44 (0)1753 790600 | 23 Datchet Road | | Fax : +44 (0)1753 790601 | Slough | | | Berkshire | | Email : tom.gowers@vniuk.co.uk | SL3 7LL | +----------------------------------------------------------- ----------------+ | Check out the Visual Numerics Home Page : http://www.vni.com/ | +----------------------------------------------------------- ----------------+