Documentation for module dbcsr_vector

operations for skinny matrices/vectors expressed in dbcsr form

source: dbcsr_vector.F
Loading...

Generic procedures:

dbcsr_matrix_colvec_multiply

public Subroutines/Functions:

creates a dbcsr col vector like object which lives on proc_col 0 and has the same row dist as the template matrix the returned matrix is fully allocated and all blocks are set to 0 this is not a sparse object (and must never be)
creates a col vector like object whose blocks can be replicated along the processor row and has the same row dist as the template matrix the returned matrix is fully allocated and all blocks are set to 0 this is not a sparse object (and must never be)
creates a row vector like object whose blocks can be replicated along the processor col and has the same col dist as the template matrix the returned matrix is fully allocated and all blocks are set to 0 this is not a sparse object (and must never be)
creates a dbcsr row vector like object which lives on proc_row 0 and has the same row dist as the template matrix the returned matrix is fully allocated and all blocks are set to 0 this is not a sparse object (and must never be)

Generic procedure dbcsr_matrix_colvec_multiply

the real driver routine for the multiply, not all symmetries implemented yet

:: matrix × × × ×
:: vec_in × × × ×
:: vec_out × × × ×
REAL(real_8)
:: alpha ×
REAL(real_4)
:: alpha ×
COMPLEX(real_8)
:: alpha ×
COMPLEX(real_4)
:: alpha ×
REAL(real_8)
:: beta ×
REAL(real_4)
:: beta ×
COMPLEX(real_8)
:: beta ×
COMPLEX(real_4)
:: beta ×
:: work_row × × × ×
:: work_col × × × ×

SUBROUTINEcreate_col_vec_from_matrix(dbcsr_vec, matrix, ncol)

creates a dbcsr col vector like object which lives on proc_col 0 and has the same row dist as the template matrix the returned matrix is fully allocated and all blocks are set to 0 this is not a sparse object (and must never be)

Arguments:
:: dbcsr_vec the vector object to create must be allocated but not initialized
:: matrix a dbcsr matrix used as template
INTEGER
:: ncol number of vectors in the dbcsr_typeect (1 for vector, n for skinny matrix)

SUBROUTINEcreate_replicated_col_vec_from_matrix(dbcsr_vec, matrix, ncol)

creates a col vector like object whose blocks can be replicated along the processor row and has the same row dist as the template matrix the returned matrix is fully allocated and all blocks are set to 0 this is not a sparse object (and must never be)

Arguments:
:: dbcsr_vec the vector object to create must be allocated but not initialized
:: matrix a dbcsr matrix used as template
INTEGER
:: ncol number of vectors in the dbcsr_typeect (1 for vector, n for skinny matrix)

SUBROUTINEcreate_replicated_row_vec_from_matrix(dbcsr_vec, matrix, nrow)

creates a row vector like object whose blocks can be replicated along the processor col and has the same col dist as the template matrix the returned matrix is fully allocated and all blocks are set to 0 this is not a sparse object (and must never be)

Arguments:
:: dbcsr_vec the vector object to create must be allocated but not initialized
:: matrix a dbcsr matrix used as template
INTEGER
:: nrow number of vectors in the dbcsr_typeect (1 for vector, n for skinny matrix)

SUBROUTINEcreate_row_vec_from_matrix(dbcsr_vec, matrix, nrow)

creates a dbcsr row vector like object which lives on proc_row 0 and has the same row dist as the template matrix the returned matrix is fully allocated and all blocks are set to 0 this is not a sparse object (and must never be)

Arguments:
:: dbcsr_vec ...
:: matrix a dbcsr matrix used as template
INTEGER
:: nrow number of vectors in the dbcsr_typeect (1 for vector, n for skinny matrix)

SUBROUTINEdbcsr_matrix_colvec_multiply_d(matrix, vec_in, vec_out, alpha, beta, work_row, work_col)

the real driver routine for the multiply, not all symmetries implemented yet

Arguments:
:: matrix ...
:: vec_in ...
:: vec_out ...
REAL(real_8)
:: alpha ...
REAL(real_8)
:: beta ...
:: work_row ...
:: work_col ...

SUBROUTINEdbcsr_matrix_colvec_multiply_s(matrix, vec_in, vec_out, alpha, beta, work_row, work_col)

the real driver routine for the multiply, not all symmetries implemented yet

Arguments:
:: matrix ...
:: vec_in ...
:: vec_out ...
REAL(real_4)
:: alpha ...
REAL(real_4)
:: beta ...
:: work_row ...
:: work_col ...

SUBROUTINEdbcsr_matrix_colvec_multiply_z(matrix, vec_in, vec_out, alpha, beta, work_row, work_col)

the real driver routine for the multiply, not all symmetries implemented yet

Arguments:
:: matrix ...
:: vec_in ...
:: vec_out ...
COMPLEX(real_8)
:: alpha ...
COMPLEX(real_8)
:: beta ...
:: work_row ...
:: work_col ...

SUBROUTINEdbcsr_matrix_colvec_multiply_c(matrix, vec_in, vec_out, alpha, beta, work_row, work_col)

the real driver routine for the multiply, not all symmetries implemented yet

Arguments:
:: matrix ...
:: vec_in ...
:: vec_out ...
COMPLEX(real_4)
:: alpha ...
COMPLEX(real_4)
:: beta ...
:: work_row ...
:: work_col ...