Documentation for module dbcsr_multiply_api

Facade for matrix multiplication

source: dbcsr_multiply_api.F
Loading...

Forwarded symbols:

from dbcsr_mm:
dbcsr_multiply_clear_mempools
dbcsr_mm::dbcsr_multiply_clear_mempools
Deallocate memory contained in mempools
dbcsr_multiply_lib_finalize
dbcsr_mm::dbcsr_multiply_lib_finalize
Finalize the library
dbcsr_multiply_lib_init
dbcsr_mm::dbcsr_multiply_lib_init
Initialize the library

Generic procedures:

dbcsr_multiply

Generic procedure dbcsr_multiply

Performs a multiplication of two dbcsr_type matrices, as C := alpha * op( A ) * op( B ) + beta * C.

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

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

...

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

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

...

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

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

...

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

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

...

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