Tall-and-skinny matrices: base routines similar to DBCSR API, mostly wrappers around existing DBCSR routines.
As dbcsr_put_block As dbcsr_put_block As dbcsr_put_block As dbcsr_put_block
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=*), | private, | parameter | :: | moduleN | = | 'dbcsr_tas_base' |
Create new tall-and-skinny matrix. Exactly like dbcsr_create_new but with custom types for row_blk_size and col_blk_size instead of arrays.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(out) | :: | matrix | |||
character(len=*), | intent(in) | :: | name | |||
type(dbcsr_tas_distribution_type), | intent(inout) | :: | dist | |||
integer, | intent(in), | optional | :: | data_type | ||
class(dbcsr_tas_rowcol_data), | intent(in) | :: | row_blk_size | |||
class(dbcsr_tas_rowcol_data), | intent(in) | :: | col_blk_size | |||
logical, | intent(in), | optional | :: | own_dist |
whether matrix should own distribution |
Create matrix from template
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix_in | |||
type(dbcsr_tas_type), | intent(out) | :: | matrix | |||
character(len=*), | intent(in), | optional | :: | name | ||
integer, | intent(in), | optional | :: | data_type |
As dbcsr_get_block_p
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
type(dbcsr_data_obj), | intent(inout) | :: | block | |||
logical, | intent(out) | :: | transposed | |||
logical, | intent(out) | :: | found | |||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_put_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
type(dbcsr_data_obj) | :: | block | ||||
logical, | intent(in), | optional | :: | transposed | ||
logical, | intent(in), | optional | :: | summation | ||
type(dbcsr_scalar_type), | intent(in), | optional | :: | scale |
Make sure that matrix_out has same blocks reserved as matrix_in. This assumes that both matrices have same number of block rows and block columns.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix_in | |||
type(dbcsr_tas_type), | intent(inout) | :: | matrix_out |
As dbcsr_reserve_blocks
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in), | DIMENSION(:) | :: | rows | ||
integer(kind=int_8), | intent(in), | DIMENSION(:) | :: | columns |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row | |||
integer(kind=int_8), | intent(out) | :: | column | |||
type(dbcsr_data_obj), | intent(inout) | :: | block | |||
logical, | intent(out) | :: | transposed | |||
integer, | intent(out), | optional | :: | block_number | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row |
global block row global block column |
||
integer(kind=int_8), | intent(out) | :: | column |
global block row global block column |
||
integer, | intent(out) | :: | block_number | |||
logical, | intent(out), | optional | :: | transposed | ||
integer, | intent(out), | optional | :: | blk_p | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row | |||
integer(kind=int_8), | intent(out) | :: | column | |||
real(kind=real_8), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
integer, | intent(out), | optional | :: | block_number | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row | |||
integer(kind=int_8), | intent(out) | :: | column | |||
real(kind=real_4), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
integer, | intent(out), | optional | :: | block_number | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row | |||
integer(kind=int_8), | intent(out) | :: | column | |||
complex(kind=real_8), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
integer, | intent(out), | optional | :: | block_number | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row | |||
integer(kind=int_8), | intent(out) | :: | column | |||
complex(kind=real_4), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
integer, | intent(out), | optional | :: | block_number | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
real(kind=real_8), | intent(in), | DIMENSION(:, :) | :: | block | ||
logical, | intent(in), | optional | :: | transposed | ||
logical, | intent(in), | optional | :: | summation | ||
real(kind=real_8), | intent(in), | optional | :: | scale |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
real(kind=real_4), | intent(in), | DIMENSION(:, :) | :: | block | ||
logical, | intent(in), | optional | :: | transposed | ||
logical, | intent(in), | optional | :: | summation | ||
real(kind=real_4), | intent(in), | optional | :: | scale |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
complex(kind=real_8), | intent(in), | DIMENSION(:, :) | :: | block | ||
logical, | intent(in), | optional | :: | transposed | ||
logical, | intent(in), | optional | :: | summation | ||
complex(kind=real_8), | intent(in), | optional | :: | scale |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
complex(kind=real_4), | intent(in), | DIMENSION(:, :) | :: | block | ||
logical, | intent(in), | optional | :: | transposed | ||
logical, | intent(in), | optional | :: | summation | ||
complex(kind=real_4), | intent(in), | optional | :: | scale |
As dbcsr_get_block_p
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
real(kind=real_8), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
logical, | intent(out) | :: | found | |||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_get_block_p
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
real(kind=real_4), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
logical, | intent(out) | :: | found | |||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_get_block_p
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
complex(kind=real_8), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
logical, | intent(out) | :: | found | |||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_get_block_p
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
complex(kind=real_4), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
logical, | intent(out) | :: | found | |||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in) | :: | alpha |
As dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
real(kind=real_4), | intent(in) | :: | alpha |
As dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
complex(kind=real_8), | intent(in) | :: | alpha |
As dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
complex(kind=real_4), | intent(in) | :: | alpha |
As dbcsr_filter
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute |
As dbcsr_filter
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
real(kind=real_4), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute |
As dbcsr_filter
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
complex(kind=real_8), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute |
As dbcsr_filter
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
complex(kind=real_4), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute |
As dbcsr_iterator_blocks_left
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(in) | :: | iter |
get info on mpi grid splitting
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
As dbcsr_get_num_blocks: get number of local blocks
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
get total number of blocks
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
As dbcsr_get_nze: get number of local non-zero elements
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
Get total number of non-zero elements
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
As dbcsr_get_data_type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
As dbcsr_get_data_size
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
Create new tall-and-skinny matrix. Exactly like dbcsr_create_new but with custom types for row_blk_size and col_blk_size instead of arrays.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(out) | :: | matrix | |||
character(len=*), | intent(in) | :: | name | |||
type(dbcsr_tas_distribution_type), | intent(inout) | :: | dist | |||
integer, | intent(in), | optional | :: | data_type | ||
class(dbcsr_tas_rowcol_data), | intent(in) | :: | row_blk_size | |||
class(dbcsr_tas_rowcol_data), | intent(in) | :: | col_blk_size | |||
logical, | intent(in), | optional | :: | own_dist |
whether matrix should own distribution |
Create matrix from template
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix_in | |||
type(dbcsr_tas_type), | intent(out) | :: | matrix | |||
character(len=*), | intent(in), | optional | :: | name | ||
integer, | intent(in), | optional | :: | data_type |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix |
Copy matrix_a to matrix_b
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix_b | |||
type(dbcsr_tas_type), | intent(in) | :: | matrix_a | |||
logical, | intent(in), | optional | :: | summation |
Whether to sum matrices b = a + b |
Make sure that matrix_out has same blocks reserved as matrix_in. This assumes that both matrices have same number of block rows and block columns.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix_in | |||
type(dbcsr_tas_type), | intent(inout) | :: | matrix_out |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix |
create new distribution. Exactly like dbcsr_distribution_new but with custom types for row_dist and col_dist instead of arrays.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_distribution_type), | intent(out) | :: | dist | |||
type(mp_comm_type), | intent(in) | :: | mp_comm | |||
class(dbcsr_tas_distribution), | intent(in) | :: | row_dist | |||
class(dbcsr_tas_distribution), | intent(in) | :: | col_dist | |||
type(dbcsr_tas_split_info), | intent(in), | optional | :: | split_info |
Strategy of how to split process grid (optional). If not present a default split heuristic is applied. |
|
logical, | intent(in), | optional | :: | nosplit |
if .TRUE. don't split process grid (optional) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_distribution_type), | intent(inout) | :: | dist |
As dbcsr_get_stored_coordinates
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row |
global matrix blocked row global matrix blocked column |
||
integer(kind=int_8), | intent(in) | :: | column |
global matrix blocked row global matrix blocked column |
||
integer, | intent(out) | :: | processor |
process ID |
Get all processors for a given row/col combination if matrix is replicated on each process subgroup.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix |
tall-and-skinny matrix whose DBCSR submatrices are replicated matrices |
||
integer, | intent(in) | :: | row |
row of a submatrix column of a submatrix |
||
integer, | intent(in) | :: | column |
row of a submatrix column of a submatrix |
||
integer, | intent(out), | DIMENSION(:) | :: | processors |
Convert a tall-and-skinny matrix into a normal DBCSR matrix. This is not recommended for matrices with a very large dimension.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix_rect | |||
type(dbcsr_type), | intent(out) | :: | matrix_dbcsr |
Converts a DBCSR matrix into the tall-and-skinny matrix type.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_split_info), | intent(in) | :: | info |
Strategy of how to split process grid |
||
type(dbcsr_tas_type), | intent(out) | :: | matrix_rect | |||
type(dbcsr_type), | intent(in) | :: | matrix_dbcsr |
As dbcsr_iterator_start
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iter | |||
type(dbcsr_tas_type), | intent(in) | :: | matrix_in |
As dbcsr_iterator_stop
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iter |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row | |||
integer(kind=int_8), | intent(out) | :: | column | |||
type(dbcsr_data_obj), | intent(inout) | :: | block | |||
logical, | intent(out) | :: | transposed | |||
integer, | intent(out), | optional | :: | block_number | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row |
global block row global block column |
||
integer(kind=int_8), | intent(out) | :: | column |
global block row global block column |
||
integer, | intent(out) | :: | block_number | |||
logical, | intent(out), | optional | :: | transposed | ||
integer, | intent(out), | optional | :: | blk_p | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_reserve_blocks
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in), | DIMENSION(:) | :: | rows | ||
integer(kind=int_8), | intent(in), | DIMENSION(:) | :: | columns |
As dbcsr_put_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
type(dbcsr_data_obj) | :: | block | ||||
logical, | intent(in), | optional | :: | transposed | ||
logical, | intent(in), | optional | :: | summation | ||
type(dbcsr_scalar_type), | intent(in), | optional | :: | scale |
As dbcsr_get_block_p
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
type(dbcsr_data_obj), | intent(inout) | :: | block | |||
logical, | intent(out) | :: | transposed | |||
logical, | intent(out) | :: | found | |||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
Copy a distribution
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_distribution_type), | intent(inout) | :: | dist_in | |||
type(dbcsr_tas_distribution_type), | intent(out) | :: | dist_out | |||
logical, | intent(in), | optional | :: | own_dist |
Whether distribution should be owned by dist_out |
Get block size for a given row & column
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
integer, | intent(out) | :: | row_size | |||
integer, | intent(out) | :: | col_size |
Clear matrix (erase all data)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(in) | :: | matrix | |||
integer(kind=int_8), | intent(out), | optional | :: | nblkrows_total | ||
integer(kind=int_8), | intent(out), | optional | :: | nblkcols_total | ||
integer(kind=int_8), | intent(out), | optional | :: | nfullrows_total | ||
integer(kind=int_8), | 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 | :: | nprow | ||
integer, | intent(out), | optional | :: | npcol | ||
integer, | intent(out), | optional | :: | my_prow | ||
integer, | intent(out), | optional | :: | my_pcol | ||
integer(kind=int_8), | optional, | DIMENSION(:), ALLOCATABLE | :: | local_rows | ||
integer(kind=int_8), | optional, | DIMENSION(:), ALLOCATABLE | :: | local_cols | ||
class(dbcsr_tas_distribution), | intent(out), | optional, | ALLOCATABLE | :: | proc_row_dist | |
class(dbcsr_tas_distribution), | intent(out), | optional, | ALLOCATABLE | :: | proc_col_dist | |
class(dbcsr_tas_rowcol_data), | intent(out), | optional, | ALLOCATABLE | :: | row_blk_size | |
class(dbcsr_tas_rowcol_data), | intent(out), | optional, | ALLOCATABLE | :: | col_blk_size | |
type(dbcsr_tas_distribution_type), | optional | :: | distribution | |||
character(len=*), | intent(out), | optional | :: | name | ||
type(dbcsr_data_obj), | intent(out), | optional | :: | data_area | ||
character(len=1), | optional | :: | matrix_type | |||
integer, | optional | :: | data_type |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row | |||
integer(kind=int_8), | intent(out) | :: | column | |||
real(kind=real_8), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
integer, | intent(out), | optional | :: | block_number | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row | |||
integer(kind=int_8), | intent(out) | :: | column | |||
real(kind=real_4), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
integer, | intent(out), | optional | :: | block_number | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row | |||
integer(kind=int_8), | intent(out) | :: | column | |||
complex(kind=real_8), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
integer, | intent(out), | optional | :: | block_number | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_iterator_next_block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_iterator), | intent(inout) | :: | iterator | |||
integer(kind=int_8), | intent(out) | :: | row | |||
integer(kind=int_8), | intent(out) | :: | column | |||
complex(kind=real_4), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
integer, | intent(out), | optional | :: | block_number | ||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
real(kind=real_8), | intent(in), | DIMENSION(:, :) | :: | block | ||
logical, | intent(in), | optional | :: | transposed | ||
logical, | intent(in), | optional | :: | summation | ||
real(kind=real_8), | intent(in), | optional | :: | scale |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
real(kind=real_4), | intent(in), | DIMENSION(:, :) | :: | block | ||
logical, | intent(in), | optional | :: | transposed | ||
logical, | intent(in), | optional | :: | summation | ||
real(kind=real_4), | intent(in), | optional | :: | scale |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
complex(kind=real_8), | intent(in), | DIMENSION(:, :) | :: | block | ||
logical, | intent(in), | optional | :: | transposed | ||
logical, | intent(in), | optional | :: | summation | ||
complex(kind=real_8), | intent(in), | optional | :: | scale |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
complex(kind=real_4), | intent(in), | DIMENSION(:, :) | :: | block | ||
logical, | intent(in), | optional | :: | transposed | ||
logical, | intent(in), | optional | :: | summation | ||
complex(kind=real_4), | intent(in), | optional | :: | scale |
As dbcsr_get_block_p
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
real(kind=real_8), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
logical, | intent(out) | :: | found | |||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_get_block_p
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
real(kind=real_4), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
logical, | intent(out) | :: | found | |||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_get_block_p
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
complex(kind=real_8), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
logical, | intent(out) | :: | found | |||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_get_block_p
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
integer(kind=int_8), | intent(in) | :: | row | |||
integer(kind=int_8), | intent(in) | :: | col | |||
complex(kind=real_4), | DIMENSION(:, :), POINTER | :: | block | |||
logical, | intent(out) | :: | transposed | |||
logical, | intent(out) | :: | found | |||
integer, | intent(out), | optional | :: | row_size | ||
integer, | intent(out), | optional | :: | col_size |
As dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in) | :: | alpha |
As dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
real(kind=real_4), | intent(in) | :: | alpha |
As dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
complex(kind=real_8), | intent(in) | :: | alpha |
As dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
complex(kind=real_4), | intent(in) | :: | alpha |
As dbcsr_filter
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute |
As dbcsr_filter
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
real(kind=real_4), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute |
As dbcsr_filter
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
complex(kind=real_8), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute |
As dbcsr_filter
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_tas_type), | intent(inout) | :: | matrix | |||
complex(kind=real_4), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute |