deint.deint

This module provides numerical integration by double-exponential (DE) formula.

Members

Functions

makeDEInt
NumInt!(F, F) makeDEInt(F xa, F xb, Flag!"isExpDecay" isExpDecay, size_t trapN, F ta, F tb)

This function create a instance of NumInt!(F, F) for the DE formula. * It is also known as "Tanh-sinh quadrature". * In the DE formula, the integration (1) is converted to (2). * (1) int_{xa}^{xb} f(x) dx * (2) int_{ta}^{tb} f(g(t)) g'(t) dt * * The type of DE formula is automatically decided from the given interval of the integration. * * Params: * xa = starting value of original integration. * xb = end value of original integration. * isExpDecay = if the integration is formed as int_a^b f(x) exp(-x) dx, this value is Yes. otherwise No. * trapN = division points of trapezoidal quadrature. * ta = starting value of integration transformed by DE-formula. * tb = starting value of integration transformed by DE-formula. * * Reference: *

makeDEIntFourier
NumInt!(F, F) makeDEIntFourier(Flag!"isSine" isSine, F omega, F stepH, size_t Nlow, size_t Nhigh)

This function create a instance of NumInt!(F, F) for computing fourtier-type integration by the DE formula. * On the DE formula for the fourier-type integration, the integration (1) is converted to (2). * (1) int_0^{inf} g(x) sin(omega * x) dx * (2) sum_{k=-Nlow}^{Nhigh} g(M*phi(h*k)) sin(M*phi(h*k)/omega) M*phi'(h*k)/omega * h * * Params: * isSine = Yes if the type of integration is "sine". No if the type is "cosine". * omega = angular frequency * stepH = step value of each interval * Nlow = number of negative-valued computing points * Nhigh = number of positive-valued computing points * * Reference: *

Structs

NumInt
struct NumInt(X, W)

This structure stores computing points and weights for numerical integration. In this type, a numerical integration is computed as int f(x) dx = sum_i f(xsi) wsi

Variables

isNumericalIntegrate
enum bool isNumericalIntegrate(T);

This template checks that a type T is a kind of NumInt.

Meta