Documentation for module dbcsr_api

This is the start of a dbcsr_api, all publically needed functions are exported here. The others remain private to the library. Currently, this is the CP2K used set. Ultimately, a reduced subset and well defined api will remain, possibly grouped in to standard and expert api. Currently, this is work in progress.

source: dbcsr_api.F
Loading...

Forwarded symbols:

dbcsr_get_default_config
dbcsr_config::dbcsr_get_default_config
...
dbcsr_print_config
dbcsr_config::dbcsr_print_config
Prints configuration for DBCSR
dbcsr_set_config
dbcsr_config::dbcsr_set_config
...
csr_dbcsr_blkrow_dist
dbcsr_csr_conversions::csr_dbcsr_blkrow_dist
...
csr_destroy
dbcsr_csr_conversions::csr_destroy
destroy a CSR matrix
csr_eqrow_ceil_dist
dbcsr_csr_conversions::csr_eqrow_ceil_dist
...
csr_eqrow_floor_dist
dbcsr_csr_conversions::csr_eqrow_floor_dist
...
csr_print_sparsity
dbcsr_csr_conversions::csr_print_sparsity
Print CSR sparsity
csr_p_type
dbcsr_csr_conversions::csr_p_type
...
csr_type
dbcsr_csr_conversions::csr_type
Type for CSR matrices
csr_write
dbcsr_csr_conversions::csr_write
Write a CSR matrix to file
dbcsr_distribution_get_num_images
dbcsr_dist_methods::dbcsr_distribution_get_num_images_1d
Count number of images in the product matrix
from dbcsr_lib:
dbcsr_clear_mempools
dbcsr_lib::dbcsr_clear_mempools
Deallocate memory contained in mempools
dbcsr_finalize_lib
dbcsr_lib::dbcsr_finalize_lib
Finalize the DBCSR library
dbcsr_init_lib
dbcsr_lib::dbcsr_init_lib
Initialize the DBCSR library
dbcsr_reset_randmat_seed
dbcsr_test_methods::dbcsr_reset_randmat_seed
Reset the seed used for generating random matrices to default value
dbcsr_run_tests
dbcsr_tests::dbcsr_run_tests
Performs a variety of matrix multiplies of same matrices on different processor grids
dbcsr_test_binary_io
dbcsr_tests::dbcsr_test_binary_io
...
dbcsr_test_mm
dbcsr_tests::dbcsr_test_mm
...
dbcsr_func_artanh
dbcsr_types::dbcsr_func_artanh
...
dbcsr_func_dtanh
dbcsr_types::dbcsr_func_dtanh
...
dbcsr_func_inverse
dbcsr_types::dbcsr_func_inverse
...
dbcsr_func_tanh
dbcsr_types::dbcsr_func_tanh
...
dbcsr_norm_column
dbcsr_types::dbcsr_norm_column
...
dbcsr_norm_frobenius
dbcsr_types::dbcsr_norm_frobenius
...
dbcsr_norm_maxabsnorm
dbcsr_types::dbcsr_norm_maxabsnorm
...
dbcsr_no_transpose
dbcsr_types::dbcsr_no_transpose
...
dbcsr_transpose
dbcsr_types::dbcsr_transpose
...
dbcsr_type_antisymmetric
dbcsr_types::dbcsr_type_antisymmetric
...
dbcsr_type_complex_4
dbcsr_types::dbcsr_type_complex_4
dbcsr_data_types::dbcsr_type_complex_4
...
dbcsr_type_complex_8
dbcsr_types::dbcsr_type_complex_8
dbcsr_data_types::dbcsr_type_complex_8
...
dbcsr_type_complex_default
dbcsr_types::dbcsr_type_complex_default
dbcsr_data_types::dbcsr_type_complex_default
...
dbcsr_type_no_symmetry
dbcsr_types::dbcsr_type_no_symmetry
...
dbcsr_type_real_4
dbcsr_types::dbcsr_type_real_4
dbcsr_data_types::dbcsr_type_real_4
...
dbcsr_type_real_8
dbcsr_types::dbcsr_type_real_8
dbcsr_data_types::dbcsr_type_real_8
...
dbcsr_type_real_default
dbcsr_types::dbcsr_type_real_default
dbcsr_data_types::dbcsr_type_real_default
...
dbcsr_type_symmetric
dbcsr_types::dbcsr_type_symmetric
...
convert_offsets_to_sizes
dbcsr_util::convert_offsets_to_sizes
Converts offsets to sizes
convert_sizes_to_offsets
dbcsr_util::convert_sizes_to_offsets
Converts sizes to offsets

public Types:

dbcsr_p_type
...
dbcsr_type
...
dbcsr_distribution_type
...
dbcsr_iterator_type
...

Generic procedures:

csr_create
dbcsr_add
dbcsr_add_on_diag
dbcsr_allocate_matrix_set
dbcsr_create
dbcsr_deallocate_matrix_set
dbcsr_get_block_p
dbcsr_get_data_p
dbcsr_get_diag
dbcsr_get_wms_data_p
dbcsr_iterator_next_block
dbcsr_multiply
dbcsr_put_block
dbcsr_reserve_block2d
dbcsr_scale
dbcsr_scale_by_vector
dbcsr_set
dbcsr_set_diag
dbcsr_trace

public Subroutines/Functions:

...
...
...
Emulation of sparse_matrix_types/add_block_node mapped to add_real_matrix_block.... should not be used any longer
...
...
...
FUNCTION
REAL(dp)
dbcsr_checksum (matrix, local, pos)
...
...
...
...
Deallocates a DBCSR matrix for compatibility with CP2K
...
...
...
...
Creates new distribution from blockr distributions
...
...
...
...
...
...
...
FUNCTION
INTEGER
dbcsr_get_data_size (matrix)
...
FUNCTION
INTEGER PURE
dbcsr_get_data_type (matrix)
...
...
FUNCTION
CHARACTER PURE
dbcsr_get_matrix_type (matrix)
...
FUNCTION
INTEGER PURE
dbcsr_get_num_blocks (matrix)
...
...
...
...
FUNCTION
LOGICAL PURE
dbcsr_has_symmetry (matrix)
...
SUBROUTINE
dbcsr_init_p (matrix)
...
...
FUNCTION
LOGICAL PURE
dbcsr_iterator_blocks_left (iterator)
...
...
...
FUNCTION
REAL(real_8)
dbcsr_maxabs (matrix)
...
...
FUNCTION
INTEGER
dbcsr_nblkcols_total (matrix)
...
FUNCTION
INTEGER
dbcsr_nblkrows_total (matrix)
...
FUNCTION
INTEGER
dbcsr_nfullcols_total (matrix)
...
FUNCTION
INTEGER
dbcsr_nfullrows_total (matrix)
...
...
...
Prints the sum of the elements in each block
SUBROUTINE
dbcsr_release (matrix)
...
SUBROUTINE
dbcsr_release_p (matrix)
...
...
...
...
...
...
...
...
Apply filtering threshold eps to DBCSR blocks in order to improve CSR sparsity (currently only used for testing purposes)
...
SUBROUTINE
dbcsr_triu (matrix)
...
FUNCTION
LOGICAL PURE
dbcsr_valid_index (matrix)
...
...
...

public Types:

TYPE :: dbcsr_distribution_type

...


PRIVATE :: prv ...

TYPE :: dbcsr_iterator_type

...


PRIVATE :: prv ...

TYPE :: dbcsr_p_type

...


TYPE(dbcsr_type),
POINTER :: matrix => NULL() ...

TYPE :: dbcsr_type

...


PRIVATE :: prv ...


Generic procedure csr_create

...

TYPE(csr_type),
INTENT(out)
:: csr_mat ×
INTEGER,
INTENT(in)
:: nrows_total ×
INTEGER,
INTENT(in)
:: ncols_total ×
INTEGER(int_8)
:: nze_total ×
INTEGER,
INTENT(in)
:: nze_local ×
INTEGER,
INTENT(in)
:: nrows_local ×
INTEGER,
INTENT(in)
:: mp_group ×
INTEGER,
INTENT(in),
OPTIONAL
:: data_type ×
TYPE(csr_type),
INTENT(out)
:: matrix_b ×
TYPE(csr_type),
INTENT(in)
:: matrix_a ×

Generic procedure dbcsr_add

...

TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a × × × ×
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b × × × ×
REAL(real_8),
INTENT(in)
:: alpha_scalar ×
REAL(real_4),
INTENT(in)
:: alpha_scalar ×
COMPLEX(real_4),
INTENT(in)
:: alpha_scalar ×
COMPLEX(real_8),
INTENT(in)
:: alpha_scalar ×
REAL(real_8),
INTENT(in)
:: beta_scalar ×
REAL(real_4),
INTENT(in)
:: beta_scalar ×
COMPLEX(real_4),
INTENT(in)
:: beta_scalar ×
COMPLEX(real_8),
INTENT(in)
:: beta_scalar ×

Generic procedure dbcsr_add_on_diag

...

TYPE(dbcsr_type),
INTENT(inout)
:: matrix × × × ×
REAL(real_8),
INTENT(in)
:: alpha_scalar ×
REAL(real_4),
INTENT(in)
:: alpha_scalar ×
COMPLEX(real_4),
INTENT(in)
:: alpha_scalar ×
COMPLEX(real_8),
INTENT(in)
:: alpha_scalar ×

Generic procedure dbcsr_allocate_matrix_set

...

POINTER
:: matrix_set(:) ×
POINTER
:: matrix_set(:,:) ×
POINTER
:: matrix_set(:,:,:) ×
INTEGER,
INTENT(in)
:: nmatrix × × ×
INTEGER,
INTENT(in)
:: mmatrix × ×
INTEGER,
INTENT(in)
:: pmatrix ×

Generic procedure dbcsr_create

...

TYPE(dbcsr_type),
INTENT(inout)
:: matrix × ×
CHARACTER(*),
INTENT(in)
:: name ×
CHARACTER(*),
INTENT(in),
OPTIONAL
:: name ×
INTENT(in)
:: dist ×
INTENT(in),
OPTIONAL
:: dist ×
CHARACTER,
INTENT(in)
:: matrix_type ×
CHARACTER,
INTENT(in),
OPTIONAL
:: matrix_type ×
INTEGER,
INTENT(in),
POINTER
:: row_blk_size(:) ×
INTEGER,
INTENT(in),
OPTIONAL, POINTER
:: row_blk_size(:) ×
INTEGER,
INTENT(in),
POINTER
:: col_blk_size(:) ×
INTEGER,
INTENT(in),
OPTIONAL, POINTER
:: col_blk_size(:) ×
INTEGER,
INTENT(in),
OPTIONAL
:: nze × ×
INTEGER,
INTENT(in),
OPTIONAL
:: data_type × ×
LOGICAL,
INTENT(in),
OPTIONAL
:: reuse ×
LOGICAL,
INTENT(in),
OPTIONAL
:: reuse_arrays × ×
LOGICAL,
INTENT(in),
OPTIONAL
:: mutable_work × ×
CHARACTER,
INTENT(in),
OPTIONAL
:: replication_type × ×
TYPE(dbcsr_type),
INTENT(in)
:: template ×

Generic procedure dbcsr_deallocate_matrix_set

Deallocate a real matrix set and release all of the member matrices.

POINTER
:: matrix_set(:) ×
POINTER
:: matrix_set(:,:) ×
POINTER
:: matrix_set(:,:,:) ×

Generic procedure dbcsr_get_block_p

...

TYPE(dbcsr_type),
INTENT(in)
:: matrix × × × ×
TYPE(dbcsr_type),
INTENT(inout)
:: matrix × × × ×
INTEGER,
INTENT(in)
:: row × × × × × × × ×
INTEGER,
INTENT(in)
:: col × × × × × × × ×
REAL(real_8),
POINTER
:: block(:) ×
REAL(real_4),
POINTER
:: block(:) ×
COMPLEX(real_8),
POINTER
:: block(:) ×
COMPLEX(real_4),
POINTER
:: block(:) ×
REAL(real_8),
POINTER
:: block(:,:) ×
REAL(real_4),
POINTER
:: block(:,:) ×
COMPLEX(real_8),
POINTER
:: block(:,:) ×
COMPLEX(real_4),
POINTER
:: block(:,:) ×
LOGICAL,
INTENT(out)
:: found × × × × × × × ×
INTEGER,
INTENT(out),
OPTIONAL
:: row_size × × × × × × × ×
INTEGER,
INTENT(out),
OPTIONAL
:: col_size × × × × × × × ×

Generic procedure dbcsr_get_data_p

...

TYPE(dbcsr_type),
INTENT(in)
:: matrix × × × ×
REAL(real_4),
INTENT(in)
:: select_data_type ×
COMPLEX(real_4),
INTENT(in)
:: select_data_type ×
REAL(real_8),
INTENT(in)
:: select_data_type ×
COMPLEX(real_8),
INTENT(in)
:: select_data_type ×
INTEGER,
INTENT(in),
OPTIONAL
:: lb × × × ×
INTEGER,
INTENT(in),
OPTIONAL
:: ub × × × ×

Generic procedure dbcsr_get_diag

...

TYPE(dbcsr_type),
INTENT(in)
:: matrix × × × ×
REAL(real_8),
INTENT(out)
:: diag(:) ×
REAL(real_4),
INTENT(out)
:: diag(:) ×
COMPLEX(real_4),
INTENT(out)
:: diag(:) ×
COMPLEX(real_8),
INTENT(out)
:: diag(:) ×

Generic procedure dbcsr_get_wms_data_p

...

TYPE(dbcsr_type),
INTENT(in)
:: matrix × × × ×
INTEGER,
INTENT(in)
:: index_matrix × × × ×
REAL(real_4),
INTENT(in)
:: select_data_type ×
COMPLEX(real_4),
INTENT(in)
:: select_data_type ×
REAL(real_8),
INTENT(in)
:: select_data_type ×
COMPLEX(real_8),
INTENT(in)
:: select_data_type ×
INTEGER,
INTENT(in),
OPTIONAL
:: lb × × × ×
INTEGER,
INTENT(in),
OPTIONAL
:: ub × × × ×

Generic procedure dbcsr_iterator_next_block

Gets the index information of the next block, no data.

INTENT(inout)
:: iterator × × × × × × × × ×
INTEGER,
INTENT(out)
:: row × × × × × × × × ×
INTEGER,
INTENT(out)
:: column × × × × × × × × ×
INTEGER,
INTENT(out)
:: blk ×
INTEGER,
INTENT(out),
OPTIONAL
:: blk_p ×
REAL(real_8),
POINTER
:: block(:,:) ×
REAL(real_4),
POINTER
:: block(:,:) ×
COMPLEX(real_4),
POINTER
:: block(:,:) ×
COMPLEX(real_8),
POINTER
:: block(:,:) ×
REAL(real_8),
POINTER
:: block(:) ×
REAL(real_4),
POINTER
:: block(:) ×
COMPLEX(real_4),
POINTER
:: block(:) ×
COMPLEX(real_8),
POINTER
:: block(:) ×
INTEGER,
INTENT(out),
OPTIONAL
:: block_number × × × × × × × ×
INTEGER,
INTENT(out),
OPTIONAL
:: row_size × × × × × × × ×
INTEGER,
INTENT(out),
OPTIONAL
:: col_size × × × × × × × ×
INTEGER,
INTENT(out),
OPTIONAL
:: row_offset × × × × × × × ×
INTEGER,
INTENT(out),
OPTIONAL
:: col_offset × × × × × × × ×

Generic procedure dbcsr_multiply

...

CHARACTER(1),
INTENT(in)
:: transa × × × ×
CHARACTER(1),
INTENT(in)
:: transb × × × ×
REAL(real_8),
INTENT(in)
:: alpha ×
REAL(real_4),
INTENT(in)
:: alpha ×
COMPLEX(real_4),
INTENT(in)
:: alpha ×
COMPLEX(real_8),
INTENT(in)
:: alpha ×
TYPE(dbcsr_type),
INTENT(in)
:: matrix_a × × × ×
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b × × × ×
REAL(real_8),
INTENT(in)
:: beta ×
REAL(real_4),
INTENT(in)
:: beta ×
COMPLEX(real_4),
INTENT(in)
:: beta ×
COMPLEX(real_8),
INTENT(in)
:: beta ×
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_c × × × ×
INTEGER,
INTENT(in),
OPTIONAL
:: first_row × × × ×
INTEGER,
INTENT(in),
OPTIONAL
:: last_row × × × ×
INTEGER,
INTENT(in),
OPTIONAL
:: first_column × × × ×
INTEGER,
INTENT(in),
OPTIONAL
:: last_column × × × ×
INTEGER,
INTENT(in),
OPTIONAL
:: first_k × × × ×
INTEGER,
INTENT(in),
OPTIONAL
:: last_k × × × ×
LOGICAL,
INTENT(in),
OPTIONAL
:: retain_sparsity × × × ×
REAL(real_8),
INTENT(in),
OPTIONAL
:: filter_eps × × × ×
INTEGER(int_8),
INTENT(out),
OPTIONAL
:: flop × × × ×

Generic procedure dbcsr_put_block

...

TYPE(dbcsr_type),
INTENT(inout)
:: matrix × × × × × × × ×
INTEGER,
INTENT(in)
:: row × × × × × × × ×
INTEGER,
INTENT(in)
:: col × × × × × × × ×
REAL(real_8),
INTENT(in)
:: block(:) ×
REAL(real_4),
INTENT(in)
:: block(:) ×
COMPLEX(real_8),
INTENT(in)
:: block(:) ×
COMPLEX(real_4),
INTENT(in)
:: block(:) ×
REAL(real_8),
INTENT(in)
:: block(:,:) ×
REAL(real_4),
INTENT(in)
:: block(:,:) ×
COMPLEX(real_8),
INTENT(in)
:: block(:,:) ×
COMPLEX(real_4),
INTENT(in)
:: block(:,:) ×
LOGICAL,
INTENT(in),
OPTIONAL
:: summation × × × × × × × ×
REAL(real_8),
INTENT(in),
OPTIONAL
:: scale × ×
REAL(real_4),
INTENT(in),
OPTIONAL
:: scale × ×
COMPLEX(real_8),
INTENT(in),
OPTIONAL
:: scale × ×
COMPLEX(real_4),
INTENT(in),
OPTIONAL
:: scale × ×

Generic procedure dbcsr_reserve_block2d

...

TYPE(dbcsr_type),
INTENT(inout)
:: matrix × × × ×
INTEGER,
INTENT(in)
:: row × × × ×
INTEGER,
INTENT(in)
:: col × × × ×
REAL(real_8),
POINTER
:: block(:,:) ×
REAL(real_4),
POINTER
:: block(:,:) ×
COMPLEX(real_4),
POINTER
:: block(:,:) ×
COMPLEX(real_8),
POINTER
:: block(:,:) ×
LOGICAL,
INTENT(in),
OPTIONAL
:: transposed × × × ×
LOGICAL,
INTENT(out),
OPTIONAL
:: existed × × × ×

Generic procedure dbcsr_scale

...

TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a × × × ×
REAL(real_8),
INTENT(in)
:: alpha_scalar ×
REAL(real_4),
INTENT(in)
:: alpha_scalar ×
COMPLEX(real_4),
INTENT(in)
:: alpha_scalar ×
COMPLEX(real_8),
INTENT(in)
:: alpha_scalar ×
INTEGER,
INTENT(in),
OPTIONAL
:: last_column × × × ×

Generic procedure dbcsr_scale_by_vector

...

TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a × × × ×
REAL(real_8),
INTENT(in),
TARGET
:: alpha(:) ×
REAL(real_4),
INTENT(in),
TARGET
:: alpha(:) ×
COMPLEX(real_4),
INTENT(in),
TARGET
:: alpha(:) ×
COMPLEX(real_8),
INTENT(in),
TARGET
:: alpha(:) ×
CHARACTER(*),
INTENT(in)
:: side × × × ×

Generic procedure dbcsr_set

...

TYPE(dbcsr_type),
INTENT(inout)
:: matrix × × × ×
REAL(real_8),
INTENT(in)
:: alpha ×
REAL(real_4),
INTENT(in)
:: alpha ×
COMPLEX(real_4),
INTENT(in)
:: alpha ×
COMPLEX(real_8),
INTENT(in)
:: alpha ×

Generic procedure dbcsr_set_diag

...

TYPE(dbcsr_type),
INTENT(inout)
:: matrix × × × ×
REAL(real_8),
INTENT(in)
:: diag(:) ×
REAL(real_4),
INTENT(in)
:: diag(:) ×
COMPLEX(real_4),
INTENT(in)
:: diag(:) ×
COMPLEX(real_8),
INTENT(in)
:: diag(:) ×

Generic procedure dbcsr_trace

...

TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a × × × × × × × ×
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_b × × × ×
REAL(real_8),
INTENT(inout)
:: trace ×
REAL(real_4),
INTENT(inout)
:: trace ×
REAL(real_8),
INTENT(out)
:: trace ×
REAL(real_4),
INTENT(out)
:: trace ×
COMPLEX(real_8),
INTENT(inout)
:: trace ×
COMPLEX(real_4),
INTENT(inout)
:: trace ×
COMPLEX(real_8),
INTENT(out)
:: trace ×
COMPLEX(real_4),
INTENT(out)
:: trace ×

SUBROUTINEconvert_csr_to_dbcsr(dbcsr_mat, csr_mat)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: dbcsr_mat ...
TYPE(csr_type),
INTENT(inout)
:: csr_mat ...

SUBROUTINEconvert_dbcsr_to_csr(dbcsr_mat, csr_mat)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: dbcsr_mat ...
TYPE(csr_type),
INTENT(inout)
:: csr_mat ...

SUBROUTINEcsr_create_from_dbcsr(dbcsr_mat, csr_mat, dist_format, csr_sparsity, numnodes)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: dbcsr_mat ...
TYPE(csr_type),
INTENT(out)
:: csr_mat ...
INTEGER
:: dist_format ...
TYPE(dbcsr_type),
INTENT(in),
OPTIONAL
:: csr_sparsity ...
INTEGER,
INTENT(in),
OPTIONAL
:: numnodes ...

SUBROUTINEdbcsr_add_block_node(matrix, block_row, block_col, block)

Emulation of sparse_matrix_types/add_block_node mapped to add_real_matrix_block.... should not be used any longer

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix DBCSR matrix
INTEGER,
INTENT(in)
:: block_row the row
INTEGER,
INTENT(in)
:: block_col the column
REAL(dp),
POINTER
:: block(:,:) the block to put

SUBROUTINEdbcsr_add_work_coordinate(matrix, index_matrix, row, col, blk, index)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: index_matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
INTEGER,
INTENT(in),
OPTIONAL
:: blk ...
INTEGER,
INTENT(out),
OPTIONAL
:: index ...

SUBROUTINEdbcsr_binary_read(filepath, distribution, groupid, matrix_new)

...

Arguments:
CHARACTER(*),
INTENT(in)
:: filepath ...
INTENT(in)
:: distribution ...
INTEGER,
INTENT(in),
OPTIONAL
:: groupid ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_new ...

SUBROUTINEdbcsr_binary_write(matrix, filepath)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
CHARACTER(*),
INTENT(in)
:: filepath ...

FUNCTIONdbcsr_checksum(matrix, local, pos)

...

Return Value ::
REAL(dp)
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
LOGICAL,
INTENT(in),
OPTIONAL
:: local ...
LOGICAL,
INTENT(in),
OPTIONAL
:: pos ...

SUBROUTINEdbcsr_complete_redistribute(matrix, redist, keep_sparsity)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
TYPE(dbcsr_type),
INTENT(inout)
:: redist ...
LOGICAL,
INTENT(in),
OPTIONAL
:: keep_sparsity ...

SUBROUTINEdbcsr_copy(matrix_b, matrix_a, name, keep_sparsity, shallow_data, keep_imaginary, matrix_type)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_b ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_a ...
CHARACTER(*),
INTENT(in),
OPTIONAL
:: name ...
LOGICAL,
INTENT(in),
OPTIONAL
:: keep_sparsity ...
LOGICAL,
INTENT(in),
OPTIONAL
:: shallow_data ...
LOGICAL,
INTENT(in),
OPTIONAL
:: keep_imaginary ...
CHARACTER,
INTENT(in),
OPTIONAL
:: matrix_type ...

SUBROUTINEdbcsr_copy_into_existing(matrix_b, matrix_a)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_b ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_a ...

SUBROUTINEdbcsr_deallocate_matrix(matrix)

Deallocates a DBCSR matrix for compatibility with CP2K

Arguments:
TYPE(dbcsr_type),
POINTER
:: matrix DBCSR matrix

SUBROUTINEdbcsr_desymmetrize(matrix_a, matrix_b)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_b ...

SUBROUTINEdbcsr_distribute(matrix, fast)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
LOGICAL,
INTENT(in),
OPTIONAL
:: fast ...

SUBROUTINEdbcsr_distribution_get(dist, row_dist, col_dist, row_cluster, col_cluster, has_col_clusters, has_row_clusters, nrows, ncols, has_threads, group, mynode, numnodes, nprows, npcols, myprow, mypcol, pgrid, subgroups_defined, prow_group, pcol_group)

...

Arguments:
INTENT(in)
:: dist ...
INTEGER,
OPTIONAL, POINTER
:: row_dist(:) ...
INTEGER,
OPTIONAL, POINTER
:: col_dist(:) ...
INTEGER,
OPTIONAL, POINTER
:: row_cluster(:) ...
INTEGER,
OPTIONAL, POINTER
:: col_cluster(:) ...
LOGICAL,
INTENT(out),
OPTIONAL
:: has_col_clusters ...
LOGICAL,
INTENT(out),
OPTIONAL
:: has_row_clusters ...
INTEGER,
INTENT(out),
OPTIONAL
:: nrows ...
INTEGER,
INTENT(out),
OPTIONAL
:: ncols ...
LOGICAL,
INTENT(out),
OPTIONAL
:: has_threads ...
INTEGER,
INTENT(out),
OPTIONAL
:: group ...
INTEGER,
INTENT(out),
OPTIONAL
:: mynode ...
INTEGER,
INTENT(out),
OPTIONAL
:: numnodes ...
INTEGER,
INTENT(out),
OPTIONAL
:: nprows ...
INTEGER,
INTENT(out),
OPTIONAL
:: npcols ...
INTEGER,
INTENT(out),
OPTIONAL
:: myprow ...
INTEGER,
INTENT(out),
OPTIONAL
:: mypcol ...
INTEGER,
OPTIONAL, POINTER
:: pgrid(:,:) ...
LOGICAL,
INTENT(out),
OPTIONAL
:: subgroups_defined ...
INTEGER,
INTENT(out),
OPTIONAL
:: prow_group ...
INTEGER,
INTENT(out),
OPTIONAL
:: pcol_group ...

SUBROUTINEdbcsr_distribution_hold(dist)

...

Arguments:
:: dist ...

SUBROUTINEdbcsr_distribution_new(dist, template, group, pgrid, row_dist, col_dist, row_cluster, col_cluster, reuse_arrays)

Creates new distribution from blockr distributions

Arguments:
INTENT(out)
:: dist distribution
INTENT(in),
OPTIONAL
:: template ...
INTEGER,
INTENT(in),
OPTIONAL
:: group ...
INTEGER,
OPTIONAL, POINTER
:: pgrid(:,:) ...
INTEGER,
INTENT(in),
POINTER
:: row_dist(:) ...
INTEGER,
INTENT(in),
POINTER
:: col_dist(:) ...
INTEGER,
INTENT(in),
OPTIONAL, POINTER
:: row_cluster(:) ...
INTEGER,
INTENT(in),
OPTIONAL, POINTER
:: col_cluster(:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: reuse_arrays ...

SUBROUTINEdbcsr_distribution_release(dist)

...

Arguments:
:: dist ...

SUBROUTINEdbcsr_filter(matrix, eps, method, use_absolute, filter_diag, thorough)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
REAL(dp),
INTENT(in)
:: eps ...
INTEGER,
INTENT(in),
OPTIONAL
:: method ...
LOGICAL,
INTENT(in),
OPTIONAL
:: use_absolute ...
LOGICAL,
INTENT(in),
OPTIONAL
:: filter_diag ...
LOGICAL,
INTENT(in),
OPTIONAL
:: thorough ...

SUBROUTINEdbcsr_finalize(matrix, reshuffle)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
LOGICAL,
INTENT(in),
OPTIONAL
:: reshuffle ...

FUNCTIONdbcsr_frobenius_norm(matrix, local)

...

Return Value ::
REAL(real_8)
Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
LOGICAL,
INTENT(in),
OPTIONAL
:: local ...

SUBROUTINEdbcsr_function_of_elements(matrix_a, func, a0, a1, a2)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
INTEGER,
INTENT(in)
:: func ...
REAL(dp),
INTENT(in),
OPTIONAL
:: a0 ...
REAL(dp),
INTENT(in),
OPTIONAL
:: a1 ...
REAL(dp),
INTENT(in),
OPTIONAL
:: a2 ...

FUNCTIONdbcsr_gershgorin_norm(matrix)

...

Return Value ::
REAL(real_8)
Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...

SUBROUTINEdbcsr_get_block_diag(matrix, diag)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
TYPE(dbcsr_type),
INTENT(inout)
:: diag ...

FUNCTIONdbcsr_get_data_size(matrix)

...

Return Value ::
INTEGER
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

PURE FUNCTIONdbcsr_get_data_type(matrix)

...

Return Value ::
INTEGER
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

SUBROUTINEdbcsr_get_info(matrix, nblkrows_total, nblkcols_total, nfullrows_total, nfullcols_total, nblkrows_local, nblkcols_local, nfullrows_local, nfullcols_local, my_prow, my_pcol, local_rows, local_cols, proc_row_dist, proc_col_dist, row_blk_size, col_blk_size, row_blk_offset, col_blk_offset, distribution, name, matrix_type, data_type, group)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(out),
OPTIONAL
:: nblkrows_total ...
INTEGER,
INTENT(out),
OPTIONAL
:: nblkcols_total ...
INTEGER,
INTENT(out),
OPTIONAL
:: nfullrows_total ...
INTEGER,
INTENT(out),
OPTIONAL
:: nfullcols_total ...
INTEGER,
INTENT(out),
OPTIONAL
:: nblkrows_local ...
INTEGER,
INTENT(out),
OPTIONAL
:: nblkcols_local ...
INTEGER,
INTENT(out),
OPTIONAL
:: nfullrows_local ...
INTEGER,
INTENT(out),
OPTIONAL
:: nfullcols_local ...
INTEGER,
INTENT(out),
OPTIONAL
:: my_prow ...
INTEGER,
INTENT(out),
OPTIONAL
:: my_pcol ...
INTEGER,
OPTIONAL, POINTER
:: local_rows(:) ...
INTEGER,
OPTIONAL, POINTER
:: local_cols(:) ...
INTEGER,
OPTIONAL, POINTER
:: proc_row_dist(:) ...
INTEGER,
OPTIONAL, POINTER
:: proc_col_dist(:) ...
INTEGER,
INTENT(out),
OPTIONAL, POINTER
:: row_blk_size(:) ...
INTEGER,
INTENT(out),
OPTIONAL, POINTER
:: col_blk_size(:) ...
INTEGER,
INTENT(out),
OPTIONAL, POINTER
:: row_blk_offset(:) ...
INTEGER,
INTENT(out),
OPTIONAL, POINTER
:: col_blk_offset(:) ...
INTENT(out),
OPTIONAL
:: distribution ...
CHARACTER(*),
INTENT(out),
OPTIONAL
:: name ...
CHARACTER,
INTENT(out),
OPTIONAL
:: matrix_type ...
INTEGER,
INTENT(out),
OPTIONAL
:: data_type ...
INTEGER,
INTENT(out),
OPTIONAL
:: group ...

PURE FUNCTIONdbcsr_get_matrix_type(matrix)

...

Return Value ::
CHARACTER
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

PURE FUNCTIONdbcsr_get_num_blocks(matrix)

...

Return Value ::
INTEGER
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

FUNCTIONdbcsr_get_occupation(matrix)

...

Return Value ::
REAL(real_8)
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

SUBROUTINEdbcsr_get_stored_coordinates(matrix, row, column, processor)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: column ...
INTEGER,
INTENT(out),
OPTIONAL
:: processor ...

SUBROUTINEdbcsr_hadamard_product(matrix_a, matrix_b, matrix_c, b_assume_value)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_c ...
REAL(dp),
INTENT(in),
OPTIONAL
:: b_assume_value ...

PURE FUNCTIONdbcsr_has_symmetry(matrix)

...

Return Value ::
LOGICAL
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

SUBROUTINEdbcsr_init_p(matrix)

...

Arguments:
TYPE(dbcsr_type),
POINTER
:: matrix ...

SUBROUTINEdbcsr_init_random(matrix, keep_sparsity)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
LOGICAL,
OPTIONAL
:: keep_sparsity ...

PURE FUNCTIONdbcsr_iterator_blocks_left(iterator)

...

Return Value ::
LOGICAL
Arguments:
INTENT(in)
:: iterator ...

SUBROUTINEdbcsr_iterator_start(iterator, matrix, shared, dynamic, dynamic_byrows, contiguous_pointers, read_only)

...

Arguments:
INTENT(out)
:: iterator ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
LOGICAL,
INTENT(in),
OPTIONAL
:: shared ...
LOGICAL,
INTENT(in),
OPTIONAL
:: dynamic ...
LOGICAL,
INTENT(in),
OPTIONAL
:: dynamic_byrows ...
LOGICAL,
INTENT(in),
OPTIONAL
:: contiguous_pointers ...
LOGICAL,
INTENT(in),
OPTIONAL
:: read_only ...

SUBROUTINEdbcsr_iterator_stop(iterator)

...

Arguments:
INTENT(inout)
:: iterator ...

FUNCTIONdbcsr_maxabs(matrix)

...

Return Value ::
REAL(real_8)
Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...

SUBROUTINEdbcsr_mp_grid_setup(dist)

...

Arguments:
INTENT(inout)
:: dist ...

FUNCTIONdbcsr_nblkcols_total(matrix)

...

Return Value ::
INTEGER
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

FUNCTIONdbcsr_nblkrows_total(matrix)

...

Return Value ::
INTEGER
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

FUNCTIONdbcsr_nfullcols_total(matrix)

...

Return Value ::
INTEGER
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

FUNCTIONdbcsr_nfullrows_total(matrix)

...

Return Value ::
INTEGER
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

SUBROUTINEdbcsr_norm(matrix, which_norm, norm_scalar, norm_vector)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout),
TARGET
:: matrix ...
INTEGER,
INTENT(in)
:: which_norm ...
REAL(dp),
INTENT(out),
OPTIONAL
:: norm_scalar ...
REAL(dp),
INTENT(out),
OPTIONAL
:: norm_vector(:) ...

SUBROUTINEdbcsr_print(matrix, nodata, matlab_format, variable_name, unit_nr)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
LOGICAL,
INTENT(in),
OPTIONAL
:: nodata ...
LOGICAL,
INTENT(in),
OPTIONAL
:: matlab_format ...
CHARACTER(*),
INTENT(in),
OPTIONAL
:: variable_name ...
INTEGER,
OPTIONAL
:: unit_nr ...

SUBROUTINEdbcsr_print_block_sum(matrix, unit_nr)

Prints the sum of the elements in each block

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
OPTIONAL
:: unit_nr ...

SUBROUTINEdbcsr_release(matrix)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...

SUBROUTINEdbcsr_release_p(matrix)

...

Arguments:
TYPE(dbcsr_type),
POINTER
:: matrix ...

SUBROUTINEdbcsr_replicate_all(matrix)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...

SUBROUTINEdbcsr_reserve_all_blocks(matrix)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...

SUBROUTINEdbcsr_reserve_blocks(matrix, rows, cols, blk_pointers)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: rows(:) ...
INTEGER,
INTENT(in)
:: cols(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: blk_pointers(:) ...

SUBROUTINEdbcsr_reserve_diag_blocks(matrix)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...

SUBROUTINEdbcsr_setname(matrix, newname)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
CHARACTER(*),
INTENT(in)
:: newname ...

SUBROUTINEdbcsr_set_work_size(matrix, index_matrix, newvalue)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: index_matrix ...
INTEGER,
INTENT(in)
:: newvalue ...

SUBROUTINEdbcsr_sum_replicated(matrix)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...

SUBROUTINEdbcsr_to_csr_filter(dbcsr_mat, csr_sparsity, eps)

Apply filtering threshold eps to DBCSR blocks in order to improve CSR sparsity (currently only used for testing purposes)

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: dbcsr_mat ...
TYPE(dbcsr_type),
INTENT(out)
:: csr_sparsity ...
REAL(real_8),
INTENT(in)
:: eps ...

SUBROUTINEdbcsr_transposed(transposed, normal, shallow_data_copy, transpose_data, transpose_distribution, use_distribution)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: transposed ...
TYPE(dbcsr_type),
INTENT(in)
:: normal ...
LOGICAL,
INTENT(in),
OPTIONAL
:: shallow_data_copy ...
LOGICAL,
INTENT(in),
OPTIONAL
:: transpose_data ...
LOGICAL,
INTENT(in),
OPTIONAL
:: transpose_distribution ...
INTENT(in),
OPTIONAL
:: use_distribution ...

SUBROUTINEdbcsr_triu(matrix)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...

PURE FUNCTIONdbcsr_valid_index(matrix)

...

Return Value ::
LOGICAL
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...

SUBROUTINEdbcsr_verify_matrix(matrix, verbosity, local)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(in),
OPTIONAL
:: verbosity ...
LOGICAL,
INTENT(in),
OPTIONAL
:: local ...

SUBROUTINEdbcsr_work_create(matrix, nblks_guess, sizedata_guess, n, work_mutable)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in),
OPTIONAL
:: nblks_guess ...
INTEGER,
INTENT(in),
OPTIONAL
:: sizedata_guess ...
INTEGER,
INTENT(in),
OPTIONAL
:: n ...
LOGICAL,
INTENT(in),
OPTIONAL
:: work_mutable ...

SUBROUTINEdbcsr_add_d(matrix_a, matrix_b, alpha_scalar, beta_scalar)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b ...
REAL(real_8),
INTENT(in)
:: alpha_scalar ...
REAL(real_8),
INTENT(in)
:: beta_scalar ...

SUBROUTINEdbcsr_add_s(matrix_a, matrix_b, alpha_scalar, beta_scalar)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b ...
REAL(real_4),
INTENT(in)
:: alpha_scalar ...
REAL(real_4),
INTENT(in)
:: beta_scalar ...

SUBROUTINEdbcsr_add_c(matrix_a, matrix_b, alpha_scalar, beta_scalar)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b ...
COMPLEX(real_4),
INTENT(in)
:: alpha_scalar ...
COMPLEX(real_4),
INTENT(in)
:: beta_scalar ...

SUBROUTINEdbcsr_add_z(matrix_a, matrix_b, alpha_scalar, beta_scalar)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b ...
COMPLEX(real_8),
INTENT(in)
:: alpha_scalar ...
COMPLEX(real_8),
INTENT(in)
:: beta_scalar ...

SUBROUTINEdbcsr_add_on_diag_d(matrix, alpha_scalar)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
REAL(real_8),
INTENT(in)
:: alpha_scalar ...

SUBROUTINEdbcsr_add_on_diag_s(matrix, alpha_scalar)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
REAL(real_4),
INTENT(in)
:: alpha_scalar ...

SUBROUTINEdbcsr_add_on_diag_c(matrix, alpha_scalar)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
COMPLEX(real_4),
INTENT(in)
:: alpha_scalar ...

SUBROUTINEdbcsr_add_on_diag_z(matrix, alpha_scalar)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
COMPLEX(real_8),
INTENT(in)
:: alpha_scalar ...

SUBROUTINEallocate_dbcsr_matrix_set(matrix_set, nmatrix)

Allocate and initialize a real matrix 1-dimensional set.

Arguments:
POINTER
:: matrix_set(:) Set containing the DBCSR matrices
INTEGER,
INTENT(in)
:: nmatrix Size of set

SUBROUTINEallocate_dbcsr_matrix_set_2d(matrix_set, nmatrix, mmatrix)

Allocate and initialize a real matrix 2-dimensional set.

Arguments:
POINTER
:: matrix_set(:,:) Set containing the DBCSR matrix pointer type
INTEGER,
INTENT(in)
:: nmatrix Size of set
INTEGER,
INTENT(in)
:: mmatrix ...

SUBROUTINEallocate_dbcsr_matrix_set_3d(matrix_set, nmatrix, mmatrix, pmatrix)

Allocate and initialize a real matrix 2-dimensional set.

Arguments:
POINTER
:: matrix_set(:,:,:) Set containing the DBCSR matrix pointer type
INTEGER,
INTENT(in)
:: nmatrix Size of set
INTEGER,
INTENT(in)
:: mmatrix ...
INTEGER,
INTENT(in)
:: pmatrix ...

SUBROUTINEdbcsr_create_new(matrix, name, dist, matrix_type, row_blk_size, col_blk_size, nze, data_type, reuse, reuse_arrays, mutable_work, replication_type)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
CHARACTER(*),
INTENT(in)
:: name ...
INTENT(in)
:: dist ...
CHARACTER,
INTENT(in)
:: matrix_type ...
INTEGER,
INTENT(in),
POINTER
:: row_blk_size(:) ...
INTEGER,
INTENT(in),
POINTER
:: col_blk_size(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: nze ...
INTEGER,
INTENT(in),
OPTIONAL
:: data_type ...
LOGICAL,
INTENT(in),
OPTIONAL
:: reuse ...
LOGICAL,
INTENT(in),
OPTIONAL
:: reuse_arrays ...
LOGICAL,
INTENT(in),
OPTIONAL
:: mutable_work ...
CHARACTER,
INTENT(in),
OPTIONAL
:: replication_type ...

SUBROUTINEdbcsr_create_template(matrix, name, template, dist, matrix_type, row_blk_size, col_blk_size, nze, data_type, reuse_arrays, mutable_work, replication_type)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
CHARACTER(*),
INTENT(in),
OPTIONAL
:: name ...
TYPE(dbcsr_type),
INTENT(in)
:: template ...
INTENT(in),
OPTIONAL
:: dist ...
CHARACTER,
INTENT(in),
OPTIONAL
:: matrix_type ...
INTEGER,
INTENT(in),
OPTIONAL, POINTER
:: row_blk_size(:) ...
INTEGER,
INTENT(in),
OPTIONAL, POINTER
:: col_blk_size(:) ...
INTEGER,
INTENT(in),
OPTIONAL
:: nze ...
INTEGER,
INTENT(in),
OPTIONAL
:: data_type ...
LOGICAL,
INTENT(in),
OPTIONAL
:: reuse_arrays ...
LOGICAL,
INTENT(in),
OPTIONAL
:: mutable_work ...
CHARACTER,
INTENT(in),
OPTIONAL
:: replication_type ...

SUBROUTINEdeallocate_dbcsr_matrix_set(matrix_set)

Deallocate a real matrix set and release all of the member matrices.

Arguments:
POINTER
:: matrix_set(:) Set containing the DBCSR matrix pointer type

SUBROUTINEdeallocate_dbcsr_matrix_set_2d(matrix_set)

Deallocate a real matrix set and release all of the member matrices.

Arguments:
POINTER
:: matrix_set(:,:) Set containing the DBCSR matrix pointer type

SUBROUTINEdeallocate_dbcsr_matrix_set_3d(matrix_set)

Deallocate a real matrix set and release all of the member matrices.

Arguments:
POINTER
:: matrix_set(:,:,:) Set containing the DBCSR matrix pointer type

SUBROUTINEdbcsr_get_block_p_d(matrix, row, col, block, found, row_size, col_size)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
REAL(real_8),
POINTER
:: block(:) ...
LOGICAL,
INTENT(out)
:: found ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...

SUBROUTINEdbcsr_get_block_p_s(matrix, row, col, block, found, row_size, col_size)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
REAL(real_4),
POINTER
:: block(:) ...
LOGICAL,
INTENT(out)
:: found ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...

SUBROUTINEdbcsr_get_block_p_z(matrix, row, col, block, found, row_size, col_size)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
COMPLEX(real_8),
POINTER
:: block(:) ...
LOGICAL,
INTENT(out)
:: found ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...

SUBROUTINEdbcsr_get_block_p_c(matrix, row, col, block, found, row_size, col_size)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
COMPLEX(real_4),
POINTER
:: block(:) ...
LOGICAL,
INTENT(out)
:: found ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...

SUBROUTINEdbcsr_get_2d_block_p_d(matrix, row, col, block, found, row_size, col_size)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
REAL(real_8),
POINTER
:: block(:,:) ...
LOGICAL,
INTENT(out)
:: found ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...

SUBROUTINEdbcsr_get_2d_block_p_s(matrix, row, col, block, found, row_size, col_size)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
REAL(real_4),
POINTER
:: block(:,:) ...
LOGICAL,
INTENT(out)
:: found ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...

SUBROUTINEdbcsr_get_2d_block_p_z(matrix, row, col, block, found, row_size, col_size)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
COMPLEX(real_8),
POINTER
:: block(:,:) ...
LOGICAL,
INTENT(out)
:: found ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...

SUBROUTINEdbcsr_get_2d_block_p_c(matrix, row, col, block, found, row_size, col_size)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
COMPLEX(real_4),
POINTER
:: block(:,:) ...
LOGICAL,
INTENT(out)
:: found ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...

FUNCTIONdbcsr_get_data_s(matrix, select_data_type, lb, ub)

...

Return Value ::
REAL(real_4)
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
REAL(real_4),
INTENT(in)
:: select_data_type ...
INTEGER,
INTENT(in),
OPTIONAL
:: lb ...
INTEGER,
INTENT(in),
OPTIONAL
:: ub ...

FUNCTIONdbcsr_get_data_c(matrix, select_data_type, lb, ub)

...

Return Value ::
COMPLEX(real_4)
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
COMPLEX(real_4),
INTENT(in)
:: select_data_type ...
INTEGER,
INTENT(in),
OPTIONAL
:: lb ...
INTEGER,
INTENT(in),
OPTIONAL
:: ub ...

FUNCTIONdbcsr_get_data_d(matrix, select_data_type, lb, ub)

...

Return Value ::
REAL(real_8)
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
REAL(real_8),
INTENT(in)
:: select_data_type ...
INTEGER,
INTENT(in),
OPTIONAL
:: lb ...
INTEGER,
INTENT(in),
OPTIONAL
:: ub ...

FUNCTIONdbcsr_get_data_z(matrix, select_data_type, lb, ub)

...

Return Value ::
COMPLEX(real_8)
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
COMPLEX(real_8),
INTENT(in)
:: select_data_type ...
INTEGER,
INTENT(in),
OPTIONAL
:: lb ...
INTEGER,
INTENT(in),
OPTIONAL
:: ub ...

SUBROUTINEdbcsr_get_diag_d(matrix, diag)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
REAL(real_8),
INTENT(out)
:: diag(:) ...

SUBROUTINEdbcsr_get_diag_s(matrix, diag)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
REAL(real_4),
INTENT(out)
:: diag(:) ...

SUBROUTINEdbcsr_get_diag_c(matrix, diag)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
COMPLEX(real_4),
INTENT(out)
:: diag(:) ...

SUBROUTINEdbcsr_get_diag_z(matrix, diag)

...

Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
COMPLEX(real_8),
INTENT(out)
:: diag(:) ...

FUNCTIONdbcsr_get_wms_data_s(matrix, index_matrix, select_data_type, lb, ub)

...

Return Value ::
REAL(real_4)
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(in)
:: index_matrix ...
REAL(real_4),
INTENT(in)
:: select_data_type ...
INTEGER,
INTENT(in),
OPTIONAL
:: lb ...
INTEGER,
INTENT(in),
OPTIONAL
:: ub ...

FUNCTIONdbcsr_get_wms_data_c(matrix, index_matrix, select_data_type, lb, ub)

...

Return Value ::
COMPLEX(real_4)
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(in)
:: index_matrix ...
COMPLEX(real_4),
INTENT(in)
:: select_data_type ...
INTEGER,
INTENT(in),
OPTIONAL
:: lb ...
INTEGER,
INTENT(in),
OPTIONAL
:: ub ...

FUNCTIONdbcsr_get_wms_data_d(matrix, index_matrix, select_data_type, lb, ub)

...

Return Value ::
REAL(real_8)
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(in)
:: index_matrix ...
REAL(real_8),
INTENT(in)
:: select_data_type ...
INTEGER,
INTENT(in),
OPTIONAL
:: lb ...
INTEGER,
INTENT(in),
OPTIONAL
:: ub ...

FUNCTIONdbcsr_get_wms_data_z(matrix, index_matrix, select_data_type, lb, ub)

...

Return Value ::
COMPLEX(real_8)
Arguments:
TYPE(dbcsr_type),
INTENT(in)
:: matrix ...
INTEGER,
INTENT(in)
:: index_matrix ...
COMPLEX(real_8),
INTENT(in)
:: select_data_type ...
INTEGER,
INTENT(in),
OPTIONAL
:: lb ...
INTEGER,
INTENT(in),
OPTIONAL
:: ub ...

SUBROUTINEdbcsr_iterator_next_block_index(iterator, row, column, blk, blk_p)

Gets the index information of the next block, no data.

Arguments:
INTENT(inout)
:: iterator the iterator
INTEGER,
INTENT(out)
:: row row of the data block
INTEGER,
INTENT(out)
:: column column of the data block
INTEGER,
INTENT(out)
:: blk block number
INTEGER,
INTENT(out),
OPTIONAL
:: blk_p index into block data array

SUBROUTINEdbcsr_iterator_next_2d_block_d(iterator, row, column, block, block_number, row_size, col_size, row_offset, col_offset)

...

Arguments:
INTENT(inout)
:: iterator ...
INTEGER,
INTENT(out)
:: row ...
INTEGER,
INTENT(out)
:: column ...
REAL(real_8),
POINTER
:: block(:,:) ...
INTEGER,
INTENT(out),
OPTIONAL
:: block_number ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_offset ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_offset ...

SUBROUTINEdbcsr_iterator_next_2d_block_s(iterator, row, column, block, block_number, row_size, col_size, row_offset, col_offset)

...

Arguments:
INTENT(inout)
:: iterator ...
INTEGER,
INTENT(out)
:: row ...
INTEGER,
INTENT(out)
:: column ...
REAL(real_4),
POINTER
:: block(:,:) ...
INTEGER,
INTENT(out),
OPTIONAL
:: block_number ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_offset ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_offset ...

SUBROUTINEdbcsr_iterator_next_2d_block_c(iterator, row, column, block, block_number, row_size, col_size, row_offset, col_offset)

...

Arguments:
INTENT(inout)
:: iterator ...
INTEGER,
INTENT(out)
:: row ...
INTEGER,
INTENT(out)
:: column ...
COMPLEX(real_4),
POINTER
:: block(:,:) ...
INTEGER,
INTENT(out),
OPTIONAL
:: block_number ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_offset ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_offset ...

SUBROUTINEdbcsr_iterator_next_2d_block_z(iterator, row, column, block, block_number, row_size, col_size, row_offset, col_offset)

...

Arguments:
INTENT(inout)
:: iterator ...
INTEGER,
INTENT(out)
:: row ...
INTEGER,
INTENT(out)
:: column ...
COMPLEX(real_8),
POINTER
:: block(:,:) ...
INTEGER,
INTENT(out),
OPTIONAL
:: block_number ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_offset ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_offset ...

SUBROUTINEdbcsr_iterator_next_1d_block_d(iterator, row, column, block, block_number, row_size, col_size, row_offset, col_offset)

...

Arguments:
INTENT(inout)
:: iterator ...
INTEGER,
INTENT(out)
:: row ...
INTEGER,
INTENT(out)
:: column ...
REAL(real_8),
POINTER
:: block(:) ...
INTEGER,
INTENT(out),
OPTIONAL
:: block_number ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_offset ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_offset ...

SUBROUTINEdbcsr_iterator_next_1d_block_s(iterator, row, column, block, block_number, row_size, col_size, row_offset, col_offset)

...

Arguments:
INTENT(inout)
:: iterator ...
INTEGER,
INTENT(out)
:: row ...
INTEGER,
INTENT(out)
:: column ...
REAL(real_4),
POINTER
:: block(:) ...
INTEGER,
INTENT(out),
OPTIONAL
:: block_number ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_offset ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_offset ...

SUBROUTINEdbcsr_iterator_next_1d_block_c(iterator, row, column, block, block_number, row_size, col_size, row_offset, col_offset)

...

Arguments:
INTENT(inout)
:: iterator ...
INTEGER,
INTENT(out)
:: row ...
INTEGER,
INTENT(out)
:: column ...
COMPLEX(real_4),
POINTER
:: block(:) ...
INTEGER,
INTENT(out),
OPTIONAL
:: block_number ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_offset ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_offset ...

SUBROUTINEdbcsr_iterator_next_1d_block_z(iterator, row, column, block, block_number, row_size, col_size, row_offset, col_offset)

...

Arguments:
INTENT(inout)
:: iterator ...
INTEGER,
INTENT(out)
:: row ...
INTEGER,
INTENT(out)
:: column ...
COMPLEX(real_8),
POINTER
:: block(:) ...
INTEGER,
INTENT(out),
OPTIONAL
:: block_number ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_size ...
INTEGER,
INTENT(out),
OPTIONAL
:: row_offset ...
INTEGER,
INTENT(out),
OPTIONAL
:: col_offset ...

SUBROUTINEdbcsr_multiply_d(transa, transb, alpha, matrix_a, matrix_b, beta, matrix_c, first_row, last_row, first_column, last_column, first_k, last_k, retain_sparsity, filter_eps, flop)

...

Arguments:
CHARACTER(1),
INTENT(in)
:: transa ...
CHARACTER(1),
INTENT(in)
:: transb ...
REAL(real_8),
INTENT(in)
:: alpha ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b ...
REAL(real_8),
INTENT(in)
:: beta ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_c ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_row ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_row ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_column ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_column ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_k ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_k ...
LOGICAL,
INTENT(in),
OPTIONAL
:: retain_sparsity ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: filter_eps ...
INTEGER(int_8),
INTENT(out),
OPTIONAL
:: flop ...

SUBROUTINEdbcsr_multiply_s(transa, transb, alpha, matrix_a, matrix_b, beta, matrix_c, first_row, last_row, first_column, last_column, first_k, last_k, retain_sparsity, filter_eps, flop)

...

Arguments:
CHARACTER(1),
INTENT(in)
:: transa ...
CHARACTER(1),
INTENT(in)
:: transb ...
REAL(real_4),
INTENT(in)
:: alpha ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b ...
REAL(real_4),
INTENT(in)
:: beta ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_c ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_row ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_row ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_column ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_column ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_k ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_k ...
LOGICAL,
INTENT(in),
OPTIONAL
:: retain_sparsity ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: filter_eps ...
INTEGER(int_8),
INTENT(out),
OPTIONAL
:: flop ...

SUBROUTINEdbcsr_multiply_c(transa, transb, alpha, matrix_a, matrix_b, beta, matrix_c, first_row, last_row, first_column, last_column, first_k, last_k, retain_sparsity, filter_eps, flop)

...

Arguments:
CHARACTER(1),
INTENT(in)
:: transa ...
CHARACTER(1),
INTENT(in)
:: transb ...
COMPLEX(real_4),
INTENT(in)
:: alpha ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b ...
COMPLEX(real_4),
INTENT(in)
:: beta ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_c ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_row ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_row ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_column ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_column ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_k ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_k ...
LOGICAL,
INTENT(in),
OPTIONAL
:: retain_sparsity ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: filter_eps ...
INTEGER(int_8),
INTENT(out),
OPTIONAL
:: flop ...

SUBROUTINEdbcsr_multiply_z(transa, transb, alpha, matrix_a, matrix_b, beta, matrix_c, first_row, last_row, first_column, last_column, first_k, last_k, retain_sparsity, filter_eps, flop)

...

Arguments:
CHARACTER(1),
INTENT(in)
:: transa ...
CHARACTER(1),
INTENT(in)
:: transb ...
COMPLEX(real_8),
INTENT(in)
:: alpha ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(in)
:: matrix_b ...
COMPLEX(real_8),
INTENT(in)
:: beta ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_c ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_row ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_row ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_column ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_column ...
INTEGER,
INTENT(in),
OPTIONAL
:: first_k ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_k ...
LOGICAL,
INTENT(in),
OPTIONAL
:: retain_sparsity ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: filter_eps ...
INTEGER(int_8),
INTENT(out),
OPTIONAL
:: flop ...

SUBROUTINEdbcsr_put_block_d(matrix, row, col, block, summation, scale)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
REAL(real_8),
INTENT(in)
:: block(:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: summation ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: scale ...

SUBROUTINEdbcsr_put_block_s(matrix, row, col, block, summation, scale)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
REAL(real_4),
INTENT(in)
:: block(:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: summation ...
REAL(real_4),
INTENT(in),
OPTIONAL
:: scale ...

SUBROUTINEdbcsr_put_block_z(matrix, row, col, block, summation, scale)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
COMPLEX(real_8),
INTENT(in)
:: block(:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: summation ...
COMPLEX(real_8),
INTENT(in),
OPTIONAL
:: scale ...

SUBROUTINEdbcsr_put_block_c(matrix, row, col, block, summation, scale)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
COMPLEX(real_4),
INTENT(in)
:: block(:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: summation ...
COMPLEX(real_4),
INTENT(in),
OPTIONAL
:: scale ...

SUBROUTINEdbcsr_put_block2d_d(matrix, row, col, block, summation, scale)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
REAL(real_8),
INTENT(in)
:: block(:,:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: summation ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: scale ...

SUBROUTINEdbcsr_put_block2d_s(matrix, row, col, block, summation, scale)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
REAL(real_4),
INTENT(in)
:: block(:,:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: summation ...
REAL(real_4),
INTENT(in),
OPTIONAL
:: scale ...

SUBROUTINEdbcsr_put_block2d_z(matrix, row, col, block, summation, scale)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
COMPLEX(real_8),
INTENT(in)
:: block(:,:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: summation ...
COMPLEX(real_8),
INTENT(in),
OPTIONAL
:: scale ...

SUBROUTINEdbcsr_put_block2d_c(matrix, row, col, block, summation, scale)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
COMPLEX(real_4),
INTENT(in)
:: block(:,:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: summation ...
COMPLEX(real_4),
INTENT(in),
OPTIONAL
:: scale ...

SUBROUTINEdbcsr_reserve_block2d_d(matrix, row, col, block, transposed, existed)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
REAL(real_8),
POINTER
:: block(:,:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: transposed ...
LOGICAL,
INTENT(out),
OPTIONAL
:: existed ...

SUBROUTINEdbcsr_reserve_block2d_s(matrix, row, col, block, transposed, existed)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
REAL(real_4),
POINTER
:: block(:,:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: transposed ...
LOGICAL,
INTENT(out),
OPTIONAL
:: existed ...

SUBROUTINEdbcsr_reserve_block2d_c(matrix, row, col, block, transposed, existed)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
COMPLEX(real_4),
POINTER
:: block(:,:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: transposed ...
LOGICAL,
INTENT(out),
OPTIONAL
:: existed ...

SUBROUTINEdbcsr_reserve_block2d_z(matrix, row, col, block, transposed, existed)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
INTEGER,
INTENT(in)
:: row ...
INTEGER,
INTENT(in)
:: col ...
COMPLEX(real_8),
POINTER
:: block(:,:) ...
LOGICAL,
INTENT(in),
OPTIONAL
:: transposed ...
LOGICAL,
INTENT(out),
OPTIONAL
:: existed ...

SUBROUTINEdbcsr_scale_d(matrix_a, alpha_scalar, last_column)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
REAL(real_8),
INTENT(in)
:: alpha_scalar ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_column ...

SUBROUTINEdbcsr_scale_s(matrix_a, alpha_scalar, last_column)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
REAL(real_4),
INTENT(in)
:: alpha_scalar ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_column ...

SUBROUTINEdbcsr_scale_c(matrix_a, alpha_scalar, last_column)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
COMPLEX(real_4),
INTENT(in)
:: alpha_scalar ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_column ...

SUBROUTINEdbcsr_scale_z(matrix_a, alpha_scalar, last_column)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
COMPLEX(real_8),
INTENT(in)
:: alpha_scalar ...
INTEGER,
INTENT(in),
OPTIONAL
:: last_column ...

SUBROUTINEdbcsr_scale_by_vector_d(matrix_a, alpha, side)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
REAL(real_8),
INTENT(in),
TARGET
:: alpha(:) ...
CHARACTER(*),
INTENT(in)
:: side ...

SUBROUTINEdbcsr_scale_by_vector_s(matrix_a, alpha, side)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
REAL(real_4),
INTENT(in),
TARGET
:: alpha(:) ...
CHARACTER(*),
INTENT(in)
:: side ...

SUBROUTINEdbcsr_scale_by_vector_c(matrix_a, alpha, side)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
COMPLEX(real_4),
INTENT(in),
TARGET
:: alpha(:) ...
CHARACTER(*),
INTENT(in)
:: side ...

SUBROUTINEdbcsr_scale_by_vector_z(matrix_a, alpha, side)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
COMPLEX(real_8),
INTENT(in),
TARGET
:: alpha(:) ...
CHARACTER(*),
INTENT(in)
:: side ...

SUBROUTINEdbcsr_set_d(matrix, alpha)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
REAL(real_8),
INTENT(in)
:: alpha ...

SUBROUTINEdbcsr_set_s(matrix, alpha)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
REAL(real_4),
INTENT(in)
:: alpha ...

SUBROUTINEdbcsr_set_c(matrix, alpha)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
COMPLEX(real_4),
INTENT(in)
:: alpha ...

SUBROUTINEdbcsr_set_z(matrix, alpha)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
COMPLEX(real_8),
INTENT(in)
:: alpha ...

SUBROUTINEdbcsr_set_diag_d(matrix, diag)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
REAL(real_8),
INTENT(in)
:: diag(:) ...

SUBROUTINEdbcsr_set_diag_s(matrix, diag)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
REAL(real_4),
INTENT(in)
:: diag(:) ...

SUBROUTINEdbcsr_set_diag_c(matrix, diag)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
COMPLEX(real_4),
INTENT(in)
:: diag(:) ...

SUBROUTINEdbcsr_set_diag_z(matrix, diag)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix ...
COMPLEX(real_8),
INTENT(in)
:: diag(:) ...

SUBROUTINEdbcsr_trace_ab_d(matrix_a, matrix_b, trace)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_b ...
REAL(real_8),
INTENT(inout)
:: trace ...

SUBROUTINEdbcsr_trace_ab_s(matrix_a, matrix_b, trace)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_b ...
REAL(real_4),
INTENT(inout)
:: trace ...

SUBROUTINEdbcsr_trace_a_d(matrix_a, trace)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
REAL(real_8),
INTENT(out)
:: trace ...

SUBROUTINEdbcsr_trace_a_s(matrix_a, trace)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
REAL(real_4),
INTENT(out)
:: trace ...

SUBROUTINEdbcsr_trace_ab_z(matrix_a, matrix_b, trace)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_b ...
COMPLEX(real_8),
INTENT(inout)
:: trace ...

SUBROUTINEdbcsr_trace_ab_c(matrix_a, matrix_b, trace)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_b ...
COMPLEX(real_4),
INTENT(inout)
:: trace ...

SUBROUTINEdbcsr_trace_a_z(matrix_a, trace)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
COMPLEX(real_8),
INTENT(out)
:: trace ...

SUBROUTINEdbcsr_trace_a_c(matrix_a, trace)

...

Arguments:
TYPE(dbcsr_type),
INTENT(inout)
:: matrix_a ...
COMPLEX(real_4),
INTENT(out)
:: trace ...