QAWF adaptive integration for Fourier integrals.
This class attempts to compute a Fourier integral of the function f over the semiinfinite interval [a,+Infinity).
+Infinity +Infinity I = Integral dx f(x) sin(wt) or I = Integral dx f(x) cos(wx) a aThe parameter w and choice of sin or cos is taken from the table wf (the length L can take any value, since it is overridden by this function to a value appropriate for the fourier integration). The integral is computed using the QAWO algorithm over each of the subintervals,
C1 = [a, a + c] C2 = [a + c, a + 2c] . . . = . . . Ck = [a + (k - 1)c, a + kc]where c = (2floor(|w|) + 1)Pi/|w|. The width c is chosen to cover an odd number of periods so that the contributions from the intervals alternate in sign and are monotonically decreasing when f is positive and monotonically decreasing. The sum of this sequence of contributions is accelerated using the epsilon-algorithm.
Ref.: Gnu Scientific library reference manual ()
Constructor | Description |
Full Usage:
QawfIntegration()
|
Creates an instance of this integration class with a default integration rule and default debug flag setting. |
Full Usage:
QawfIntegration(debug)
Parameters:
bool
-
Setting of the debug flag for this instance. If the integration fails or the specified accuracy
is not reached, an exception is thrown if the debug flag is set to true. If set to false, the return value of the integration
function will be set to the appropriate error code (an exception will be thrown then only for serious errors).
|
Creates an instance of this integration class with specified integration rule and specified debug flag setting.
|
Instance member | Description |
Full Usage:
this.Integrate
Parameters:
Func<float, float>
a : float
oscTerm : OscillatoryTerm
omega : float
epsabs : float
limit : int
result : byref<float>
abserr : byref<float>
Returns: GSL_ERROR
|
|
Full Usage:
this.Integrate
Parameters:
Func<float, float>
a : float
oscTerm : OscillatoryTerm
omega : float
epsabs : float
limit : int
debug : bool
result : byref<float>
abserr : byref<float>
Returns: GSL_ERROR
|
|
Static member | Description |
Full Usage:
QawfIntegration.Integration(f, a, oscTerm, omega, epsabs, limit, result, abserr, tempStorage)
Parameters:
Func<float, float>
a : float
oscTerm : OscillatoryTerm
omega : float
epsabs : float
limit : int
result : byref<float>
abserr : byref<float>
tempStorage : byref<obj>
Returns: GSL_ERROR
|
|