sparse_zmatrix_csc Derived Type

type, public, extends(sparse_matrix) :: sparse_zmatrix_csc


Inherits

type~~sparse_zmatrix_csc~~InheritsGraph type~sparse_zmatrix_csc sparse_zmatrix_csc type~sparse_matrix sparse_matrix type~sparse_zmatrix_csc->type~sparse_matrix type~sparse_zcol_csc sparse_zcol_csc type~sparse_zmatrix_csc->type~sparse_zcol_csc col type~sparse_col_csc sparse_col_csc type~sparse_zcol_csc->type~sparse_col_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

  • public function shape_matrix(self) result(shape)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_matrix), intent(in) :: self

    Return Value integer, dimension(2)

procedure, public, pass :: init => init_zmatrix_csc

  • private elemental subroutine init_zmatrix_csc(sparse, N, N1)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_zmatrix_csc), intent(inout) :: sparse
    integer, intent(in) :: N
    integer, intent(in), optional :: N1

procedure, public, pass :: free => free_zmatrix_csc

  • private elemental subroutine free_zmatrix_csc(sparse)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_zmatrix_csc), intent(inout) :: sparse

procedure, public, pass :: load => load_zmatrix_csc

  • private subroutine load_zmatrix_csc(sparse, matrix)

    Arguments

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

procedure, public, pass :: dump => dump_zmatrix_csc

  • private subroutine dump_zmatrix_csc(sparse, matrix)

    Arguments

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

procedure, public, pass :: insert => insert_zelement_csc

  • private subroutine insert_zelement_csc(sparse, value, i, j)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_zmatrix_csc), intent(inout) :: sparse
    complex(kind=8), intent(in) :: value
    integer, intent(in) :: i
    integer, intent(in) :: j

procedure, public, pass :: get => get_zelement_csc

  • private function get_zelement_csc(sparse, i, j) result(value)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_zmatrix_csc), intent(inout) :: sparse
    integer, intent(in) :: i
    integer, intent(in) :: j

    Return Value complex(kind=8)

procedure, public, pass :: as_matrix => as_zmatrix_csc

  • private function as_zmatrix_csc(sparse) result(matrix)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_zmatrix_csc), intent(in) :: sparse

    Return Value complex(kind=8), dimension(sparse%Nrow,sparse%Ncol)

procedure, public, pass :: dgr => dgr_zmatrix_csc

procedure, public, pass :: transpose => transpose_zmatrix_csc

  • private function transpose_zmatrix_csc(a) result(c)

    Arguments

    Type IntentOptional Attributes Name
    class(sparse_zmatrix_csc), intent(in) :: a

    Return Value type(sparse_zmatrix_csc)

procedure, public, pass :: conjg => conjg_zmatrix_csc

Source Code

  type, extends(sparse_matrix) :: sparse_zmatrix_csc
     type(sparse_zcol_csc),dimension(:),allocatable :: col
   contains
     procedure,pass :: init      => init_zmatrix_csc
     procedure,pass :: free      => free_zmatrix_csc
     procedure,pass :: load      => load_zmatrix_csc
     procedure,pass :: dump      => dump_zmatrix_csc
     procedure,pass :: insert    => insert_zelement_csc
     procedure,pass :: get       => get_zelement_csc
     procedure,pass :: as_matrix => as_zmatrix_csc
     procedure,pass :: dgr       => dgr_zmatrix_csc
     procedure,pass :: transpose => transpose_zmatrix_csc
     procedure,pass :: conjg     => conjg_zmatrix_csc
  end type sparse_zmatrix_csc