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 |