octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [OctDev] complex error function


From: Steven G. Johnson
Subject: Re: [OctDev] complex error function
Date: Wed, 21 Nov 2012 10:56:05 -0500
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20

On 11/20/12 4:33 PM, Jordi Gutiérrez Hermoso wrote:
I'm still not sure what to do with this code... It sounds useful,
sure, but you didn't write it for Octave except for a small wrapper.

Not sure why that matters? Most of the math and linear algebra functions in Octave were not written "for Octave".

Presumably, that is how it would remain as well -- the only octave-specific portion of the function that is needed would be a thin interface layer, similar to what I am providing already.

Since you're trying to overwrite Octave functions, it should go in
Octave core but you also want to provide a bunch of other special
functions, so those should go in the specfun package in OF.

I'm also not sure how committed you are to maintaining this code for
Octave. If this is a one-time code dump and it's up to us to maintain
this code in the future, I'm less inclined to accept it into Octave
core, since it's a relatively rare request. I have never heard of our
users clamouring for the Faddeeva function or its relatives.

It is up to you, of course, whether you want to support error functions of complex arguments. Note that these are used in a variety of applications, not just in wave theory. But of course you can always direct such users to an external package.

One argument would be that, as a general principle, Octave supports complex arguments for special functions (trig, bessel, ...) where it makes sense and free code is available, so why should erf and erfc be any different?

Another argument is the SciPy has found it useful for some time to support error functions of complex arguments, including both erf and the Faddeeva function, and recently switched over to my implementation:
    https://github.com/scipy/scipy/commit/ed14bf0

Regarding support, I plan to update my code as necessary for the foreseeable future, e.g. for bug fixes and new languages. If specific changes are needed for Octave (or SciPy), I am happy to consider them, and to work with the Octave maintainers as needed.

--SGJ



reply via email to

[Prev in Thread] Current Thread [Next in Thread]