CSC_cdp_type Derived Type

type, public, extends(CSC_type) :: CSC_cdp_type


Components

Type Visibility Attributes Name Initial
integer(kind=ilp), public, allocatable :: colptr(:)

matrix column pointer

complex(kind=dp), public, allocatable :: data(:)
integer(kind=ilp), public :: ncols = 0

number of columns

integer(kind=ilp), public :: nnz = 0

number of non-zero values

integer(kind=ilp), public :: nrows = 0

number of rows

integer(kind=ilp), public, allocatable :: row(:)

matrix row pointer

integer, public :: storage = sparse_full

assumed storage symmetry


Type-Bound Procedures

generic, public :: add => add_value, add_block

  • private subroutine add_value_csc_cdp(self, ik, jk, val)

    Arguments

    Type IntentOptional Attributes Name
    class(CSC_cdp_type), intent(inout) :: self
    integer(kind=ilp), intent(in) :: ik
    integer(kind=ilp), intent(in) :: jk
    complex(kind=dp), intent(in) :: val
  • private subroutine add_block_csc_cdp(self, ik, jk, val)

    Arguments

    Type IntentOptional Attributes Name
    class(CSC_cdp_type), intent(inout) :: self
    integer(kind=ilp), intent(in) :: ik(:)
    integer(kind=ilp), intent(in) :: jk(:)
    complex(kind=dp), intent(in) :: val(:,:)

procedure, public, non_overridable :: add_block => add_block_csc_cdp

  • private subroutine add_block_csc_cdp(self, ik, jk, val)

    Arguments

    Type IntentOptional Attributes Name
    class(CSC_cdp_type), intent(inout) :: self
    integer(kind=ilp), intent(in) :: ik(:)
    integer(kind=ilp), intent(in) :: jk(:)
    complex(kind=dp), intent(in) :: val(:,:)

procedure, public, non_overridable :: add_value => add_value_csc_cdp

  • private subroutine add_value_csc_cdp(self, ik, jk, val)

    Arguments

    Type IntentOptional Attributes Name
    class(CSC_cdp_type), intent(inout) :: self
    integer(kind=ilp), intent(in) :: ik
    integer(kind=ilp), intent(in) :: jk
    complex(kind=dp), intent(in) :: val

procedure, public, non_overridable :: at => at_value_csc_cdp

  • private pure function at_value_csc_cdp(self, ik, jk) result(val)

    Arguments

    Type IntentOptional Attributes Name
    class(CSC_cdp_type), intent(in) :: self
    integer(kind=ilp), intent(in) :: ik
    integer(kind=ilp), intent(in) :: jk

    Return Value complex(kind=dp)

procedure, public :: malloc => malloc_csc

  • private subroutine malloc_csc(self, num_rows, num_cols, nnz)

    Arguments

    Type IntentOptional Attributes Name
    class(CSC_type) :: self
    integer(kind=ilp), intent(in) :: num_rows

    number of rows

    integer(kind=ilp), intent(in) :: num_cols

    number of columns

    integer(kind=ilp), intent(in) :: nnz

    number of non zeros