I would like to know if there is something like The negative results Journal
for octave functions?
The reason I ask is because I implemented a quadrature for strongly oscillating
functions, quadgF, but after comparing it with octave function quadgk I found,
to my disappointment, that my function was not generally faster than quadgk.
The quadgk and quadl functions allowed to integrate strongly oscillating
functions, but they are slow for my needs: perform diffraction calculations.
Browsing the bibliography on the subject, I found an article by L.F. Shampine,
reference , which describes an algorithm that seemed easy to implement to
me. In fact, the proposed algorithm is an improvement of the SSP method [2,3],
which possibly Mr. Shampine did not know, since he does not mention it in his
In his article, Professor Shampine talks about a function he implemented,
quadgF, based on the algorithm, but as much as I looked for it I couldn't find
it -quadgF.m-. So I implemented it as well as I could, trying to vectorize it
as much as possible, and kept the name used in .
It is quite possible that the reason why Professor Shampine's function has
disappeared from the radar is precisely what I found after writing my
implementation, i.e. that, in general, has no advantages over general functions
Anyway, for if my implementation served someone, either because he/she improved
it and got more speed, or to avoid wasting time doing what I already did, I
send attached the function I wrote, quadgF.m, and a document, quadgF.pdf,
describing the algorithm and my implementation, as well as an analysis that
compares my function and quadgk.
1Shampine L.F., Integrating oscillatory functions in MATLAB, II. Electronic
Transactions on Numerical Analysis, volume 39, pp 403-413, 2012.
2Stamnes J.J., Spjelkavik B. & Pedersen H.M., Evaluation of diffraction
integrals using local phase and amplitude approximations. Opt. Acta 30, 207-222,
3Stamnes J.J., Waves in focal regions: propagation, diffraction and focusing of
light, sound and water waves. Adam Hilger, 1986.