stdlib_specialfunctions#

See also the specification page: stdlib_specialfunctions_legendre.

stdlib_specialfunctions (module)#

Interfaces

legendre (interface)#

legendre (interface)

Legendre polynomial

Procedures:
pure elemental module function legendre_fp64(n, x) -> leg#
Arguments:
ninteger, intent(in)
xreal(kind=dp), intent(in)
Returns:
legreal(kind=dp)

dlegendre (interface)#

dlegendre (interface)

First derivative Legendre polynomial

Procedures:
pure elemental module function dlegendre_fp64(n, x) -> dleg#
Arguments:
ninteger, intent(in)
xreal(kind=dp), intent(in)
Returns:
dlegreal(kind=dp)

gaussian (interface)#

gaussian (interface)

gaussian function

Procedures:
elemental module function gaussian_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function gaussian_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

gaussian_grad (interface)#

gaussian_grad (interface)

gradient of the gaussian function

Procedures:
elemental module function gaussian_grad_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function gaussian_grad_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

elu (interface)#

elu (interface)

exponential linear unit function

Procedures:
elemental module function elu_sp(x, a) -> y#
Arguments:
xreal(kind=sp), intent(in)
areal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function elu_dp(x, a) -> y#
Arguments:
xreal(kind=dp), intent(in)
areal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

elu_grad (interface)#

elu_grad (interface)

gradient of the exponential linear unit function

Procedures:
elemental module function elu_grad_sp(x, a) -> y#
Arguments:
xreal(kind=sp), intent(in)
areal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function elu_grad_dp(x, a) -> y#
Arguments:
xreal(kind=dp), intent(in)
areal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

relu (interface)#

relu (interface)

Rectified linear unit function

Procedures:
elemental module function relu_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function relu_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

relu_grad (interface)#

relu_grad (interface)

Gradient rectified linear unit function

Procedures:
elemental module function relu_grad_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function relu_grad_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

leaky_relu (interface)#

leaky_relu (interface)

leaky Rectified linear unit function

Procedures:
elemental module function leaky_relu_sp(x, a) -> y#
Arguments:
xreal(kind=sp), intent(in)
areal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function leaky_relu_dp(x, a) -> y#
Arguments:
xreal(kind=dp), intent(in)
areal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

leaky_relu_grad (interface)#

leaky_relu_grad (interface)

Gradient of the leaky Rectified linear unit function

Procedures:
elemental module function leaky_relu_grad_sp(x, a) -> y#
Arguments:
xreal(kind=sp), intent(in)
areal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function leaky_relu_grad_dp(x, a) -> y#
Arguments:
xreal(kind=dp), intent(in)
areal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

gelu (interface)#

gelu (interface)

Gaussian error linear unit function

Procedures:
elemental module function gelu_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function gelu_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

gelu_grad (interface)#

gelu_grad (interface)

Gradient of the gaussian error linear unit function

Procedures:
elemental module function gelu_grad_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function gelu_grad_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

gelu_approx (interface)#

gelu_approx (interface)

Approximated gaussian error linear unit function

Procedures:
elemental module function gelu_approx_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function gelu_approx_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

gelu_approx_grad (interface)#

gelu_approx_grad (interface)

Gradient of the approximated gaussian error linear unit function

Procedures:
elemental module function gelu_approx_grad_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function gelu_approx_grad_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

selu (interface)#

selu (interface)

Scaled Exponential Linear Unit

Procedures:
elemental module function selu_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function selu_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

selu_grad (interface)#

selu_grad (interface)

Scaled Exponential Linear Unit

Procedures:
elemental module function selu_grad_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function selu_grad_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

sigmoid (interface)#

sigmoid (interface)

Sigmoid function

Procedures:
elemental module function sigmoid_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function sigmoid_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

sigmoid_grad (interface)#

sigmoid_grad (interface)

Gradient of the sigmoid function

Procedures:
elemental module function sigmoid_grad_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function sigmoid_grad_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

silu (interface)#

silu (interface)

Sigmoid Linear Unit function

Procedures:
elemental module function silu_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function silu_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

silu_grad (interface)#

silu_grad (interface)

Gradient of the Sigmoid Linear Unit function

Procedures:
elemental module function silu_grad_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function silu_grad_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

step (interface)#

step (interface)

Step function

Procedures:
elemental module function step_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function step_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

step_grad (interface)#

step_grad (interface)

Gradient of the step function

Procedures:
elemental module function step_grad_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function step_grad_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

softmax (interface)#

softmax (interface)

softmax function. Available for ranks 1 to 4

Procedures:
pure module function softmax_r1_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in), dimension(:)
Returns:
yreal(kind=sp), dimension(size(x)
pure module function softmax_r2_sp(x, dim) -> y#
Arguments:
xreal(kind=sp), (:, :), intent(in), dimension(:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=sp), (size(x, 1), size(x, 2)), dimension(size(x,1),size(x,2)
pure module function softmax_r3_sp(x, dim) -> y#
Arguments:
xreal(kind=sp), (:, :, :), intent(in), dimension(:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=sp), (size(x, 1), size(x, 2), size(x, 3)), dimension(size(x,1),size(x,2),size(x,3)
pure module function softmax_r4_sp(x, dim) -> y#
Arguments:
xreal(kind=sp), (:, :, :, :), intent(in), dimension(:,:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=sp), (size(x, 1), size(x, 2), size(x, 3), size(x, 4)), dimension(size(x,1),size(x,2),size(x,3),size(x,4)
pure module function softmax_r1_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in), dimension(:)
Returns:
yreal(kind=dp), dimension(size(x)
pure module function softmax_r2_dp(x, dim) -> y#
Arguments:
xreal(kind=dp), (:, :), intent(in), dimension(:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=dp), (size(x, 1), size(x, 2)), dimension(size(x,1),size(x,2)
pure module function softmax_r3_dp(x, dim) -> y#
Arguments:
xreal(kind=dp), (:, :, :), intent(in), dimension(:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=dp), (size(x, 1), size(x, 2), size(x, 3)), dimension(size(x,1),size(x,2),size(x,3)
pure module function softmax_r4_dp(x, dim) -> y#
Arguments:
xreal(kind=dp), (:, :, :, :), intent(in), dimension(:,:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=dp), (size(x, 1), size(x, 2), size(x, 3), size(x, 4)), dimension(size(x,1),size(x,2),size(x,3),size(x,4)

softmax_grad (interface)#

softmax_grad (interface)

Gradient of the softmax function. Available for ranks 1 to 4

Procedures:
pure module function softmax_grad_r1_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in), dimension(:)
Returns:
yreal(kind=sp), dimension(size(x)
pure module function softmax_grad_r2_sp(x, dim) -> y#
Arguments:
xreal(kind=sp), (:, :), intent(in), dimension(:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=sp), (size(x, 1), size(x, 2)), dimension(size(x,1),size(x,2)
pure module function softmax_grad_r3_sp(x, dim) -> y#
Arguments:
xreal(kind=sp), (:, :, :), intent(in), dimension(:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=sp), (size(x, 1), size(x, 2), size(x, 3)), dimension(size(x,1),size(x,2),size(x,3)
pure module function softmax_grad_r4_sp(x, dim) -> y#
Arguments:
xreal(kind=sp), (:, :, :, :), intent(in), dimension(:,:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=sp), (size(x, 1), size(x, 2), size(x, 3), size(x, 4)), dimension(size(x,1),size(x,2),size(x,3),size(x,4)
pure module function softmax_grad_r1_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in), dimension(:)
Returns:
yreal(kind=dp), dimension(size(x)
pure module function softmax_grad_r2_dp(x, dim) -> y#
Arguments:
xreal(kind=dp), (:, :), intent(in), dimension(:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=dp), (size(x, 1), size(x, 2)), dimension(size(x,1),size(x,2)
pure module function softmax_grad_r3_dp(x, dim) -> y#
Arguments:
xreal(kind=dp), (:, :, :), intent(in), dimension(:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=dp), (size(x, 1), size(x, 2), size(x, 3)), dimension(size(x,1),size(x,2),size(x,3)
pure module function softmax_grad_r4_dp(x, dim) -> y#
Arguments:
xreal(kind=dp), (:, :, :, :), intent(in), dimension(:,:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=dp), (size(x, 1), size(x, 2), size(x, 3), size(x, 4)), dimension(size(x,1),size(x,2),size(x,3),size(x,4)

logsoftmax (interface)#

logsoftmax (interface)

softmax function. Available for ranks 1 to 4

Procedures:
pure module function logsoftmax_r1_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in), dimension(:)
Returns:
yreal(kind=sp), dimension(size(x)
pure module function logsoftmax_r2_sp(x, dim) -> y#
Arguments:
xreal(kind=sp), (:, :), intent(in), dimension(:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=sp), (size(x, 1), size(x, 2)), dimension(size(x,1),size(x,2)
pure module function logsoftmax_r3_sp(x, dim) -> y#
Arguments:
xreal(kind=sp), (:, :, :), intent(in), dimension(:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=sp), (size(x, 1), size(x, 2), size(x, 3)), dimension(size(x,1),size(x,2),size(x,3)
pure module function logsoftmax_r4_sp(x, dim) -> y#
Arguments:
xreal(kind=sp), (:, :, :, :), intent(in), dimension(:,:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=sp), (size(x, 1), size(x, 2), size(x, 3), size(x, 4)), dimension(size(x,1),size(x,2),size(x,3),size(x,4)
pure module function logsoftmax_r1_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in), dimension(:)
Returns:
yreal(kind=dp), dimension(size(x)
pure module function logsoftmax_r2_dp(x, dim) -> y#
Arguments:
xreal(kind=dp), (:, :), intent(in), dimension(:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=dp), (size(x, 1), size(x, 2)), dimension(size(x,1),size(x,2)
pure module function logsoftmax_r3_dp(x, dim) -> y#
Arguments:
xreal(kind=dp), (:, :, :), intent(in), dimension(:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=dp), (size(x, 1), size(x, 2), size(x, 3)), dimension(size(x,1),size(x,2),size(x,3)
pure module function logsoftmax_r4_dp(x, dim) -> y#
Arguments:
xreal(kind=dp), (:, :, :, :), intent(in), dimension(:,:,:,:)
diminteger, intent(in), optional
Returns:
yreal(kind=dp), (size(x, 1), size(x, 2), size(x, 3), size(x, 4)), dimension(size(x,1),size(x,2),size(x,3),size(x,4)

softplus (interface)#

softplus (interface)

softplus function

Procedures:
elemental module function softplus_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function softplus_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

softplus_grad (interface)#

softplus_grad (interface)

Gradient of the softplus function

Procedures:
elemental module function softplus_grad_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function softplus_grad_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

fast_tanh (interface)#

fast_tanh (interface)

Fast approximation of the tanh function

Procedures:
elemental module function fast_tanh_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function fast_tanh_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

fast_tanh_grad (interface)#

fast_tanh_grad (interface)

gradient of the hyperbolic tangent function

Procedures:
elemental module function fast_tanh_grad_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function fast_tanh_grad_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)

fast_erf (interface)#

fast_erf (interface)

Fast approximation of the erf function

Procedures:
elemental module function fast_erf_sp(x) -> y#
Arguments:
xreal(kind=sp), intent(in)
Returns:
yreal(kind=sp)
elemental module function fast_erf_dp(x) -> y#
Arguments:
xreal(kind=dp), intent(in)
Returns:
yreal(kind=dp)