QR_MUMPS
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | dqrm_attach_singletons (qrm_mat, scol, srow, mrperm, mcperm, nrsing, ncsing) |
This subroutine merges the results of the singletons detection into the results of the analysis phase. More... | |
subroutine dqrm_attach_singletons | ( | type(dqrm_spmat_type) | qrm_mat, |
integer, dimension(:) | scol, | ||
integer, dimension(:) | srow, | ||
integer, dimension(:) | mrperm, | ||
integer, dimension(:) | mcperm, | ||
integer | nrsing, | ||
integer | ncsing | ||
) |
This subroutine merges the results of the singletons detection into the results of the analysis phase.
Once the singletons are detected in the dqrm_detect_singletons routine, the matrix graph is purged, i.e., the rows and columns corresponding to the singletons are removed. The subsequent operations (column ordering, elimination tree, symboli factorization etc.) are executed on the purged graph. Thus, at some point, the results of all these operations have to be merged with what was found at the singleton detection. Specifically all the singeltons are grouped into a front (number 1) which will be recognized as its row count is set to -1. All the adata memebers are modified accordingly in this routine.
[in,out] | qrm_mat | The instance of the problem where the singletons have to be attached. Only the adata member will be modified (in all its members) |
[in] | scol | the list of column singletons |
[in] | srow | the list of row singletons |
[in] | mrperm | an integer array storing the mapping to the row indices of the purged matrix. mrperm(j) = k means that column j of the purged graph corresponds to column k in the original matrix. A row permutation is later computed on the purged matrix and, thus, mrperm will be used to map this permutation back on the original matrix. |
[in] | mcperm | an integer array storing the mapping to the row indices of the purged matrix. mcperm(j) = k means that row j of the purged graph corresponds to row k in the original matrix. Because the ordering method will be executed on the purged graph, this array is necessary to map the computed ordering onto the columns of A. |
[in] | nrsing | the number of row singletons |
[in] | ncsing | the number of column singletons |
Definition at line 83 of file dqrm_attach_singletons.F90.
Referenced by dqrm_analyse().