kww - Kohlrausch-Williams-Watts function
#include <kww.h>
float kwwcf (const float omega, const float beta );
float kwwsf (const float omega, const float beta );
One-sided cosine and sine Fourier transform of the stretched exponential function exp(-t^beta).
kwwcf returns: integral from 0 to +infinity dt cos(omega*t) exp(-t^beta)
kwwsf returns: integral from 0 to +infinity dt sin(omega*t) exp(-t^beta)
Allowed parameter range: 0.1 <= beta <= 2.
For sufficiently small or large values of |omega|, the well known series expansions are used. For intermediate values, the numeric integration is performed with unprecedented efficiency thanks to the double exponential transform developed by Mori et al.
On error, a message is written to stderr, and the program exits with errno EDOM (omega or beta out of range) or ENOMEM (workspace allocation fails).
Main web site: http://www.messen-und-deuten.de/kww/
Download location: http://www.messen-und-deuten.de/kww/src/
E W Montroll and J T Bendler: On Lévy (or Stable) Distributions and the Williams-Watts Model of Dielectric Relaxation. J. Stat. Phys. 34, 129-162 (1984).
T Ooura, M Mori: A robust double exponential formula for Fourier-type integrals. J. Comp. Appl. Math. 112, 229-241 (1999).
J Wuttke: Fourier Transform of the Stretched Exponential Function: Analytic Error Estimates, Double Exponential Transform, and Open-Source Implementation libkww. http://arxiv.org/abs/0911.4796
Please upgrade to version 1.1 or newer. Version 1.0 gave wrong results when the sine and the cosine transform were both used in the same application run.
Joachim Wuttke <j.wuttke@fz-juelich.de>
Copyright (C) 2009 Joachim Wuttke.
Software: GNU General Public License (GPL).
This documentation: Creative Commons Attribution Share Alike.