forlab_linalg Module


Uses


Contents


Interfaces

public interface chol

chol computes Cholesky's decomposition of a symmetric positive definite matrix.

  • private module function chol_dp(A) result(L)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A

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

  • private module function chol_sp(A) result(L)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A

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

public interface det

det computes the matrix determinant.

  • private module function det_dp(A, outL, outU) result(det)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A
    real(kind=dp), intent(inout), optional dimension(:, :), allocatable:: outL
    real(kind=dp), intent(inout), optional dimension(:, :), allocatable:: outU

    Return Value real(kind=dp)

  • private module function det_sp(A, outL, outU) result(det)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A
    real(kind=sp), intent(inout), optional dimension(:, :), allocatable:: outL
    real(kind=sp), intent(inout), optional dimension(:, :), allocatable:: outU

    Return Value real(kind=sp)

public interface diag

diag creates diagonal matrix or get the diagonal of a matrix.

  • private module function diag1_dp(A) result(diag)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A

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

  • private module function diag1_sp(A) result(diag)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A

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

  • private module function diag2_dp(x) result(diag)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:):: x

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

  • private module function diag2_sp(x) result(diag)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:):: x

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

public interface diff

diff computes differences of arrays. (Specification)

  • private pure module function diff_1_dp(x, n) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:):: x
    integer, intent(in), optional :: n

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

  • private pure module function diff_1_int16(x, n) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:):: x
    integer, intent(in), optional :: n

    Return Value integer(kind=int16), dimension(:), allocatable

  • private pure module function diff_1_int32(x, n) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:):: x
    integer, intent(in), optional :: n

    Return Value integer(kind=int32), dimension(:), allocatable

  • private pure module function diff_1_int64(x, n) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:):: x
    integer, intent(in), optional :: n

    Return Value integer(kind=int64), dimension(:), allocatable

  • private pure module function diff_1_int8(x, n) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:):: x
    integer, intent(in), optional :: n

    Return Value integer(kind=int8), dimension(:), allocatable

  • private pure module function diff_1_sp(x, n) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:):: x
    integer, intent(in), optional :: n

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

  • private pure module function diff_2_dp(A, n, dim) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: n
    integer, intent(in), optional :: dim

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

  • private pure module function diff_2_int16(A, n, dim) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: n
    integer, intent(in), optional :: dim

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private pure module function diff_2_int32(A, n, dim) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: n
    integer, intent(in), optional :: dim

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private pure module function diff_2_int64(A, n, dim) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: n
    integer, intent(in), optional :: dim

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private pure module function diff_2_int8(A, n, dim) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: n
    integer, intent(in), optional :: dim

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private pure module function diff_2_sp(A, n, dim) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: n
    integer, intent(in), optional :: dim

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

public interface eye

  • private module subroutine eye_dp(X)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(out) :: X(:,:)
  • private module subroutine eye_sp(X)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(out) :: X(:,:)

public interface horzcat

  • private module function horzcat_c_12_dp(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:):: x1
    complex(kind=dp), intent(in), dimension(:, :):: A2

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

  • private module function horzcat_c_12_sp(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:):: x1
    complex(kind=sp), intent(in), dimension(:, :):: A2

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

  • private module function horzcat_c_1_dp(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:):: x1
    complex(kind=dp), intent(in), dimension(:):: x2

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

  • private module function horzcat_c_1_sp(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:):: x1
    complex(kind=sp), intent(in), dimension(:):: x2

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

  • private module function horzcat_c_21_dp(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:, :):: A1
    complex(kind=dp), intent(in), dimension(:):: x2

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

  • private module function horzcat_c_21_sp(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:, :):: A1
    complex(kind=sp), intent(in), dimension(:):: x2

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

  • private module function horzcat_c_2_dp(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:, :):: A1
    complex(kind=dp), intent(in), dimension(:, :):: A2

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

  • private module function horzcat_c_2_sp(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:, :):: A1
    complex(kind=sp), intent(in), dimension(:, :):: A2

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

  • private module function horzcat_i_12_int16(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:):: x1
    integer(kind=int16), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function horzcat_i_12_int32(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:):: x1
    integer(kind=int32), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function horzcat_i_12_int64(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:):: x1
    integer(kind=int64), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function horzcat_i_12_int8(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:):: x1
    integer(kind=int8), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function horzcat_i_1_int16(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:):: x1
    integer(kind=int16), intent(in), dimension(:):: x2

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function horzcat_i_1_int32(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:):: x1
    integer(kind=int32), intent(in), dimension(:):: x2

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function horzcat_i_1_int64(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:):: x1
    integer(kind=int64), intent(in), dimension(:):: x2

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function horzcat_i_1_int8(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:):: x1
    integer(kind=int8), intent(in), dimension(:):: x2

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function horzcat_i_21_int16(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:, :):: A1
    integer(kind=int16), intent(in), dimension(:):: x2

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function horzcat_i_21_int32(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:, :):: A1
    integer(kind=int32), intent(in), dimension(:):: x2

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function horzcat_i_21_int64(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:, :):: A1
    integer(kind=int64), intent(in), dimension(:):: x2

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function horzcat_i_21_int8(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:, :):: A1
    integer(kind=int8), intent(in), dimension(:):: x2

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function horzcat_i_2_int16(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:, :):: A1
    integer(kind=int16), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function horzcat_i_2_int32(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:, :):: A1
    integer(kind=int32), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function horzcat_i_2_int64(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:, :):: A1
    integer(kind=int64), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function horzcat_i_2_int8(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:, :):: A1
    integer(kind=int8), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function horzcat_r_12_dp(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:):: x1
    real(kind=dp), intent(in), dimension(:, :):: A2

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

  • private module function horzcat_r_12_sp(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:):: x1
    real(kind=sp), intent(in), dimension(:, :):: A2

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

  • private module function horzcat_r_1_dp(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:):: x1
    real(kind=dp), intent(in), dimension(:):: x2

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

  • private module function horzcat_r_1_sp(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:):: x1
    real(kind=sp), intent(in), dimension(:):: x2

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

  • private module function horzcat_r_21_dp(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A1
    real(kind=dp), intent(in), dimension(:):: x2

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

  • private module function horzcat_r_21_sp(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A1
    real(kind=sp), intent(in), dimension(:):: x2

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

  • private module function horzcat_r_2_dp(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A1
    real(kind=dp), intent(in), dimension(:, :):: A2

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

  • private module function horzcat_r_2_sp(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A1
    real(kind=sp), intent(in), dimension(:, :):: A2

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

public interface inv

  • private module function inv_cdp(A) result(inv)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:, :):: A

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

  • private module function inv_csp(A) result(inv)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:, :):: A

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

  • private module function inv_rdp(A) result(inv)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A

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

  • private module function inv_rsp(A) result(inv)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A

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

public interface is_square

  • private function is_square_rsp(A) result(is_square)

    real(sp) matrix is square or not.

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in) :: A(:,:)

    Return Value logical

  • private function is_square_rdp(A) result(is_square)

    real(dp) matrix is square or not.

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in) :: A(:,:)

    Return Value logical

  • private function is_square_csp(A) result(is_square)

    complex(sp) matrix is square or not.

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in) :: A(:,:)

    Return Value logical

  • private function is_square_cdp(A) result(is_square)

    complex(dp) matrix is square or not.

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in) :: A(:,:)

    Return Value logical

public interface is_symmetric

  • private function is_symmetric_rsp(A) result(is_symmetric)

    real(sp) matrix is symmetric or not.

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in) :: A(:,:)

    Return Value logical

  • private function is_symmetric_rdp(A) result(is_symmetric)

    real(dp) matrix is symmetric or not.

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in) :: A(:,:)

    Return Value logical

  • private function is_symmetric_csp(A) result(is_symmetric)

    complex(sp) matrix is symmetric or not.

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in) :: A(:,:)

    Return Value logical

  • private function is_symmetric_cdp(A) result(is_symmetric)

    complex(dp) matrix is symmetric or not.

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in) :: A(:,:)

    Return Value logical

public interface linspace

  • private pure module subroutine linspace_dp(X, from, to)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(out) :: X(:)
    real(kind=dp), intent(in) :: from
    real(kind=dp), intent(in) :: to
  • private pure module subroutine linspace_sp(X, from, to)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(out) :: X(:)
    real(kind=sp), intent(in) :: from
    real(kind=sp), intent(in) :: to

public interface logspace

  • private pure module subroutine logspace_dp(X, from, to)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(out) :: X(:)
    real(kind=dp), intent(in) :: from
    real(kind=dp), intent(in) :: to
  • private pure module subroutine logspace_sp(X, from, to)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(out) :: X(:)
    real(kind=sp), intent(in) :: from
    real(kind=sp), intent(in) :: to

public interface lu

lu computes the LU matrix factorization.

  • private module subroutine lu_dp(A, L, U)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A
    real(kind=dp), intent(out), dimension(:, :), allocatable:: L
    real(kind=dp), intent(out), dimension(:, :), allocatable:: U
  • private module subroutine lu_sp(A, L, U)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A
    real(kind=sp), intent(out), dimension(:, :), allocatable:: L
    real(kind=sp), intent(out), dimension(:, :), allocatable:: U

public interface matpow

Calculat matrix power

  • private module function matpow_dp(a, num) result(c)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: a
    integer :: num

    Return Value real(kind=dp), allocatable, (:,:)

  • private module function matpow_sp(a, num) result(c)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: a
    integer :: num

    Return Value real(kind=sp), allocatable, (:,:)

public interface norm

norm computes vector and matrix norms.

  • private module function norm1_dp(x, p)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:):: x
    real(kind=dp), intent(in), optional :: p

    Return Value real(kind=dp)

  • private module function norm1_sp(x, p)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:):: x
    real(kind=sp), intent(in), optional :: p

    Return Value real(kind=sp)

  • private module function norm2_dp(A, p)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A
    real(kind=dp), intent(in), optional :: p

    Return Value real(kind=dp)

  • private module function norm2_sp(A, p)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A
    real(kind=sp), intent(in), optional :: p

    Return Value real(kind=sp)

public interface ones

Creates a rank-1 or rank-2 array filled ones. (Specification)

  • private pure function ones_1_default(dim) result(result)

    ones creates a rank-1 array, filled completely with 1 integer type values.

    Arguments

    Type IntentOptional AttributesName
    integer, intent(in) :: dim

    Return Value integer(kind=int8), allocatable, (:)

  • private pure function ones_2_default(dim1, dim2) result(result)

    ones creates a rank-2 array, filled completely with 1 integer type values.

    Arguments

    Type IntentOptional AttributesName
    integer, intent(in) :: dim1
    integer, intent(in) :: dim2

    Return Value integer(kind=int8), allocatable, (:,:)

public interface operator(.i.)

Calculate the inverse of a real matrix.

  • private module function inv_rsp(A) result(inv)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A

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

  • private module function inv_rdp(A) result(inv)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A

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

  • private module function inv_csp(A) result(inv)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:, :):: A

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

  • private module function inv_cdp(A) result(inv)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:, :):: A

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

public interface operator(.x.)

  • private function rmut_sp(m1, m2) result(res)

    complex(dp) matrix multiplication

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in) :: m1(:,:)
    real(kind=sp), intent(in) :: m2(:,:)

    Return Value real(kind=sp) (size(m1,1),size(m2,2))

  • private function rmut_dp(m1, m2) result(res)

    complex(dp) matrix multiplication

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in) :: m1(:,:)
    real(kind=dp), intent(in) :: m2(:,:)

    Return Value real(kind=dp) (size(m1,1),size(m2,2))

  • private function cmut_sp(m1, m2) result(res)

    complex(dp) matrix multiplication

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in) :: m1(:,:)
    complex(kind=sp), intent(in) :: m2(:,:)

    Return Value complex(kind=sp) (size(m1,1),size(m2,2))

  • private function cmut_dp(m1, m2) result(res)

    complex(dp) matrix multiplication

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in) :: m1(:,:)
    complex(kind=dp), intent(in) :: m2(:,:)

    Return Value complex(kind=dp) (size(m1,1),size(m2,2))

  • private function rcmut_sp(m1, m2) result(res)

    complex(dp) matrix multiplication

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in) :: m1(:,:)
    complex(kind=sp), intent(in) :: m2(:,:)

    Return Value complex(kind=sp) (size(m1,1),size(m2,2))

  • private function rcmut_dp(m1, m2) result(res)

    complex(dp) matrix multiplication

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in) :: m1(:,:)
    complex(kind=dp), intent(in) :: m2(:,:)

    Return Value complex(kind=dp) (size(m1,1),size(m2,2))

  • private function crmut_sp(m1, m2) result(res)

    complex(dp) matrix multiplication

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in) :: m1(:,:)
    real(kind=sp), intent(in) :: m2(:,:)

    Return Value complex(kind=sp) (size(m1,1),size(m2,2))

  • private function crmut_dp(m1, m2) result(res)

    complex(dp) matrix multiplication

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in) :: m1(:,:)
    real(kind=dp), intent(in) :: m2(:,:)

    Return Value complex(kind=dp) (size(m1,1),size(m2,2))

public interface outer

  • private module function outer_dp(x, y)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:):: x
    real(kind=dp), intent(in), dimension(:):: y

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

  • private module function outer_int16(x, y)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:):: x
    integer(kind=int16), intent(in), dimension(:):: y

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function outer_int32(x, y)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:):: x
    integer(kind=int32), intent(in), dimension(:):: y

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function outer_int64(x, y)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:):: x
    integer(kind=int64), intent(in), dimension(:):: y

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function outer_int8(x, y)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:):: x
    integer(kind=int8), intent(in), dimension(:):: y

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function outer_sp(x, y)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:):: x
    real(kind=sp), intent(in), dimension(:):: y

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

public interface qr

  • private module subroutine qr_dp(a, q, r, l)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in) :: a(:,:)
    real(kind=dp), intent(out), allocatable:: q(:,:)
    real(kind=dp), intent(out), allocatable:: r(:,:)
    integer, optional :: l
  • private module subroutine qr_sp(a, q, r, l)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in) :: a(:,:)
    real(kind=sp), intent(out), allocatable:: q(:,:)
    real(kind=sp), intent(out), allocatable:: r(:,:)
    integer, optional :: l

public interface seq

seq returns evenly spaced vector.

  • private module subroutine seq_dp(X, from, to, by)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(out), dimension(:), allocatable:: X
    real(kind=dp), intent(in) :: from
    real(kind=dp), intent(in) :: to
    real(kind=dp), intent(in), optional :: by
  • private module subroutine seq_int16(X, from, to, by)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(out), dimension(:), allocatable:: X
    integer(kind=int16), intent(in) :: from
    integer(kind=int16), intent(in) :: to
    integer(kind=int16), intent(in), optional :: by
  • private module subroutine seq_int32(X, from, to, by)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(out), dimension(:), allocatable:: X
    integer(kind=int32), intent(in) :: from
    integer(kind=int32), intent(in) :: to
    integer(kind=int32), intent(in), optional :: by
  • private module subroutine seq_int64(X, from, to, by)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(out), dimension(:), allocatable:: X
    integer(kind=int64), intent(in) :: from
    integer(kind=int64), intent(in) :: to
    integer(kind=int64), intent(in), optional :: by
  • private module subroutine seq_int8(X, from, to, by)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(out), dimension(:), allocatable:: X
    integer(kind=int8), intent(in) :: from
    integer(kind=int8), intent(in) :: to
    integer(kind=int8), intent(in), optional :: by
  • private module subroutine seq_sp(X, from, to, by)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(out), dimension(:), allocatable:: X
    real(kind=sp), intent(in) :: from
    real(kind=sp), intent(in) :: to
    real(kind=sp), intent(in), optional :: by

public interface solve

  • private module function solve_dp(A, b) result(x)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A
    real(kind=dp), intent(in), dimension(:):: b

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

  • private module function solve_sp(A, b) result(x)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A
    real(kind=sp), intent(in), dimension(:):: b

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

public interface svd

  • private module subroutine svd_dp(a, w, u, v, d, ierr)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: a
    real(kind=dp), intent(out), dimension(:), allocatable:: w
    real(kind=dp), intent(out), optional dimension(:, :), allocatable:: u
    real(kind=dp), intent(out), optional dimension(:, :), allocatable:: v
    logical, intent(in), optional :: d
    integer, intent(out), optional :: ierr
  • private module subroutine svd_sp(a, w, u, v, d, ierr)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: a
    real(kind=sp), intent(out), dimension(:), allocatable:: w
    real(kind=sp), intent(out), optional dimension(:, :), allocatable:: u
    real(kind=sp), intent(out), optional dimension(:, :), allocatable:: v
    logical, intent(in), optional :: d
    integer, intent(out), optional :: ierr

public interface svdsolve

  • private module function svdsolve_dp(A, b, cutoff) result(x)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A
    real(kind=dp), intent(in), dimension(:):: b
    integer, intent(in), optional :: cutoff

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

  • private module function svdsolve_sp(A, b, cutoff) result(x)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A
    real(kind=sp), intent(in), dimension(:):: b
    integer, intent(in), optional :: cutoff

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

public interface trace

  • private function trace_sp(A) result(trace)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A

    Return Value real(kind=sp)

  • private function trace_dp(A) result(trace)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A

    Return Value real(kind=dp)

public interface tril

  • private module function tril_cdp(A, k)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

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

  • private module function tril_csp(A, k)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

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

  • private module function tril_dp(A, k)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

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

  • private module function tril_int16(A, k)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function tril_int32(A, k)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function tril_int64(A, k)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function tril_int8(A, k)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function tril_sp(A, k)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

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

public interface triu

  • private module function triu_cdp(A, k)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

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

  • private module function triu_csp(A, k)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

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

  • private module function triu_dp(A, k)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

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

  • private module function triu_int16(A, k)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function triu_int32(A, k)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function triu_int64(A, k)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function triu_int8(A, k)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function triu_sp(A, k)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A
    integer, intent(in), optional :: k

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

public interface vertcat

  • private module function vertcat_c_12_dp(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:):: x1
    complex(kind=dp), intent(in), dimension(:, :):: A2

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

  • private module function vertcat_c_12_sp(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:):: x1
    complex(kind=sp), intent(in), dimension(:, :):: A2

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

  • private module function vertcat_c_1_dp(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:):: x1
    complex(kind=dp), intent(in), dimension(:):: x2

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

  • private module function vertcat_c_1_sp(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:):: x1
    complex(kind=sp), intent(in), dimension(:):: x2

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

  • private module function vertcat_c_21_dp(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:, :):: A1
    complex(kind=dp), intent(in), dimension(:):: x2

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

  • private module function vertcat_c_21_sp(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:, :):: A1
    complex(kind=sp), intent(in), dimension(:):: x2

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

  • private module function vertcat_c_2_dp(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=dp), intent(in), dimension(:, :):: A1
    complex(kind=dp), intent(in), dimension(:, :):: A2

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

  • private module function vertcat_c_2_sp(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    complex(kind=sp), intent(in), dimension(:, :):: A1
    complex(kind=sp), intent(in), dimension(:, :):: A2

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

  • private module function vertcat_i_12_int16(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:):: x1
    integer(kind=int16), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function vertcat_i_12_int32(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:):: x1
    integer(kind=int32), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function vertcat_i_12_int64(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:):: x1
    integer(kind=int64), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function vertcat_i_12_int8(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:):: x1
    integer(kind=int8), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function vertcat_i_1_int16(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:):: x1
    integer(kind=int16), intent(in), dimension(:):: x2

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function vertcat_i_1_int32(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:):: x1
    integer(kind=int32), intent(in), dimension(:):: x2

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function vertcat_i_1_int64(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:):: x1
    integer(kind=int64), intent(in), dimension(:):: x2

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function vertcat_i_1_int8(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:):: x1
    integer(kind=int8), intent(in), dimension(:):: x2

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function vertcat_i_21_int16(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:, :):: A1
    integer(kind=int16), intent(in), dimension(:):: x2

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function vertcat_i_21_int32(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:, :):: A1
    integer(kind=int32), intent(in), dimension(:):: x2

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function vertcat_i_21_int64(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:, :):: A1
    integer(kind=int64), intent(in), dimension(:):: x2

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function vertcat_i_21_int8(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:, :):: A1
    integer(kind=int8), intent(in), dimension(:):: x2

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function vertcat_i_2_int16(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in), dimension(:, :):: A1
    integer(kind=int16), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int16), dimension(:, :), allocatable

  • private module function vertcat_i_2_int32(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in), dimension(:, :):: A1
    integer(kind=int32), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int32), dimension(:, :), allocatable

  • private module function vertcat_i_2_int64(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in), dimension(:, :):: A1
    integer(kind=int64), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int64), dimension(:, :), allocatable

  • private module function vertcat_i_2_int8(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in), dimension(:, :):: A1
    integer(kind=int8), intent(in), dimension(:, :):: A2

    Return Value integer(kind=int8), dimension(:, :), allocatable

  • private module function vertcat_r_12_dp(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:):: x1
    real(kind=dp), intent(in), dimension(:, :):: A2

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

  • private module function vertcat_r_12_sp(x1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:):: x1
    real(kind=sp), intent(in), dimension(:, :):: A2

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

  • private module function vertcat_r_1_dp(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:):: x1
    real(kind=dp), intent(in), dimension(:):: x2

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

  • private module function vertcat_r_1_sp(x1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:):: x1
    real(kind=sp), intent(in), dimension(:):: x2

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

  • private module function vertcat_r_21_dp(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A1
    real(kind=dp), intent(in), dimension(:):: x2

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

  • private module function vertcat_r_21_sp(A1, x2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A1
    real(kind=sp), intent(in), dimension(:):: x2

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

  • private module function vertcat_r_2_dp(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=dp), intent(in), dimension(:, :):: A1
    real(kind=dp), intent(in), dimension(:, :):: A2

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

  • private module function vertcat_r_2_sp(A1, A2) result(result)

    Arguments

    Type IntentOptional AttributesName
    real(kind=sp), intent(in), dimension(:, :):: A1
    real(kind=sp), intent(in), dimension(:, :):: A2

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

public interface zeros

Creates a rank-1 or rank-2 array filled zeros. (Specification)

  • private pure function zeros_1_default(dim) result(result)

    zeros creates a rank-1 array, filled completely with 0 integer type values.

    Arguments

    Type IntentOptional AttributesName
    integer, intent(in) :: dim

    Return Value integer(kind=int8), allocatable, (:)

  • private pure function zeros_2_default(dim1, dim2) result(result)

    zeros creates a rank-2 array, filled completely with 0 integer type values.

    Arguments

    Type IntentOptional AttributesName
    integer, intent(in) :: dim1
    integer, intent(in) :: dim2

    Return Value integer(kind=int8), allocatable, (:,:)