StretchedExponentialFTModel – Fourier transform of the stretched exponential

class qef.models.strexpft.StretchedExponentialFTModel(independent_vars=['x'], prefix='', missing=None, name=None, **kwargs)[source]

Bases: lmfit.model.Model

Fourier transform of the symmetrized stretched exponential

\[S(E) = A \int_{-\infty}^{\infty} dt/h e^{-i2\pi(E-E_0)t/h} e^{|\frac{x}{\tau}|^\beta}\]

Normalization and maximum at \(E=E_0\):

\[\int_{-\infty}^{\infty} dE S(E) = A max(S) = A \frac{\tau}{\beta} \Gamma(\beta^{-1})\]

Uses scipy.fftpack.fft for the Fourier transform

Fitting parameters:
  • integrated intensity amplitude \(A\)
  • position of the peak center \(E_0\)
  • nominal relaxation time tau` \(\tau\)
  • stretching exponent beta \(\beta\)

If the time unit is picoseconds, then the reciprocal energy unit is mili-eV

guess(y, x=None, **kwargs)[source]

Guess starting values for the parameters of a model.

Parameters:
  • y (ndarray) – Intensities
  • x (ndarray) – energy values
  • kwargs (dict) – additional optional arguments, passed to model function.
Returns:

parameters with guessed values

Return type:

Parameters

qef.models.strexpft.strexpft(x, amplitude=1.0, center=0.0, tau=10.0, beta=1.0)[source]

Fourier transform of the symmetrized stretched exponential

\[S(E) = A \int_{-\infty}^{\infty} dt/h e^{-i2\pi(E-E_0)t/h} e^{|\frac{x}{\tau}|^\beta}\]

Normalization and maximum at \(E=E_0\):

\[\int_{-\infty}^{\infty} dE S(E) = A\]
\[max(S) = A \frac{\tau}{\beta} \Gamma(\beta^{-1})\]

Uses fft() for the Fourier transform

Parameters:
  • x (ndarray) – domain of the function, energy
  • amplitude (float) – Integrated intensity of the curve
  • center (float) – position of the peak
  • tau (float) – relaxation time.
  • beta (float) – stretching exponent
  • If the time units are picoseconds, then the energy units are mili-eV.
Returns:

values – function over the domain

Return type:

ndarray