SF_LINALG Module


Uses

  • module~~sf_linalg~~UsesGraph module~sf_linalg SF_LINALG module~sf_blacs SF_BLACS module~sf_linalg->module~sf_blacs

Used by

  • module~~sf_linalg~~UsedByGraph module~sf_linalg SF_LINALG module~scifor SCIFOR module~scifor->module~sf_linalg module~sf_optimize SF_OPTIMIZE module~scifor->module~sf_optimize module~sf_sp_linalg SF_SP_LINALG module~scifor->module~sf_sp_linalg module~sf_stat SF_STAT module~scifor->module~sf_stat module~sf_optimize->module~sf_linalg module~sf_sp_linalg->module~sf_linalg module~sf_sparse SF_SPARSE module~sf_sparse->module~sf_linalg module~sf_sparse_array_csc SF_SPARSE_ARRAY_CSC module~sf_sparse->module~sf_sparse_array_csc module~sf_sparse_array_csr SF_SPARSE_ARRAY_CSR module~sf_sparse->module~sf_sparse_array_csr module~sf_sparse_array_csc->module~sf_linalg module~sf_sparse_common SF_SPARSE_COMMON module~sf_sparse_array_csc->module~sf_sparse_common module~sf_sparse_array_csr->module~sf_linalg module~sf_sparse_array_csr->module~sf_sparse_common module~sf_sparse_common->module~sf_linalg module~sf_stat->module~sf_linalg module~sf_sparse_array_algebra SF_SPARSE_ARRAY_ALGEBRA module~sf_sparse_array_algebra->module~sf_sparse_array_csc module~sf_sparse_array_algebra->module~sf_sparse_array_csr module~sf_sparse_array_algebra->module~sf_sparse_common module~sf_sparse_array_coo SF_SPARSE_ARRAY_COO module~sf_sparse_array_coo->module~sf_sparse_common

Interfaces

public interface eig

  • private subroutine deig(A, Eval, Evec, jobvl, jobvr)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)
    complex(kind=8), intent(out) :: Eval(:)
    complex(kind=8), intent(out) :: Evec(:,:)
    character(len=1), optional :: jobvl
    character(len=1), optional :: jobvr
  • private subroutine zeig(A, Eval, Evec, jobvl, jobvr)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)
    complex(kind=8), intent(out) :: Eval(:)
    complex(kind=8), intent(out) :: Evec(:,:)
    character(len=1), optional :: jobvl
    character(len=1), optional :: jobvr

public interface eigh

  • private subroutine deigh_generalized(Am, Bm, lam, c)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: Am(:,:)
    real(kind=8), intent(in) :: Bm(:,:)
    real(kind=8), intent(out) :: lam(:)
    real(kind=8), intent(out) :: c(:,:)
  • private subroutine zeigh_generalized(Am, Bm, lam, c)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: Am(:,:)
    complex(kind=8), intent(in) :: Bm(:,:)
    real(kind=8), intent(out) :: lam(:)
    complex(kind=8), intent(out) :: c(:,:)
  • private subroutine deigh_simple(A, E, method, jobz, uplo, vl, vu, il, iu, tol)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(inout), dimension(:,:) :: A
    real(kind=8), intent(inout), dimension(size(A,2)) :: E
    character(len=*), optional :: method
    character(len=1), optional :: jobz
    character(len=1), optional :: uplo
    real(kind=8), optional :: vl
    real(kind=8), optional :: vu
    integer, optional :: il
    integer, optional :: iu
    real(kind=8), optional :: tol
  • private subroutine zeigh_simple(A, E, method, jobz, uplo, vl, vu, il, iu, tol)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(inout), dimension(:,:) :: A
    real(kind=8), intent(inout), dimension(size(A,2)) :: E
    character(len=*), optional :: method
    character(len=1), optional :: jobz
    character(len=1), optional :: uplo
    real(kind=8), optional :: vl
    real(kind=8), optional :: vu
    integer, optional :: il
    integer, optional :: iu
    real(kind=8), optional :: tol
  • private subroutine deigh_tridiag(d, u, Ev, Irange, Vrange)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: d
    real(kind=8), dimension(max(1,size(d)-1)) :: u
    real(kind=8), optional, dimension(:,:) :: Ev
    integer, optional, dimension(2) :: Irange
    integer, optional, dimension(2) :: Vrange

public interface p_eigh

  • private subroutine p_deigh_simple(A, W, Nblock, method, jobz, uplo, vl, vu, il, iu, tol)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(inout), dimension(:,:) :: A
    real(kind=8), intent(inout), dimension(size(A,2)) :: W
    integer :: Nblock
    character(len=*), optional :: method
    character(len=1), optional :: jobz
    character(len=1), optional :: uplo
    real(kind=8), optional :: vl
    real(kind=8), optional :: vu
    integer, optional :: il
    integer, optional :: iu
    real(kind=8), optional :: tol
  • private subroutine p_zeigh_simple(A, W, Nblock, method, jobz, uplo, vl, vu, il, iu, tol)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(inout), dimension(:,:) :: A
    real(kind=8), intent(inout), dimension(size(A,2)) :: W
    integer :: Nblock
    character(len=*), optional :: method
    character(len=1), optional :: jobz
    character(len=1), optional :: uplo
    real(kind=8), optional :: vl
    real(kind=8), optional :: vu
    integer, optional :: il
    integer, optional :: iu
    real(kind=8), optional :: tol

public interface eigh_jacobi

  • private subroutine d_jacobi(a, d, v, nrot)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(inout), dimension(:,:) :: a
    real(kind=8), intent(out), dimension(size(a,1)) :: d
    real(kind=8), intent(out), dimension(size(a,1),size(a,2)) :: v
    integer, intent(out) :: nrot
  • private subroutine c_jacobi(a, d, U, sweep)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(inout), dimension(:,:) :: a
    real(kind=8), intent(out), dimension(size(a,1)) :: d
    complex(kind=8), intent(out), dimension(size(a,1),size(a,2)) :: U
    integer :: sweep

public interface eigvals

  • private function deigvals(A) result(lam)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)

    Return Value complex(kind=8), (size(A,1))

  • private function zeigvals(A) result(lam)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)

    Return Value complex(kind=8), (size(A,1))

public interface eigvalsh

  • private function deigvalsh(A) result(lam)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)

    Return Value real(kind=8), (size(A,1))

  • private function zeigvalsh(A) result(lam)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)

    Return Value real(kind=8), (size(A,1))

public interface svdvals

  • private function dsvdvals(A) result(s)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)

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

  • private function zsvdvals(A) result(s)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)

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

public interface svd

  • private subroutine dsvd(A, s, U, Vtransp)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)
    real(kind=8), intent(out) :: s(:)
    real(kind=8), intent(out) :: U(:,:)
    real(kind=8), intent(out) :: Vtransp(:,:)
  • private subroutine zsvd(A, s, U, Vtransp)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)
    real(kind=8), intent(out) :: s(:)
    complex(kind=8), intent(out) :: U(:,:)
    complex(kind=8), intent(out) :: Vtransp(:,:)

public interface inv

  • private subroutine dinv(Am)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(inout) :: Am(:,:)
  • private subroutine Zinv(Am)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(inout) :: Am(:,:)

public interface p_inv

  • private subroutine p_Dinv(A, Nblock)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(inout), dimension(:,:) :: A
    integer :: Nblock
  • private subroutine p_Zinv(A, Nblock)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(inout), dimension(:,:) :: A
    integer :: Nblock

public interface inv_sym

  • private subroutine Dinv_sym(A, uplo)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:,:) :: A
    character(len=*), optional :: uplo
  • private subroutine Zinv_sym(A, uplo)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), dimension(:,:) :: A
    character(len=*), optional :: uplo

public interface inv_her

  • private subroutine zinv_her(A, uplo)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), dimension(:,:) :: A
    character(len=*), optional :: uplo

public interface inv_triang

  • private subroutine Dinv_triang(A, uplo, diag)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:,:) :: A
    character(len=1), optional :: uplo
    character(len=1), optional :: diag
  • private subroutine Zinv_triang(A, uplo, diag)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), dimension(:,:) :: A
    character(len=1), optional :: uplo
    character(len=1), optional :: diag

public interface inv_gj

  • private subroutine Dinv_gj(a)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(inout), dimension(:,:) :: a
  • private subroutine Zinv_gj(a)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(inout), dimension(:,:) :: a

public interface solve

  • private subroutine Dsolve_1rhs(A, b, trans)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in), dimension(:,:) :: A
    real(kind=8), intent(inout), dimension(:) :: b
    character(len=1), optional :: trans
  • private subroutine Zsolve_1rhs(A, b, trans)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in), dimension(:,:) :: A
    complex(kind=8), intent(inout), dimension(:) :: b
    character(len=1), optional :: trans
  • private subroutine Dsolve_Mrhs(A, b, trans)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in), dimension(:,:) :: A
    real(kind=8), intent(inout), dimension(:,:) :: b
    character(len=1), optional :: trans
  • private subroutine Zsolve_Mrhs(A, b, trans)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in), dimension(:,:) :: A
    complex(kind=8), intent(inout), dimension(:,:) :: b
    character(len=1), optional :: trans

public interface lstsq

  • private function dlstsq(A, b) result(x)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)
    real(kind=8), intent(in) :: b(:)

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

  • private function zlstsq(A, b) result(x)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)
    complex(kind=8), intent(in) :: b(:)

    Return Value complex(kind=8), allocatable, (:)

public interface inv_tridiag

  • private subroutine d_invert_tridiag_matrix(N, sub_, diag_, over_, Inv)

    Arguments

    Type IntentOptional Attributes Name
    integer :: N
    real(kind=8), dimension(N-1) :: sub_
    real(kind=8), dimension(N) :: diag_
    real(kind=8), dimension(N-1) :: over_
    real(kind=8), dimension(N) :: Inv
  • private subroutine c_invert_tridiag_matrix(N, sub_, diag_, over_, Inv)

    Arguments

    Type IntentOptional Attributes Name
    integer :: N
    complex(kind=8), dimension(N-1) :: sub_
    complex(kind=8), dimension(N) :: diag_
    complex(kind=8), dimension(N-1) :: over_
    complex(kind=8), dimension(N) :: Inv
  • private subroutine d_invert_tridiag_block_matrix(Nb, N, sub_, diag_, over_, Ainv)

    Arguments

    Type IntentOptional Attributes Name
    integer :: Nb
    integer :: N
    real(kind=8), dimension(Nb-1,N,N) :: sub_
    real(kind=8), dimension(Nb,N,N) :: diag_
    real(kind=8), dimension(Nb-1,N,N) :: over_
    real(kind=8), dimension(Nb,N,N) :: Ainv
  • private subroutine c_invert_tridiag_block_matrix(Nb, N, sub_, diag_, over_, Ainv)

    Arguments

    Type IntentOptional Attributes Name
    integer :: Nb
    integer :: N
    complex(kind=8), dimension(Nb-1,N,N) :: sub_
    complex(kind=8), dimension(Nb,N,N) :: diag_
    complex(kind=8), dimension(Nb-1,N,N) :: over_
    complex(kind=8), dimension(Nb,N,N) :: Ainv
  • private subroutine d_invert_tridiag_matrix_mat(Amat)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(inout), dimension(:,:) :: Amat
  • private subroutine c_invert_tridiag_matrix_mat(Amat)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(inout), dimension(:,:) :: Amat
  • private subroutine d_invert_tridiag_block_matrix_mat(Nb, N, Amat)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: Nb
    integer, intent(in) :: N
    real(kind=8), intent(inout), dimension(Nb*N,Nb*N) :: Amat
  • private subroutine c_invert_tridiag_block_matrix_mat(Nb, N, Amat)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: Nb
    integer, intent(in) :: N
    complex(kind=8), intent(inout), dimension(Nb*N,Nb*N) :: Amat

public interface check_tridiag

  • private function d_check_tridiag(Amat) result(Mcheck)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:,:) :: Amat

    Return Value logical

  • private function c_check_tridiag(Amat) result(Mcheck)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), dimension(:,:) :: Amat

    Return Value logical

  • private function d_check_tridiag_block(Nblock, Nsize, Amat) result(Mcheck)

    Arguments

    Type IntentOptional Attributes Name
    integer :: Nblock
    integer :: Nsize
    real(kind=8), dimension(Nblock*Nsize,Nblock*Nsize) :: Amat

    Return Value logical

  • private function c_check_tridiag_block(Nblock, Nsize, Amat) result(Mcheck)

    Arguments

    Type IntentOptional Attributes Name
    integer :: Nblock
    integer :: Nsize
    complex(kind=8), dimension(Nblock*Nsize,Nblock*Nsize) :: Amat

    Return Value logical

public interface get_tridiag

  • private subroutine d_get_tridiag(Amat, sub, diag, over)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:,:) :: Amat
    real(kind=8), dimension(size(Amat,1)-1) :: sub
    real(kind=8), dimension(size(Amat,1)) :: diag
    real(kind=8), optional, dimension(size(Amat,1)-1) :: over
  • private subroutine c_get_tridiag(Amat, sub, diag, over)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), dimension(:,:) :: Amat
    complex(kind=8), dimension(size(Amat,1)-1) :: sub
    complex(kind=8), dimension(size(Amat,1)) :: diag
    complex(kind=8), optional, dimension(size(Amat,1)-1) :: over
  • private subroutine d_get_tridiag_block(Nblock, Nsize, Amat, sub, diag, over)

    Arguments

    Type IntentOptional Attributes Name
    integer :: Nblock
    integer :: Nsize
    real(kind=8), dimension(Nblock*Nsize,Nblock*Nsize) :: Amat
    real(kind=8), dimension(Nblock-1,Nsize,Nsize) :: sub
    real(kind=8), dimension(Nblock,Nsize,Nsize) :: diag
    real(kind=8), optional, dimension(Nblock-1,Nsize,Nsize) :: over
  • private subroutine c_get_tridiag_block(Nblock, Nsize, Amat, sub, diag, over)

    Arguments

    Type IntentOptional Attributes Name
    integer :: Nblock
    integer :: Nsize
    complex(kind=8), dimension(Nblock*Nsize,Nblock*Nsize) :: Amat
    complex(kind=8), dimension(Nblock-1,Nsize,Nsize) :: sub
    complex(kind=8), dimension(Nblock,Nsize,Nsize) :: diag
    complex(kind=8), optional, dimension(Nblock-1,Nsize,Nsize) :: over

public interface build_tridiag

  • private function d_build_tridiag(sub, diag, over) result(Amat)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(size(diag)-1) :: sub
    real(kind=8), dimension(:) :: diag
    real(kind=8), optional, dimension(size(diag)-1) :: over

    Return Value real(kind=8), dimension(size(diag),size(diag))

  • private function c_build_tridiag(sub, diag, over) result(Amat)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), dimension(size(diag)-1) :: sub
    complex(kind=8), dimension(:) :: diag
    complex(kind=8), optional, dimension(size(diag)-1) :: over

    Return Value complex(kind=8), dimension(size(diag),size(diag))

  • private function d_build_tridiag_block(Nblock, Nsize, sub, diag, over) result(Amat)

    Arguments

    Type IntentOptional Attributes Name
    integer :: Nblock
    integer :: Nsize
    real(kind=8), dimension(Nblock-1,Nsize,Nsize) :: sub
    real(kind=8), dimension(Nblock,Nsize,Nsize) :: diag
    real(kind=8), optional, dimension(Nblock-1,Nsize,Nsize) :: over

    Return Value real(kind=8), dimension(Nblock*Nsize,Nblock*Nsize)

  • private function c_build_tridiag_block(Nblock, Nsize, sub, diag, over) result(Amat)

    Arguments

    Type IntentOptional Attributes Name
    integer :: Nblock
    integer :: Nsize
    complex(kind=8), dimension(Nblock-1,Nsize,Nsize) :: sub
    complex(kind=8), dimension(Nblock,Nsize,Nsize) :: diag
    complex(kind=8), optional, dimension(Nblock-1,Nsize,Nsize) :: over

    Return Value complex(kind=8), dimension(Nblock*Nsize,Nblock*Nsize)

public interface det

  • private function ddet(A) result(x)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)

    Return Value real(kind=8)

  • private function zdet(A) result(x)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)

    Return Value complex(kind=8)

public interface deye

  • private pure function deye_matrix(n) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n

    Return Value real(kind=8), (n,n)

  • private pure function deye_indices(i, j) result(a)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: i
    integer, intent(in) :: j

    Return Value real(kind=8)

public interface zeye

  • private pure function zeye_matrix(n) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n

    Return Value complex(kind=8), (n,n)

  • private pure function zeye_indices(i, j) result(a)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: i
    integer, intent(in) :: j

    Return Value complex(kind=8)

public interface eye

  • private pure function deye_matrix(n) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n

    Return Value real(kind=8), (n,n)

  • private pure function deye_indices(i, j) result(a)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: i
    integer, intent(in) :: j

    Return Value real(kind=8)

public interface diag

  • private pure function ddiag(x) result(A)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: x(:)

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

  • private pure function zdiag(x) result(A)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: x(:)

    Return Value complex(kind=8), allocatable, (:,:)

public interface diagonal

  • private pure function d_diagonal(A) result(dd)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)

    Return Value real(kind=8), dimension(size(A,1))

  • private pure function z_diagonal(A) result(dd)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)

    Return Value complex(kind=8), dimension(size(A,1))

public interface trace

  • private pure function dtrace(A) result(t)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)

    Return Value real(kind=8)

  • private pure function ztrace(A) result(t)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)

    Return Value complex(kind=8)

public interface zeros

  • private pure function zzeros_1(n) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n

    Return Value complex(kind=8), (n)

  • private pure function zzeros_2(n1, n2) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2

    Return Value complex(kind=8), (n1,n2)

  • private pure function zzeros_3(n1, n2, n3) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2
    integer, intent(in) :: n3

    Return Value complex(kind=8), (n1,n2,n3)

  • private pure function zzeros_4(n1, n2, n3, n4) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2
    integer, intent(in) :: n3
    integer, intent(in) :: n4

    Return Value complex(kind=8), (n1,n2,n3,n4)

  • private pure function zzeros_5(n1, n2, n3, n4, n5) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2
    integer, intent(in) :: n3
    integer, intent(in) :: n4
    integer, intent(in) :: n5

    Return Value complex(kind=8), (n1,n2,n3,n4,n5)

  • private pure function zzeros_6(n1, n2, n3, n4, n5, n6) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2
    integer, intent(in) :: n3
    integer, intent(in) :: n4
    integer, intent(in) :: n5
    integer, intent(in) :: n6

    Return Value complex(kind=8), (n1,n2,n3,n4,n5,n6)

  • private pure function zzeros_7(n1, n2, n3, n4, n5, n6, n7) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2
    integer, intent(in) :: n3
    integer, intent(in) :: n4
    integer, intent(in) :: n5
    integer, intent(in) :: n6
    integer, intent(in) :: n7

    Return Value complex(kind=8), (n1,n2,n3,n4,n5,n6,n7)

public interface ones

  • private pure function zones_1(n) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n

    Return Value complex(kind=8), (n)

  • private pure function zones_2(n1, n2) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2

    Return Value complex(kind=8), (n1,n2)

  • private pure function zones_3(n1, n2, n3) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2
    integer, intent(in) :: n3

    Return Value complex(kind=8), (n1,n2,n3)

  • private pure function zones_4(n1, n2, n3, n4) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2
    integer, intent(in) :: n3
    integer, intent(in) :: n4

    Return Value complex(kind=8), (n1,n2,n3,n4)

  • private pure function zones_5(n1, n2, n3, n4, n5) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2
    integer, intent(in) :: n3
    integer, intent(in) :: n4
    integer, intent(in) :: n5

    Return Value complex(kind=8), (n1,n2,n3,n4,n5)

  • private pure function zones_6(n1, n2, n3, n4, n5, n6) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2
    integer, intent(in) :: n3
    integer, intent(in) :: n4
    integer, intent(in) :: n5
    integer, intent(in) :: n6

    Return Value complex(kind=8), (n1,n2,n3,n4,n5,n6)

  • private pure function zones_7(n1, n2, n3, n4, n5, n6, n7) result(A)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n1
    integer, intent(in) :: n2
    integer, intent(in) :: n3
    integer, intent(in) :: n4
    integer, intent(in) :: n5
    integer, intent(in) :: n6
    integer, intent(in) :: n7

    Return Value complex(kind=8), (n1,n2,n3,n4,n5,n6,n7)

public interface kron

  • private function i_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: A(:,:)
    integer, intent(in) :: B(:,:)

    Return Value integer, (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function d_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)
    real(kind=8), intent(in) :: B(:,:)

    Return Value real(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function dc_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)
    complex(kind=8), intent(in) :: B(:,:)

    Return Value complex(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function cd_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)
    real(kind=8), intent(in) :: B(:,:)

    Return Value complex(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function c_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)
    complex(kind=8), intent(in) :: B(:,:)

    Return Value complex(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

public interface kronecker_product

  • private function i_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: A(:,:)
    integer, intent(in) :: B(:,:)

    Return Value integer, (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function d_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)
    real(kind=8), intent(in) :: B(:,:)

    Return Value real(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function dc_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)
    complex(kind=8), intent(in) :: B(:,:)

    Return Value complex(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function cd_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)
    real(kind=8), intent(in) :: B(:,:)

    Return Value complex(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function c_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)
    complex(kind=8), intent(in) :: B(:,:)

    Return Value complex(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

public interface operator(.kx.)

  • private function i_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: A(:,:)
    integer, intent(in) :: B(:,:)

    Return Value integer, (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function d_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)
    real(kind=8), intent(in) :: B(:,:)

    Return Value real(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function dc_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in) :: A(:,:)
    complex(kind=8), intent(in) :: B(:,:)

    Return Value complex(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function cd_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)
    real(kind=8), intent(in) :: B(:,:)

    Return Value complex(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

  • private function c_kronecker_product(A, B) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in) :: A(:,:)
    complex(kind=8), intent(in) :: B(:,:)

    Return Value complex(kind=8), (size(A,1)*size(B,1),size(A,2)*size(B,2))

public interface outerprod

  • private function outerprod_d(a, b) result(outerprod)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in), dimension(:) :: a
    real(kind=8), intent(in), dimension(:) :: b

    Return Value real(kind=8), dimension(size(a),size(b))

  • private function outerprod_c(a, b) result(outerprod)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in), dimension(:) :: a
    complex(kind=8), intent(in), dimension(:) :: b

    Return Value complex(kind=8), dimension(size(a),size(b))

public interface cross_product

  • private function cross_3d_d(a, b) result(c)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(3) :: a
    real(kind=8), dimension(3) :: b

    Return Value real(kind=8), dimension(3)

  • private function cross_3d_c(a, b) result(c)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), dimension(3) :: a
    complex(kind=8), dimension(3) :: b

    Return Value complex(kind=8), dimension(3)

public interface s3_product

  • private function s3_product_d(a, b, c) result(s3)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in), dimension(3) :: a
    real(kind=8), intent(in), dimension(3) :: b
    real(kind=8), intent(in), dimension(3) :: c

    Return Value real(kind=8)

  • private function s3_product_c(a, b, c) result(s3)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in), dimension(3) :: a
    complex(kind=8), intent(in), dimension(3) :: b
    complex(kind=8), intent(in), dimension(3) :: c

    Return Value real(kind=8)

public interface mat_product

  • private subroutine d_matmul(A, B, C, alfa, beta)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(inout), dimension(:,:) :: A
    real(kind=8), intent(inout), dimension(:,:) :: B
    real(kind=8), intent(inout), dimension(:,:) :: C
    real(kind=8), optional :: alfa
    real(kind=8), optional :: beta
  • private subroutine z_matmul(A, B, C, alfa, beta)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(inout), dimension(:,:) :: A
    complex(kind=8), intent(inout), dimension(:,:) :: B
    complex(kind=8), intent(inout), dimension(:,:) :: C
    complex(kind=8), optional :: alfa
    complex(kind=8), optional :: beta

public interface p_mat_product

  • private subroutine p_d_matmul(A, B, C, Nblock, alfa, beta)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(inout), dimension(:,:) :: A
    real(kind=8), intent(inout), dimension(:,:) :: B
    real(kind=8), intent(inout), dimension(:,:) :: C
    integer :: Nblock
    real(kind=8), optional :: alfa
    real(kind=8), optional :: beta
  • private subroutine p_z_matmul(A, B, C, Nblock, alfa, beta)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in), dimension(:,:) :: A
    complex(kind=8), intent(in), dimension(:,:) :: B
    complex(kind=8), intent(inout), dimension(size(A,1),size(B,2)) :: C
    integer :: Nblock
    real(kind=8), optional :: alfa
    real(kind=8), optional :: beta

Functions

public function deye_tridiag(Nblock, N) result(eye_block)

Arguments

Type IntentOptional Attributes Name
integer :: Nblock
integer :: N

Return Value real(kind=8), dimension(Nblock,N,N)

public function zeye_tridiag(Nblock, N) result(eye_block)

Arguments

Type IntentOptional Attributes Name
integer :: Nblock
integer :: N

Return Value complex(kind=8), dimension(Nblock,N,N)