(git:b77b4be)
Loading...
Searching...
No Matches
arnoldi_vector Module Reference

operations for skinny matrices/vectors expressed in dbcsr form More...

Functions/Subroutines

subroutine, public create_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)
 
subroutine, public create_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)
 
subroutine, public create_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)
 
subroutine, public create_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)
 
subroutine, public dbcsr_matrix_colvec_multiply (matrix, vec_in, vec_out, alpha, beta, work_row, work_col)
 the real driver routine for the multiply, not all symmetries implemented yet
 

Detailed Description

operations for skinny matrices/vectors expressed in dbcsr form

History
2014.10 created [Florian Schiffmann] 2023.12 Removed support for single-precision [Ole Schuett] 2024.12 Removed support for complex input matrices [Ole Schuett]
Author
Florian Schiffmann

Function/Subroutine Documentation

◆ create_col_vec_from_matrix()

subroutine, public arnoldi_vector::create_col_vec_from_matrix ( type(dbcsr_type dbcsr_vec,
type(dbcsr_type matrix,
integer  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)

Parameters
dbcsr_vecthe vector object to create must be allocated but not initialized
matrixa dbcsr matrix used as template
ncolnumber of vectors in the dbcsr_typeect (1 for vector, n for skinny matrix)

Definition at line 82 of file arnoldi_vector.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_row_vec_from_matrix()

subroutine, public arnoldi_vector::create_row_vec_from_matrix ( type(dbcsr_type dbcsr_vec,
type(dbcsr_type matrix,
integer  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)

Parameters
dbcsr_vec...
matrixa dbcsr matrix used as template
nrownumber of vectors in the dbcsr_typeect (1 for vector, n for skinny matrix)

Definition at line 122 of file arnoldi_vector.F.

Here is the call graph for this function:

◆ create_replicated_col_vec_from_matrix()

subroutine, public arnoldi_vector::create_replicated_col_vec_from_matrix ( type(dbcsr_type dbcsr_vec,
type(dbcsr_type matrix,
integer  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)

Parameters
dbcsr_vecthe vector object to create must be allocated but not initialized
matrixa dbcsr matrix used as template
ncolnumber of vectors in the dbcsr_typeect (1 for vector, n for skinny matrix)

Definition at line 162 of file arnoldi_vector.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_replicated_row_vec_from_matrix()

subroutine, public arnoldi_vector::create_replicated_row_vec_from_matrix ( type(dbcsr_type dbcsr_vec,
type(dbcsr_type matrix,
integer  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)

Parameters
dbcsr_vecthe vector object to create must be allocated but not initialized
matrixa dbcsr matrix used as template
nrownumber of vectors in the dbcsr_typeect (1 for vector, n for skinny matrix)

Definition at line 204 of file arnoldi_vector.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dbcsr_matrix_colvec_multiply()

subroutine, public arnoldi_vector::dbcsr_matrix_colvec_multiply ( type(dbcsr_type matrix,
type(dbcsr_type vec_in,
type(dbcsr_type vec_out,
real(kind=real_8)  alpha,
real(kind=real_8)  beta,
type(dbcsr_type work_row,
type(dbcsr_type work_col 
)

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

Parameters
matrix...
vec_in...
vec_out...
alpha...
beta...
work_row...
work_col...

Definition at line 530 of file arnoldi_vector.F.

Here is the call graph for this function:
Here is the caller graph for this function: