SF_SPARSE_ARRAY_CSC Module


Uses

  • module~~sf_sparse_array_csc~~UsesGraph module~sf_sparse_array_csc SF_SPARSE_ARRAY_CSC module~sf_linalg SF_LINALG module~sf_sparse_array_csc->module~sf_linalg module~sf_sparse_common SF_SPARSE_COMMON module~sf_sparse_array_csc->module~sf_sparse_common mpi mpi module~sf_sparse_array_csc->mpi module~sf_blacs SF_BLACS module~sf_linalg->module~sf_blacs module~sf_sparse_common->module~sf_linalg

Used by

  • module~~sf_sparse_array_csc~~UsedByGraph module~sf_sparse_array_csc SF_SPARSE_ARRAY_CSC module~sf_sparse SF_SPARSE module~sf_sparse->module~sf_sparse_array_csc module~sf_sparse_array_algebra SF_SPARSE_ARRAY_ALGEBRA module~sf_sparse_array_algebra->module~sf_sparse_array_csc

Interfaces

public interface as_sparse

  • private function construct_dmatrix_csc(matrix) result(self)

    Arguments

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

    Return Value type(sparse_dmatrix_csc)

  • private function construct_zmatrix_csc(matrix) result(self)

    Arguments

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

    Return Value type(sparse_zmatrix_csc)

public interface sparse

  • private function construct_dmatrix_csc(matrix) result(self)

    Arguments

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

    Return Value type(sparse_dmatrix_csc)

  • private function construct_zmatrix_csc(matrix) result(self)

    Arguments

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

    Return Value type(sparse_zmatrix_csc)

public interface assignment(=)

  • private subroutine dmatrix_equal_scalar_csc(a, c)

    Arguments

    Type IntentOptional Attributes Name
    type(sparse_dmatrix_csc), intent(inout) :: a
    real(kind=8), intent(in) :: c
  • private subroutine dmatrix_equal_dmatrix_csc(a, b)

    Arguments

    Type IntentOptional Attributes Name
    type(sparse_dmatrix_csc), intent(inout) :: a
    type(sparse_dmatrix_csc), intent(in) :: b
  • private subroutine zmatrix_equal_scalar_csc(a, c)

    Arguments

    Type IntentOptional Attributes Name
    type(sparse_zmatrix_csc), intent(inout) :: a
    complex(kind=8), intent(in) :: c
  • private subroutine zmatrix_equal_zmatrix_csc(a, b)

    Arguments

    Type IntentOptional Attributes Name
    type(sparse_zmatrix_csc), intent(inout) :: a
    type(sparse_zmatrix_csc), intent(in) :: b

public interface operator(*)

  • private function left_product_dmatrix_i_csc(C, A) result(B)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: C
    type(sparse_dmatrix_csc), intent(in) :: A

    Return Value type(sparse_dmatrix_csc)

  • private function left_product_dmatrix_d_csc(C, A) result(B)

    Arguments

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

    Return Value type(sparse_dmatrix_csc)

  • private function left_product_zmatrix_i_csc(C, A) result(B)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: C
    type(sparse_zmatrix_csc), intent(in) :: A

    Return Value type(sparse_zmatrix_csc)

  • private function left_product_zmatrix_d_csc(C, A) result(B)

    Arguments

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

    Return Value type(sparse_zmatrix_csc)

  • private function left_product_zmatrix_z_csc(C, A) result(B)

    Arguments

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

    Return Value type(sparse_zmatrix_csc)

  • private function right_product_dmatrix_i_csc(A, C) result(B)

    Arguments

    Type IntentOptional Attributes Name
    type(sparse_dmatrix_csc), intent(in) :: A
    integer, intent(in) :: C

    Return Value type(sparse_dmatrix_csc)

  • private function right_product_dmatrix_d_csc(A, C) result(B)

    Arguments

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

    Return Value type(sparse_dmatrix_csc)

  • private function right_product_zmatrix_i_csc(A, C) result(B)

    Arguments

    Type IntentOptional Attributes Name
    type(sparse_zmatrix_csc), intent(in) :: A
    integer, intent(in) :: C

    Return Value type(sparse_zmatrix_csc)

  • private function right_product_zmatrix_d_csc(A, C) result(B)

    Arguments

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

    Return Value type(sparse_zmatrix_csc)

  • private function right_product_zmatrix_z_csc(A, C) result(B)

    Arguments

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

    Return Value type(sparse_zmatrix_csc)

public interface operator(/)

  • private function right_division_dmatrix_i_csc(A, C) result(B)

    Arguments

    Type IntentOptional Attributes Name
    type(sparse_dmatrix_csc), intent(in) :: A
    integer, intent(in) :: C

    Return Value type(sparse_dmatrix_csc)

  • private function right_division_dmatrix_d_csc(A, C) result(B)

    Arguments

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

    Return Value type(sparse_dmatrix_csc)

  • private function right_division_zmatrix_i_csc(A, C) result(B)

    Arguments

    Type IntentOptional Attributes Name
    type(sparse_zmatrix_csc), intent(in) :: A
    integer, intent(in) :: C

    Return Value type(sparse_zmatrix_csc)

  • private function right_division_zmatrix_d_csc(A, C) result(B)

    Arguments

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

    Return Value type(sparse_zmatrix_csc)

  • private function right_division_zmatrix_z_csc(A, C) result(B)

    Arguments

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

    Return Value type(sparse_zmatrix_csc)

public interface matmul

  • private function left_matmul_dmatrix_darray_csc(C, A) result(B)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), intent(in), dimension(:) :: C
    type(sparse_dmatrix_csc), intent(in) :: A

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

  • private function left_matmul_zmatrix_zarray_csc(C, A) result(B)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=8), intent(in), dimension(:) :: C
    type(sparse_zmatrix_csc), intent(in) :: A

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

public interface operator(.x.)

public interface sp_kron

  • private function restricted_kron_dmatrix_csc(A, B, states) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    type(sparse_dmatrix_csc), intent(in) :: A
    type(sparse_dmatrix_csc), intent(in) :: B
    integer, intent(in), dimension(:) :: states

    Return Value type(sparse_dmatrix_csc)

  • private function restricted_kron_zmatrix_csc(A, B, states) result(AxB)

    Arguments

    Type IntentOptional Attributes Name
    type(sparse_zmatrix_csc), intent(in) :: A
    type(sparse_zmatrix_csc), intent(in) :: B
    integer, intent(in), dimension(:) :: states

    Return Value type(sparse_zmatrix_csc)

public interface transpose

public interface hconjg


Derived Types

type, public, extends(sparse_matrix) ::  sparse_dmatrix_csc

Components

Type Visibility Attributes Name Initial
integer, public :: Nrow
integer, public :: Ncol
integer, public :: Nelements
logical, public :: status = .false.
type(sparse_dcol_csc), public, dimension(:), allocatable :: col

Type-Bound Procedures

procedure, public, pass :: shape => shape_matrix
procedure, public, pass :: init => init_dmatrix_csc
procedure, public, pass :: free => free_dmatrix_csc
procedure, public, pass :: load => load_dmatrix_csc
procedure, public, pass :: dump => dump_dmatrix_csc
procedure, public, pass :: insert => insert_delement_csc
procedure, public, pass :: get => get_delement_csc
procedure, public, pass :: as_matrix => as_dmatrix_csc
procedure, public, pass :: dgr => dgr_dmatrix_csc
procedure, public, pass :: transpose => transpose_dmatrix_csc

type, public, extends(sparse_matrix) ::  sparse_zmatrix_csc

Components

Type Visibility Attributes Name Initial
integer, public :: Nrow
integer, public :: Ncol
integer, public :: Nelements
logical, public :: status = .false.
type(sparse_zcol_csc), public, dimension(:), allocatable :: col

Type-Bound Procedures

procedure, public, pass :: shape => shape_matrix
procedure, public, pass :: init => init_zmatrix_csc
procedure, public, pass :: free => free_zmatrix_csc
procedure, public, pass :: load => load_zmatrix_csc
procedure, public, pass :: dump => dump_zmatrix_csc
procedure, public, pass :: insert => insert_zelement_csc
procedure, public, pass :: get => get_zelement_csc
procedure, public, pass :: as_matrix => as_zmatrix_csc
procedure, public, pass :: dgr => dgr_zmatrix_csc
procedure, public, pass :: transpose => transpose_zmatrix_csc
procedure, public, pass :: conjg => conjg_zmatrix_csc