sparse_zmatrix_csr Derived Type

type, public, extends(sparse_matrix) :: sparse_zmatrix_csr


Inherits

type~~sparse_zmatrix_csr~~InheritsGraph type~sparse_zmatrix_csr sparse_zmatrix_csr type~sparse_matrix sparse_matrix type~sparse_zmatrix_csr->type~sparse_matrix type~sparse_zrow_csr sparse_zrow_csr type~sparse_zmatrix_csr->type~sparse_zrow_csr row type~sparse_row_csr sparse_row_csr type~sparse_zrow_csr->type~sparse_row_csr

Components

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

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_csr

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

    Arguments

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

procedure, public, pass :: free => free_zmatrix_csr

  • private elemental subroutine free_zmatrix_csr(sparse)

    Arguments

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

procedure, public, pass :: load => load_zmatrix_csr

  • private subroutine load_zmatrix_csr(sparse, matrix)

    Arguments

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

procedure, public, pass :: dump => dump_zmatrix_csr

  • private subroutine dump_zmatrix_csr(sparse, matrix)

    Arguments

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

procedure, public, pass :: insert => insert_zelement_csr

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

    Arguments

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

procedure, public, pass :: get => get_zelement_csr

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

    Arguments

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

    Return Value complex(kind=8)

procedure, public, pass :: as_matrix => as_zmatrix_csr

  • private function as_zmatrix_csr(sparse) result(matrix)

    Arguments

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

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

procedure, public, pass :: dgr => dgr_zmatrix_csr

procedure, public, pass :: transpose => transpose_zmatrix_csr

  • private function transpose_zmatrix_csr(a) result(c)

    Arguments

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

    Return Value type(sparse_zmatrix_csr)

procedure, public, pass :: conjg => conjg_zmatrix_csr

Source Code

  type, extends(sparse_matrix) :: sparse_zmatrix_csr
     type(sparse_zrow_csr),dimension(:),allocatable :: row
   contains
     procedure,pass :: init      => init_zmatrix_csr
     procedure,pass :: free      => free_zmatrix_csr
     procedure,pass :: load      => load_zmatrix_csr
     procedure,pass :: dump      => dump_zmatrix_csr
     procedure,pass :: insert    => insert_zelement_csr
     procedure,pass :: get       => get_zelement_csr
     procedure,pass :: as_matrix => as_zmatrix_csr
     procedure,pass :: dgr       => dgr_zmatrix_csr
     procedure,pass :: transpose => transpose_zmatrix_csr
     procedure,pass :: conjg     => conjg_zmatrix_csr
  end type sparse_zmatrix_csr