SF_SPARSE

Quick access

Types:

sparse_dmatrix_csr, sparse_zmatrix_csr

Routines:

as_sparse(), sparse(), assignment(=)(), operator(*)(), operator(/)(), matmul(), operator(.x.)(), kron(), transpose(), hconjg()

Used modules

Types

type  sf_sparse_array_csr/sparse_dmatrix_csr
Type fields:
  • row (•) [sparse_drow_csr, allocatable]

type  sf_sparse_array_csr/sparse_zmatrix_csr
Type fields:
  • row (•) [sparse_zrow_csr, allocatable]

Subroutines and functions

interface  sf_sparse_array_csr/as_sparse(matrix)
Parameters:

matrix (•, •) [real, complex, in]

Return:

self [sparse_dmatrix_csr]

interface  sf_sparse_array_csr/sparse(matrix)
Parameters:

matrix (•, •) [real, complex, in]

Return:

self [sparse_dmatrix_csr]

interface  sf_sparse_array_csr/assignment(=)(a, c, b)
Parameters:
interface  sf_sparse_array_csr/operator(*)(c, a)
Parameters:
Return:

b [sparse_dmatrix_csr]

interface  sf_sparse_array_csr/operator(/)(a, c)
Parameters:
Return:

b [sparse_dmatrix_csr]

interface  sf_sparse_array_csr/matmul(a, c)
Parameters:
Return:

b (size(c)) [real, complex]

interface  sf_sparse_array_csr/operator(.x.)(a, b)
Parameters:
Return:

axb [sparse_dmatrix_csr]

interface  sf_sparse_array_csr/kron(a, b, states)
Parameters:
Return:

axb [sparse_dmatrix_csr]

interface  sf_sparse_array_csr/transpose(a)
Parameters:

a [real] – tranpose

Return:

c [sparse_dmatrix_csr]

interface  sf_sparse_array_csr/hconjg(a)
Parameters:

a [real] – tranpose

Return:

c [sparse_dmatrix_csr]

Quick access

Types:

sparse_dmatrix_csc, sparse_zmatrix_csc

Routines:

as_sparse(), sparse(), assignment(=)(), operator(*)(), operator(/)(), matmul(), operator(.x.)(), sp_kron(), transpose(), hconjg()

Used modules

Types

type  sf_sparse_array_csc/sparse_dmatrix_csc
Type fields:
  • col (•) [sparse_dcol_csc, allocatable]

type  sf_sparse_array_csc/sparse_zmatrix_csc
Type fields:
  • col (•) [sparse_zcol_csc, allocatable]

Subroutines and functions

interface  sf_sparse_array_csc/as_sparse(matrix)
Parameters:

matrix (•, •) [real, complex, in]

Return:

self [sparse_dmatrix_csc]

interface  sf_sparse_array_csc/sparse(matrix)
Parameters:

matrix (•, •) [real, complex, in]

Return:

self [sparse_dmatrix_csc]

interface  sf_sparse_array_csc/assignment(=)(a, c, b)
Parameters:
interface  sf_sparse_array_csc/operator(*)(c, a)
Parameters:
Return:

b [sparse_dmatrix_csc]

interface  sf_sparse_array_csc/operator(/)(a, c)
Parameters:
Return:

b [sparse_dmatrix_csc]

interface  sf_sparse_array_csc/matmul(c, a)
Parameters:
Return:

b (size(c)) [real, complex]

interface  sf_sparse_array_csc/operator(.x.)(a, b)
Parameters:
Return:

axb [sparse_dmatrix_csc]

interface  sf_sparse_array_csc/sp_kron(a, b, states)
Parameters:
Return:

axb [sparse_dmatrix_csc]

interface  sf_sparse_array_csc/transpose(a)
Parameters:

a [real] – tranpose

Return:

c [sparse_dmatrix_csc]

interface  sf_sparse_array_csc/hconjg(a)
Parameters:

a [real] – tranpose

Return:

c [sparse_dmatrix_csc]

Quick access

Types:

sf_sparse_dmatrix_coo, sf_sparse_cmatrix_coo

Routines:

sf_init_matrix_coo(), sf_delete_matrix_coo(), sf_insert_element_coo(), sf_dump_matrix_coo(), sf_init_dmatrix_coo(), sf_init_cmatrix_coo(), sf_delete_dmatrix_coo(), sf_delete_cmatrix_coo(), sf_insert_delement_coo(), sf_insert_celement_coo(), sf_dump_dmatrix_coo(), sf_dump_cmatrix_coo()

Used modules

Types

type  sf_sparse_array_coo/sf_sparse_dmatrix_coo
Type fields:
  • rows (•) [integer, allocatable]

  • cols (•) [integer, allocatable]

  • vals (•) [real, allocatable]

  • size [integer]

  • nrow [integer]

  • ncol [integer]

  • status [logical]

type  sf_sparse_array_coo/sf_sparse_cmatrix_coo
Type fields:
  • rows (•) [integer, allocatable]

  • cols (•) [integer, allocatable]

  • vals (•) [complex, allocatable]

  • size [integer]

  • nrow [integer]

  • ncol [integer]

  • status [logical]

Subroutines and functions

interface  sf_sparse_array_coo/sf_init_matrix_coo(sparse, n[, n1])
Parameters:
Options:

n1 [integer]

interface  sf_sparse_array_coo/sf_delete_matrix_coo(sparse)
Parameters:

sparse [sf_sparse_dmatrix_coo, inout] – stop “Error SPARSE/sf_delete_matrix: sparse is not allocated.”

interface  sf_sparse_array_coo/sf_insert_element_coo(sparse, value, i, j)
Parameters:
  • sparse [sf_sparse_dmatrix_coo, inout] – Find position if present

  • value [real, complex, in]

  • i [integer, in] – Add if present

  • j [integer, in]

interface  sf_sparse_array_coo/sf_dump_matrix_coo(sparse, matrix)
Parameters:
subroutine  sf_sparse_array_coo/sf_init_dmatrix_coo(sparse, n[, n1])
Parameters:
Options:

n1 [integer]

subroutine  sf_sparse_array_coo/sf_init_cmatrix_coo(sparse, n[, n1])
Parameters:
Options:

n1 [integer]

subroutine  sf_sparse_array_coo/sf_delete_dmatrix_coo(sparse)
Parameters:

sparse [sf_sparse_dmatrix_coo, inout] – stop “Error SPARSE/sf_delete_matrix: sparse is not allocated.”

subroutine  sf_sparse_array_coo/sf_delete_cmatrix_coo(sparse)
Parameters:

sparse [sf_sparse_cmatrix_coo, inout] – stop “Error SPARSE/sf_delete_matrix: sparse is not allocated.”

subroutine  sf_sparse_array_coo/sf_insert_delement_coo(sparse, value, i, j)
Parameters:
  • sparse [sf_sparse_dmatrix_coo, inout] – Find position if present

  • value [real, in]

  • i [integer, in] – Add if present

  • j [integer, in]

subroutine  sf_sparse_array_coo/sf_insert_celement_coo(sparse, value, i, j)
Parameters:
  • sparse [sf_sparse_cmatrix_coo, inout] – Find position if present

  • value [complex, in]

  • i [integer, in] – Add if present

  • j [integer, in]

subroutine  sf_sparse_array_coo/sf_dump_dmatrix_coo(sparse, matrix)
Parameters:
subroutine  sf_sparse_array_coo/sf_dump_cmatrix_coo(sparse, matrix)
Parameters:

Quick access

Routines:

matmul(), dmatmul_csr_csr(), zmatmul_csr_csr(), dmatmul_csc_csc(), zmatmul_csc_csc(), dmatmul_csc_csr_2csc(), zmatmul_csc_csr_2csc(), dmatmul_csc_csr_2csr(), zmatmul_csc_csr_2csr()

Used modules

Subroutines and functions

interface  sf_sparse_array_algebra/matmul(a, e_b____return___axb_er)
Parameters:
function  sf_sparse_array_algebra/dmatmul_csr_csr(a, e_b____return___axb_er)
Parameters:
Return:

dmatmul_csr_csr [real]

function  sf_sparse_array_algebra/zmatmul_csr_csr(a, e_b____return___axb_er)
Parameters:
Return:

zmatmul_csr_csr [real]

function  sf_sparse_array_algebra/dmatmul_csc_csc(a, e_b____return___axb_er)
Parameters:
Return:

dmatmul_csc_csc [real]

function  sf_sparse_array_algebra/zmatmul_csc_csc(a, e_b____return___axb_er)
Parameters:
Return:

zmatmul_csc_csc [real]

function  sf_sparse_array_algebra/dmatmul_csc_csr_2csc(a, e_b____return___axb_er)
Parameters:
Return:

dmatmul_csc_csr_2csc [real]

function  sf_sparse_array_algebra/zmatmul_csc_csr_2csc(a, e_b____return___axb_er)
Parameters:
Return:

zmatmul_csc_csr_2csc [real]

function  sf_sparse_array_algebra/dmatmul_csc_csr_2csr(a, e_b____return___axb_er)
Parameters:
Return:

dmatmul_csc_csr_2csr [real]

function  sf_sparse_array_algebra/zmatmul_csc_csr_2csr(a, e_b____return___axb_er)
Parameters:
Return:

zmatmul_csc_csr_2csr [real]

Quick access

Types:

sparse_matrix

Routines:

append(), shape(), shape_matrix(), sort_array(), binary_search(), append_i(), append_d(), append_z()

Used modules

Types

type  sf_sparse_common/sparse_matrix
Type fields:
  • nrow [integer]

  • ncol [integer]

  • nelements [integer]

  • status [logical]

Subroutines and functions

interface  sf_sparse_common/append(vec, val)
Parameters:
  • vec (•) [integer, real, complex, inout,allocatable]

  • val [integer, real, complex, in]

interface  sf_sparse_common/shape(self)
Parameters:

self [real]

Return:

shape (2) [integer]

function  sf_sparse_common/shape_matrix(self)
Parameters:

self [real]

Return:

shape (2) [integer]

subroutine  sf_sparse_common/sort_array(array, order)
Parameters:
  • array (•) [integer, in,required]

  • order (size(array)) [integer]

Parameters:
  • ain (•) [integer, in]

  • value [integer, in]

Return:

bsresult [integer] – not found

subroutine  sf_sparse_common/append_i(vec, val)
Parameters:
  • vec (•) [integer, inout,allocatable]

  • val [integer, in]

subroutine  sf_sparse_common/append_d(vec, val)
Parameters:
  • vec (•) [real, inout,allocatable]

  • val [real, in]

subroutine  sf_sparse_common/append_z(vec, val)
Parameters:
  • vec (•) [complex, inout,allocatable]

  • val [complex, in]