Higher-level operations on DBCSR matrices.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=*), | private, | parameter | :: | moduleN | = | 'dbcsr_operations' | |
character(len=1), | private, | parameter | :: | xa | = | dbcsr_type_hermitian | |
character(len=1), | private, | parameter | :: | xb | = | dbcsr_type_antihermitian | |
character(len=1), | private, | parameter | :: | xc | = | dbcsr_type_no_symmetry | |
logical, | private, | parameter | :: | debug_mod | = | .FALSE. | |
logical, | private, | parameter | :: | careful_mod | = | .FALSE. | |
integer, | private, | parameter | :: | rpslot_owner | = | 1 | |
integer, | private, | parameter | :: | rpslot_addblks | = | 2 | |
integer, | private, | parameter | :: | rpslot_addoffset | = | 3 | |
integer, | private, | parameter | :: | rpslot_oldblks | = | 4 | |
integer, | private, | parameter | :: | rpslot_oldoffset | = | 5 | |
integer, | private, | parameter | :: | rpslot_totaloffset | = | 6 | |
integer, | private, | parameter | :: | rpnslots | = | 6 |
Encapsulates a given scalar value and makes it conform with the type of the matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=real_8), | intent(in) | :: | scalar | |||
type(dbcsr_type), | intent(in) | :: | matrix |
Encapsulates a given scalar value and makes it conform with the type of the matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=real_4), | intent(in) | :: | scalar | |||
type(dbcsr_type), | intent(in) | :: | matrix |
Encapsulates a given scalar value and makes it conform with the type of the matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex(kind=real_4), | intent(in) | :: | scalar | |||
type(dbcsr_type), | intent(in) | :: | matrix |
Encapsulates a given scalar value and makes it conform with the type of the matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex(kind=real_8), | intent(in) | :: | scalar | |||
type(dbcsr_type), | intent(in) | :: | matrix |
traces a DBCSR matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrix |
||
real(kind=real_4), | intent(inout) | :: | trace |
the trace of the matrix |
Trace of DBCSR matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices |
||
real(kind=real_8), | intent(inout) | :: | trace |
the trace of the product of the matrices |
traces a DBCSR matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrix |
||
complex(kind=real_4), | intent(inout) | :: | trace |
the trace of the matrix |
traces a DBCSR matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrix |
||
complex(kind=real_8), | intent(inout) | :: | trace |
the trace of the matrix |
Dot product of DBCSR matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices DBCSR matrices |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrices DBCSR matrices |
||
real(kind=real_4), | intent(inout) | :: | trace |
the trace of the product of the matrices |
Dot product of DBCSR matrices \result the dot product of the matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices DBCSR matrices |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrices DBCSR matrices |
||
real(kind=real_8), | intent(inout) | :: | trace |
Dot product of DBCSR matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices DBCSR matrices |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrices DBCSR matrices |
||
complex(kind=real_4), | intent(inout) | :: | trace |
the trace of the product of the matrices |
Dot product of DBCSR matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices DBCSR matrices |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrices DBCSR matrices |
||
complex(kind=real_8), | intent(inout) | :: | trace |
the trace of the product of the matrices |
Scales a DBCSR matrix by alpha
Limits A 4-tuple describing (first_row, last_row, first_column, last_column). Set to 0 to avoid limiting.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_scalar_type), | intent(in) | :: | alpha_scalar |
a scalar |
||
integer, | intent(in), | optional, | DIMENSION(4) | :: | limits |
Scale only a subbox |
Interface for matrix scaling by a scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
real(kind=real_4), | intent(in) | :: | alpha_scalar | |||
integer, | intent(in), | optional | :: | last_column |
Interface for matrix scaling by a scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
real(kind=real_8), | intent(in) | :: | alpha_scalar | |||
integer, | intent(in), | optional | :: | last_column |
Interface for matrix scaling by a scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
complex(kind=real_4), | intent(in) | :: | alpha_scalar | |||
integer, | intent(in), | optional | :: | last_column |
Interface for matrix scaling by a scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
complex(kind=real_8), | intent(in) | :: | alpha_scalar | |||
integer, | intent(in), | optional | :: | last_column |
Scales a DBCSR matrix by alpha
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_data_obj), | intent(in), | optional | :: | alpha |
the scaling vector |
|
character(len=*), | intent(in) | :: | side |
apply the scaling from the side |
Interface for matrix scaling by a vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
real(kind=real_4), | intent(in), | DIMENSION(:), TARGET, CONTIGUOUS | :: | alpha | ||
character(len=*), | intent(in) | :: | side |
Interface for matrix scaling by a vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
real(kind=real_8), | intent(in), | DIMENSION(:), TARGET, CONTIGUOUS | :: | alpha | ||
character(len=*), | intent(in) | :: | side |
Interface for matrix scaling by a vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
complex(kind=real_4), | intent(in), | DIMENSION(:), TARGET, CONTIGUOUS | :: | alpha | ||
character(len=*), | intent(in) | :: | side |
Interface for matrix scaling by a vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
complex(kind=real_8), | intent(in), | DIMENSION(:), TARGET, CONTIGUOUS | :: | alpha | ||
character(len=*), | intent(in) | :: | side |
Interface for dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_4), | intent(in) | :: | alpha |
Interface for dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in) | :: | alpha |
Interface for dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_4), | intent(in) | :: | alpha |
Interface for dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_8), | intent(in) | :: | alpha |
add and scale matrices A = alphaA + betaB or
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix |
||
type(dbcsr_scalar_type), | intent(in), | optional | :: | alpha_scalar | ||
type(dbcsr_scalar_type), | intent(in), | optional | :: | beta_scalar | ||
integer(kind=int_8), | intent(inout), | optional | :: | flop |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
type(dbcsr_type), | intent(in) | :: | matrix_b | |||
real(kind=real_4), | intent(in) | :: | alpha_scalar | |||
real(kind=real_4), | intent(in) | :: | beta_scalar |
Interface for dbcsr_add
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
type(dbcsr_type), | intent(in) | :: | matrix_b | |||
real(kind=real_8), | intent(in) | :: | alpha_scalar | |||
real(kind=real_8), | intent(in) | :: | beta_scalar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
type(dbcsr_type), | intent(in) | :: | matrix_b | |||
complex(kind=real_4), | intent(in) | :: | alpha_scalar | |||
complex(kind=real_4), | intent(in) | :: | beta_scalar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
type(dbcsr_type), | intent(in) | :: | matrix_b | |||
complex(kind=real_8), | intent(in) | :: | alpha_scalar | |||
complex(kind=real_8), | intent(in) | :: | beta_scalar |
add a constant to the diagonal of a matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
DBCSR matrix |
||
real(kind=real_4), | intent(in) | :: | alpha |
scalar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in) | :: | alpha |
add a constant to the diagonal of a matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
DBCSR matrix |
||
complex(kind=real_4), | intent(in) | :: | alpha |
scalar |
add a constant to the diagonal of a matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
DBCSR matrix |
||
complex(kind=real_8), | intent(in) | :: | alpha |
scalar |
filter a dbcsr matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
the matrix |
||
type(dbcsr_scalar_type), | intent(in) | :: | eps |
the threshold |
||
integer, | intent(in), | optional | :: | method |
how the matrix is filtered |
|
logical, | intent(in), | optional | :: | use_absolute |
NYI |
|
logical, | intent(in), | optional | :: | filter_diag |
NYI |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_4), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute | ||
logical, | intent(in), | optional | :: | filter_diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute | ||
logical, | intent(in), | optional | :: | filter_diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_4), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute | ||
logical, | intent(in), | optional | :: | filter_diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_8), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute | ||
logical, | intent(in), | optional | :: | filter_diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix | |||
real(kind=real_4), | intent(out), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix | |||
real(kind=real_8), | intent(out), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix | |||
complex(kind=real_4), | intent(out), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix | |||
complex(kind=real_8), | intent(out), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_4), | intent(in), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_4), | intent(in), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_8), | intent(in), | DIMENSION(:) | :: | diag |
Encapsulates a given scalar value and makes it conform with the type of the matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=real_8), | intent(in) | :: | scalar | |||
type(dbcsr_type), | intent(in) | :: | matrix |
Encapsulates a given scalar value and makes it conform with the type of the matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=real_4), | intent(in) | :: | scalar | |||
type(dbcsr_type), | intent(in) | :: | matrix |
Encapsulates a given scalar value and makes it conform with the type of the matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex(kind=real_8), | intent(in) | :: | scalar | |||
type(dbcsr_type), | intent(in) | :: | matrix |
Encapsulates a given scalar value and makes it conform with the type of the matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex(kind=real_4), | intent(in) | :: | scalar | |||
type(dbcsr_type), | intent(in) | :: | matrix |
checks if matrix symmetry and data_type are consistent \brief note: does not check the symmetry of the data itself
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=1), | intent(in) | :: | matrix_type | |||
integer, | intent(in) | :: | data_type |
checks if symmetries of two matrices are compatible for copying \brief data from matrix_a(source) to matrix_b(target)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=1), | intent(in) | :: | matrix_type_a | |||
character(len=1), | intent(in) | :: | matrix_type_b |
Determines the relation between two matrix positions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | row1 | |||
integer, | intent(in) | :: | col1 | |||
integer, | intent(in) | :: | row2 | |||
integer, | intent(in) | :: | col2 |
Relation between positions 1 and 2. 0: same -1: pos1 < pos2 1: pos1 > pos2
compute a norm of a dbcsr matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
the matrix |
compute a norm of a dbcsr matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
the matrix |
compute a norm of a dbcsr matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix |
the matrix |
||
logical, | intent(in), | optional | :: | local |
check if a block is not in the limits
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | row | |||
integer, | intent(in) | :: | col | |||
integer, | intent(in), | optional, | DIMENSION(2) | :: | block_row_limits | |
integer, | intent(in), | optional, | DIMENSION(2) | :: | block_column_limits |
Returns whether the matrix could be represented in a dense form
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix |
matrix |
||
real(kind=real_8), | intent(in) | :: | occ_thresh |
use the mutable and not append-only working structures
Returns the occupation of the matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix |
matrix from which to get the occupation |
Emulation of sparse_matrix_types/add_block_node mapped to add_real_matrix_block.... should not be used any longer It adds a block to the dbcsr matrix and returns a rank-2 pointer to the block. Currently it only and always uses the mutable data.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
DBCSR matrix |
||
integer, | intent(in) | :: | block_row |
the row the column |
||
integer, | intent(in) | :: | block_col |
the row the column |
||
real(kind=dp), | DIMENSION(:, :), POINTER | :: | block |
the block to put |
Conjugate a DBCSR matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
DBCSR matrix |
fill a dbcsr matrix with zeros
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
Scales a DBCSR matrix by alpha
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_scalar_type), | intent(in) | :: | alpha_scalar |
a scalar |
||
integer, | intent(in), | optional, | DIMENSION(4) | :: | limits |
Scale only a subbox |
Determines the effect of limits on a block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | block_size |
size of block global offset of block lower limit upper limit |
||
integer, | intent(in) | :: | block_offset |
size of block global offset of block lower limit upper limit |
||
integer, | intent(in) | :: | first_limit |
size of block global offset of block lower limit upper limit |
||
integer, | intent(in) | :: | last_limit |
size of block global offset of block lower limit upper limit |
||
integer, | intent(out) | :: | frame_size |
size of block region within the limits starting position of the block region that is within the limits |
||
integer, | intent(out) | :: | frame_offset |
size of block region within the limits starting position of the block region that is within the limits |
Scales a DBCSR matrix by alpha
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_data_obj), | intent(in), | optional | :: | alpha |
the scaling vector |
|
character(len=*), | intent(in) | :: | side |
apply the scaling from the side |
add and scale matrices A = alphaA + betaB or
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix |
||
type(dbcsr_scalar_type), | intent(in), | optional | :: | alpha_scalar | ||
type(dbcsr_scalar_type), | intent(in), | optional | :: | beta_scalar | ||
integer(kind=int_8), | intent(inout), | optional | :: | flop |
Interface for dbcsr_add
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
type(dbcsr_type), | intent(in) | :: | matrix_b | |||
real(kind=real_8), | intent(in) | :: | alpha_scalar | |||
real(kind=real_8), | intent(in) | :: | beta_scalar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
type(dbcsr_type), | intent(in) | :: | matrix_b | |||
real(kind=real_4), | intent(in) | :: | alpha_scalar | |||
real(kind=real_4), | intent(in) | :: | beta_scalar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
type(dbcsr_type), | intent(in) | :: | matrix_b | |||
complex(kind=real_8), | intent(in) | :: | alpha_scalar | |||
complex(kind=real_8), | intent(in) | :: | beta_scalar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
type(dbcsr_type), | intent(in) | :: | matrix_b | |||
complex(kind=real_4), | intent(in) | :: | alpha_scalar | |||
complex(kind=real_4), | intent(in) | :: | beta_scalar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in) | :: | alpha |
Computes various functions (defined by func) of matrix elements
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
integer, | intent(in) | :: | func | |||
real(kind=dp), | intent(in), | optional | :: | a0 | ||
real(kind=dp), | intent(in), | optional | :: | a1 | ||
real(kind=dp), | intent(in), | optional | :: | a2 |
Hadamard product C = A . B (C needs to be different from A and B)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrix DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix DBCSR matrix |
||
type(dbcsr_type), | intent(inout) | :: | matrix_c |
DBCSR matrix |
||
real(kind=dp), | intent(in), | optional | :: | b_assume_value |
... TODO : unify with other version which is generic in the data_type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
logical, | optional | :: | keep_sparsity | |||
integer, | intent(in), | optional | :: | mini_seed |
get the diagonal of a dbcsr matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix |
the matrix |
||
type(dbcsr_type), | intent(inout) | :: | diag |
the diagonal |
copy a matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_b |
target DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_a |
source DBCSR matrix |
||
character(len=*), | intent(in), | optional | :: | name |
name of the new matrix |
|
logical, | intent(in), | optional | :: | keep_sparsity |
keep the target matrix sparsity; default is False. shallow data copy when copy from complex to real,& the default is to keep only the real part; if this flag is set, the imaginary part is used |
|
logical, | intent(in), | optional | :: | shallow_data |
keep the target matrix sparsity; default is False. shallow data copy when copy from complex to real,& the default is to keep only the real part; if this flag is set, the imaginary part is used |
|
logical, | intent(in), | optional | :: | keep_imaginary |
keep the target matrix sparsity; default is False. shallow data copy when copy from complex to real,& the default is to keep only the real part; if this flag is set, the imaginary part is used |
|
character(len=1), | intent(in), | optional | :: | matrix_type |
'N' for normal, 'T' for transposed, 'S' for symmetric, and 'A' for antisymmetric |
copy a matrix, retaining current sparsity
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_b |
target DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_a |
source DBCSR matrix |
copy a matrix, retaining current sparsity
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_b |
target DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_a |
source DBCSR matrix |
Copy a submatrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_b |
target DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_a |
source DBCSR matrix |
||
character(len=*), | intent(in), | optional | :: | name |
name of the new matrix |
|
integer, | intent(in), | optional, | DIMENSION(2) | :: | block_row_bounds |
rows to extract (array of size 2 holding the lower and upper inclusive bounds) columns to extract (array of size 2 holding the lower and upper inclusive bounds) |
integer, | intent(in), | optional, | DIMENSION(2) | :: | block_column_bounds |
rows to extract (array of size 2 holding the lower and upper inclusive bounds) columns to extract (array of size 2 holding the lower and upper inclusive bounds) |
logical, | intent(in), | optional | :: | shallow_data |
shallow data copy |
Crop and copies a matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_b |
target DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_a |
source DBCSR matrix |
||
integer, | intent(in), | optional, | DIMENSION(2) | :: | full_row_bounds |
rows to extract (array of size 2 holding the lower and upper inclusive bounds) columns to extract (array of size 2 holding the lower and upper inclusive bounds) |
integer, | intent(in), | optional, | DIMENSION(2) | :: | full_column_bounds |
rows to extract (array of size 2 holding the lower and upper inclusive bounds) columns to extract (array of size 2 holding the lower and upper inclusive bounds) |
logical, | intent(in), | optional | :: | shallow_data |
triu of a dbcsr matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
the matrix |
filter a dbcsr matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
the matrix |
||
type(dbcsr_scalar_type), | intent(in) | :: | eps |
the threshold |
||
integer, | intent(in), | optional | :: | method |
how the matrix is filtered |
|
logical, | intent(in), | optional | :: | use_absolute |
NYI |
|
logical, | intent(in), | optional | :: | filter_diag |
NYI |
compute a norm of a dbcsr matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
the matrix |
||
integer, | intent(in) | :: | which_norm | |||
real(kind=real_8), | intent(out) | :: | norm_scalar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
integer, | intent(in) | :: | which_norm | |||
real(kind=real_8), | intent(out), | DIMENSION(:), TARGET, CONTIGUOUS | :: | norm_vector |
compute the column norms of the dbcsr matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
the matrix |
||
integer, | intent(in) | :: | which_norm | |||
type(dbcsr_data_obj), | intent(inout) | :: | norm_vector |
Sums blocks in a replicated dbcsr matrix, which has the same structure on all ranks.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
dbcsr matrix to operate on |
Gets information about a matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix |
matrix to query |
||
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, | DIMENSION(:), POINTER | :: | local_rows | ||
integer, | optional, | DIMENSION(:), POINTER | :: | local_cols | ||
integer, | optional, | DIMENSION(:), POINTER | :: | proc_row_dist | ||
integer, | optional, | DIMENSION(:), POINTER | :: | proc_col_dist | ||
integer, | optional, | DIMENSION(:), POINTER | :: | row_blk_size | ||
integer, | optional, | DIMENSION(:), POINTER | :: | col_blk_size | ||
integer, | optional, | DIMENSION(:), POINTER | :: | row_blk_offset | ||
integer, | optional, | DIMENSION(:), POINTER | :: | col_blk_offset | ||
type(dbcsr_distribution_obj), | intent(out), | optional | :: | distribution |
the data distribution of the matrix |
|
character(len=*), | intent(out), | optional | :: | name |
matrix name |
|
type(dbcsr_data_obj), | intent(out), | optional | :: | data_area |
data_area |
|
character(len=1), | optional | :: | matrix_type |
matrix type (regular, symmetric, see dbcsr_types.F for values) |
||
integer, | optional | :: | data_type |
data type (single/double precision real/complex) |
||
type(mp_comm_type), | intent(out), | optional | :: | group |
Clear a matrix (remove all blocks)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
Trace of DBCSR matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices |
||
real(kind=real_8), | intent(inout) | :: | trace |
the trace of the product of the matrices |
Dot product of DBCSR matrices \result the dot product of the matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices DBCSR matrices |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrices DBCSR matrices |
||
real(kind=real_8), | intent(inout) | :: | trace |
traces a DBCSR matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrix |
||
real(kind=real_8), | intent(inout) | :: | trace |
the trace of the matrix |
Dot product of DBCSR matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices DBCSR matrices |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrices DBCSR matrices |
||
real(kind=real_8), | intent(inout) | :: | trace |
the trace of the product of the matrices |
Interface for matrix scaling by a scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
real(kind=real_8), | intent(in) | :: | alpha_scalar | |||
integer, | intent(in), | optional | :: | last_column |
Interface for matrix scaling by a vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
real(kind=real_8), | intent(in), | DIMENSION(:), TARGET, CONTIGUOUS | :: | alpha | ||
character(len=*), | intent(in) | :: | side |
Interface for dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in) | :: | alpha |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute | ||
logical, | intent(in), | optional | :: | filter_diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_8), | intent(in), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix | |||
real(kind=real_8), | intent(out), | DIMENSION(:) | :: | diag |
add a constant to the diagonal of a matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
DBCSR matrix |
||
real(kind=real_8), | intent(in) | :: | alpha |
scalar |
Low level function to sum contiguous chunks of blocks of the matrices (matrix_a = matrix_a + beta*matrix_b)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix |
||
integer, | intent(in) | :: | first_lb_a | |||
integer, | intent(in) | :: | first_lb_b | |||
integer, | intent(in) | :: | nze | |||
logical, | intent(in) | :: | do_scale | |||
type(dbcsr_scalar_type), | intent(in) | :: | my_beta_scalar | |||
logical, | intent(in) | :: | found | |||
integer, | intent(in) | :: | iw |
Low level function to sum two matrices (matrix_a = matrix_a + beta*matrix_b
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix |
||
type(dbcsr_iterator), | intent(inout) | :: | iter | |||
integer, | intent(in) | :: | iw | |||
logical, | intent(in) | :: | do_scale | |||
type(dbcsr_scalar_type), | intent(in) | :: | my_beta_scalar | |||
integer(kind=int_8), | intent(inout) | :: | my_flop |
traces a DBCSR matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrix |
||
real(kind=real_4), | intent(inout) | :: | trace |
the trace of the matrix |
Dot product of DBCSR matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices DBCSR matrices |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrices DBCSR matrices |
||
real(kind=real_4), | intent(inout) | :: | trace |
the trace of the product of the matrices |
Interface for matrix scaling by a scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
real(kind=real_4), | intent(in) | :: | alpha_scalar | |||
integer, | intent(in), | optional | :: | last_column |
Interface for matrix scaling by a vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
real(kind=real_4), | intent(in), | DIMENSION(:), TARGET, CONTIGUOUS | :: | alpha | ||
character(len=*), | intent(in) | :: | side |
Interface for dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_4), | intent(in) | :: | alpha |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_4), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute | ||
logical, | intent(in), | optional | :: | filter_diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
real(kind=real_4), | intent(in), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix | |||
real(kind=real_4), | intent(out), | DIMENSION(:) | :: | diag |
add a constant to the diagonal of a matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
DBCSR matrix |
||
real(kind=real_4), | intent(in) | :: | alpha |
scalar |
Low level function to sum contiguous chunks of blocks of the matrices (matrix_a = matrix_a + beta*matrix_b)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix |
||
integer, | intent(in) | :: | first_lb_a | |||
integer, | intent(in) | :: | first_lb_b | |||
integer, | intent(in) | :: | nze | |||
logical, | intent(in) | :: | do_scale | |||
type(dbcsr_scalar_type), | intent(in) | :: | my_beta_scalar | |||
logical, | intent(in) | :: | found | |||
integer, | intent(in) | :: | iw |
Low level function to sum two matrices (matrix_a = matrix_a + beta*matrix_b
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix |
||
type(dbcsr_iterator), | intent(inout) | :: | iter | |||
integer, | intent(in) | :: | iw | |||
logical, | intent(in) | :: | do_scale | |||
type(dbcsr_scalar_type), | intent(in) | :: | my_beta_scalar | |||
integer(kind=int_8), | intent(inout) | :: | my_flop |
traces a DBCSR matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrix |
||
complex(kind=real_8), | intent(inout) | :: | trace |
the trace of the matrix |
Dot product of DBCSR matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices DBCSR matrices |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrices DBCSR matrices |
||
complex(kind=real_8), | intent(inout) | :: | trace |
the trace of the product of the matrices |
Interface for matrix scaling by a scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
complex(kind=real_8), | intent(in) | :: | alpha_scalar | |||
integer, | intent(in), | optional | :: | last_column |
Interface for matrix scaling by a vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
complex(kind=real_8), | intent(in), | DIMENSION(:), TARGET, CONTIGUOUS | :: | alpha | ||
character(len=*), | intent(in) | :: | side |
Interface for dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_8), | intent(in) | :: | alpha |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_8), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute | ||
logical, | intent(in), | optional | :: | filter_diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_8), | intent(in), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix | |||
complex(kind=real_8), | intent(out), | DIMENSION(:) | :: | diag |
add a constant to the diagonal of a matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
DBCSR matrix |
||
complex(kind=real_8), | intent(in) | :: | alpha |
scalar |
Low level function to sum contiguous chunks of blocks of the matrices (matrix_a = matrix_a + beta*matrix_b)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix |
||
integer, | intent(in) | :: | first_lb_a | |||
integer, | intent(in) | :: | first_lb_b | |||
integer, | intent(in) | :: | nze | |||
logical, | intent(in) | :: | do_scale | |||
type(dbcsr_scalar_type), | intent(in) | :: | my_beta_scalar | |||
logical, | intent(in) | :: | found | |||
integer, | intent(in) | :: | iw |
Low level function to sum two matrices (matrix_a = matrix_a + beta*matrix_b
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix |
||
type(dbcsr_iterator), | intent(inout) | :: | iter | |||
integer, | intent(in) | :: | iw | |||
logical, | intent(in) | :: | do_scale | |||
type(dbcsr_scalar_type), | intent(in) | :: | my_beta_scalar | |||
integer(kind=int_8), | intent(inout) | :: | my_flop |
traces a DBCSR matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrix |
||
complex(kind=real_4), | intent(inout) | :: | trace |
the trace of the matrix |
Dot product of DBCSR matrices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix_a |
DBCSR matrices DBCSR matrices |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrices DBCSR matrices |
||
complex(kind=real_4), | intent(inout) | :: | trace |
the trace of the product of the matrices |
Interface for matrix scaling by a scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
complex(kind=real_4), | intent(in) | :: | alpha_scalar | |||
integer, | intent(in), | optional | :: | last_column |
Interface for matrix scaling by a vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a | |||
complex(kind=real_4), | intent(in), | DIMENSION(:), TARGET, CONTIGUOUS | :: | alpha | ||
character(len=*), | intent(in) | :: | side |
Interface for dbcsr_set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_4), | intent(in) | :: | alpha |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_4), | intent(in) | :: | eps | |||
integer, | intent(in), | optional | :: | method | ||
logical, | intent(in), | optional | :: | use_absolute | ||
logical, | intent(in), | optional | :: | filter_diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix | |||
complex(kind=real_4), | intent(in), | DIMENSION(:) | :: | diag |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(in) | :: | matrix | |||
complex(kind=real_4), | intent(out), | DIMENSION(:) | :: | diag |
add a constant to the diagonal of a matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix |
DBCSR matrix |
||
complex(kind=real_4), | intent(in) | :: | alpha |
scalar |
Low level function to sum contiguous chunks of blocks of the matrices (matrix_a = matrix_a + beta*matrix_b)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix |
||
integer, | intent(in) | :: | first_lb_a | |||
integer, | intent(in) | :: | first_lb_b | |||
integer, | intent(in) | :: | nze | |||
logical, | intent(in) | :: | do_scale | |||
type(dbcsr_scalar_type), | intent(in) | :: | my_beta_scalar | |||
logical, | intent(in) | :: | found | |||
integer, | intent(in) | :: | iw |
Low level function to sum two matrices (matrix_a = matrix_a + beta*matrix_b
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(dbcsr_type), | intent(inout) | :: | matrix_a |
DBCSR matrix |
||
type(dbcsr_type), | intent(in) | :: | matrix_b |
DBCSR matrix |
||
type(dbcsr_iterator), | intent(inout) | :: | iter | |||
integer, | intent(in) | :: | iw | |||
logical, | intent(in) | :: | do_scale | |||
type(dbcsr_scalar_type), | intent(in) | :: | my_beta_scalar | |||
integer(kind=int_8), | intent(inout) | :: | my_flop |