Hi List,

I'm a MATLAB user who keeps trying to convert to Octave. Octave 3.2 is
looking v. promising! Great job.

This is an issue I've come across when using Octave.

The implementation of erfcx in the octave-specfun package is simply


exp(x^2)*erfc(x)


Since the idea of this function is to ensure accurate computation when
x is large, this implementation is next to useless. It will break
carefully written code that is using the scaled complementary error
function to compute when x is large.

Here is an example in MATLAB

>> erfcx(1000)

ans =

  5.6419e-04


>> exp(1000^2)*erfc(1000)

ans =

  NaN


And in octave:

octave:6> exp(1000^2)*erfc(1000)
ans = NaN

The function is vital for computing accurate logarithms of the
Gaussian cumulative distribution function. Is there a way of getting a
good implementation into Octave?

Most implementations seem to be based on this FORTRAN code:

http://www.netlib.org/specfun/erf

Thanks for any suggestions.

Neil Lawrence

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Octave-dev mailing list
Octave-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to