derivative Interface

public interface derivative

Derivative interface

Calls

interface~~derivative~~CallsGraph interface~derivative fordiff::derivative proc~complex_step_derivative_t0_t0 fordiff::complex_step_derivative_T0_T0 interface~derivative->proc~complex_step_derivative_t0_t0 proc~complex_step_derivative_t0_t1 fordiff::complex_step_derivative_T0_T1 interface~derivative->proc~complex_step_derivative_t0_t1 proc~complex_step_derivative_t1_t1 fordiff::complex_step_derivative_T1_T1 interface~derivative->proc~complex_step_derivative_t1_t1 proc~finite_difference_t0_t0 fordiff::finite_difference_T0_T0 interface~derivative->proc~finite_difference_t0_t0 proc~finite_difference_t0_t1 fordiff::finite_difference_T0_T1 interface~derivative->proc~finite_difference_t0_t1 proc~finite_difference_t1_t1 fordiff::finite_difference_T1_T1 interface~derivative->proc~finite_difference_t1_t1 proc~finite_difference_backward_t0_t0 fordiff::finite_difference_backward_T0_T0 proc~finite_difference_t0_t0->proc~finite_difference_backward_t0_t0 proc~finite_difference_central_t0_t0 fordiff::finite_difference_central_T0_T0 proc~finite_difference_t0_t0->proc~finite_difference_central_t0_t0 proc~finite_difference_forward_t0_t0 fordiff::finite_difference_forward_T0_T0 proc~finite_difference_t0_t0->proc~finite_difference_forward_t0_t0 proc~finite_difference_backward_t0_t1 fordiff::finite_difference_backward_T0_T1 proc~finite_difference_t0_t1->proc~finite_difference_backward_t0_t1 proc~finite_difference_central_t0_t1 fordiff::finite_difference_central_T0_T1 proc~finite_difference_t0_t1->proc~finite_difference_central_t0_t1 proc~finite_difference_forward_t0_t1 fordiff::finite_difference_forward_T0_T1 proc~finite_difference_t0_t1->proc~finite_difference_forward_t0_t1 proc~finite_difference_backward_t1_t1 fordiff::finite_difference_backward_T1_T1 proc~finite_difference_t1_t1->proc~finite_difference_backward_t1_t1 proc~finite_difference_central_t1_t1 fordiff::finite_difference_central_T1_T1 proc~finite_difference_t1_t1->proc~finite_difference_central_t1_t1 proc~finite_difference_forward_t1_t1 fordiff::finite_difference_forward_T1_T1 proc~finite_difference_t1_t1->proc~finite_difference_forward_t1_t1

Called by

interface~~derivative~~CalledByGraph interface~derivative fordiff::derivative program~test1 test1 program~test1->interface~derivative program~test2 test2 program~test2->interface~derivative program~test3 test3 program~test3->interface~derivative program~test4 test4 program~test4->interface~derivative program~test5 test5 program~test5->interface~derivative program~test6 test6 program~test6->interface~derivative

Module Procedures

private impure function complex_step_derivative_T0_T0(f, x, h) result(dfdx)

Author
Seyed Ali Ghasemi

Calculates the derivative of a scalar-valued function w.r.t. a scalar-valued variable using complex step differentiation.

Arguments

Type IntentOptional Attributes Name
private impure function f(z) result(fz)
Arguments
Type IntentOptional Attributes Name
complex(kind=rk), intent(in) :: z

scalar complex variable

Return Value complex(kind=rk)

scalar complex function

real(kind=rk), intent(in) :: x

scalar variable

real(kind=rk), intent(in) :: h

perturbation for complex step differentiation

Return Value real(kind=rk)

derivative of w.r.t.

private impure function complex_step_derivative_T0_T1(f, x, h) result(dfdx)

Author
Seyed Ali Ghasemi

Calculates the derivative of a scalar-valued function w.r.t. a vector-valued variable using complex step differentiation.

Arguments

Type IntentOptional Attributes Name
private impure function f(z) result(fz)
Arguments
Type IntentOptional Attributes Name
complex(kind=rk), intent(in), dimension(:) :: z

vector complex variable

Return Value complex(kind=rk)

scalar complex function

real(kind=rk), intent(in), dimension(:) :: x

vector variable

real(kind=rk), intent(in) :: h

perturbation for complex step differentiation

Return Value real(kind=rk), dimension(size(x))

derivative of w.r.t.

private impure function complex_step_derivative_T1_T1(f, x, h) result(dfdx)

Author
Seyed Ali Ghasemi

Calculates the derivative of a vector-valued function w.r.t. a vector-valued variable using complex step differentiation.

Arguments

Type IntentOptional Attributes Name
private impure function f(z) result(fz)
Arguments
Type IntentOptional Attributes Name
complex(kind=rk), intent(in), dimension(:) :: z

vector complex variable

Return Value complex(kind=rk), dimension(:), allocatable

vector complex function

real(kind=rk), intent(in), dimension(:) :: x

vector variable

real(kind=rk), intent(in) :: h

perturbation for complex step differentiation

Return Value real(kind=rk), dimension(:,:), allocatable

derivative of w.r.t.

private impure function finite_difference_T0_T0(f, x, h, method) result(dfdx)

Author
Seyed Ali Ghasemi

Calculates the derivative of a scalar-valued function w.r.t. a scalar-valued variable using finite difference methods (forward, backward, central).

Arguments

Type IntentOptional Attributes Name
private impure function f(z) result(fz)
Arguments
Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: z

scalar variable

Return Value real(kind=rk)

scalar function

real(kind=rk), intent(in) :: x

scalar variable

real(kind=rk), intent(in) :: h

perturbation for finite difference methods

character(len=*), intent(in) :: method

finite difference method (forward, backward, central)

Return Value real(kind=rk)

derivative of w.r.t.

private impure function finite_difference_T0_T1(f, x, h, method) result(dfdx)

Author
Seyed Ali Ghasemi

Calculates the derivative of a scalar-valued function w.r.t. a vector-valued variable using finite difference methods (forward, backward, central).

Arguments

Type IntentOptional Attributes Name
private impure function f(z) result(fz)
Arguments
Type IntentOptional Attributes Name
real(kind=rk), intent(in), dimension(:) :: z

vector variable

Return Value real(kind=rk)

scalar function

real(kind=rk), intent(in), dimension(:) :: x

vector variable

real(kind=rk), intent(in) :: h

perturbation for finite difference methods

character(len=*), intent(in) :: method

finite difference method (forward, backward, central)

Return Value real(kind=rk), dimension(size(x))

derivative of w.r.t.

private impure function finite_difference_T1_T1(f, x, h, method) result(dfdx)

Author
Seyed Ali Ghasemi

Calculates the derivative of a vector-valued function w.r.t. a vector-valued variable using finite difference methods (forward, backward, central).

Arguments

Type IntentOptional Attributes Name
private impure function f(z) result(fz)
Arguments
Type IntentOptional Attributes Name
real(kind=rk), intent(in), dimension(:) :: z

vector variable

Return Value real(kind=rk), dimension(:), allocatable

vector function

real(kind=rk), intent(in), dimension(:) :: x

vector variable

real(kind=rk), intent(in) :: h

perturbation for finite difference methods

character(len=*), intent(in) :: method

finite difference method (forward, backward, central)

Return Value real(kind=rk), dimension(:,:), allocatable

derivative of w.r.t.