QR_MUMPS
 All Classes Files Functions Variables Enumerations Enumerator Pages
Functions/Subroutines
dqrm_symbolic.F90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine dqrm_symbolic (graph)
 This subroutine computes the symbolic QR factorization of a matrix. More...
 
subroutine sort_mat (mat)
 

Function/Subroutine Documentation

subroutine dqrm_symbolic ( type(dqrm_spmat_type), target  graph)

This subroutine computes the symbolic QR factorization of a matrix.

This routine completely characterizes the structure of fronts in the elimination tree and does a number of other symbolic operations that are essential for the subsequent numerical factorization. Specifically:

  • it computes the number of rows in each front (note that the number of columns was already computed by the dqrm_rowcount routine)
  • it computes the column indices for each front
  • it defines a layer in the tree below which, subtrees are treated sequentially
  • it estimates the number of flops done in the numerical factorization
  • it computes the number of nnz in R and H
Parameters
[in]graphThis is the adjacency graph of the matrix to be factorized in CSC format. On exit, its adata member will bemmodfied. This is the global data structure holding all the information computed in the analysis phase and needed for the numerical factorization. On input adata%rc, adata%cperm, adata%parent, adata%cp_ptr, adata%nnodes, adata%icperm, adata%rperm, adata%child, adata%childptr must be as produced by qrm_compress_data. On output, the result will be sotred in the following fields:
  • nfrows: the number of rows in each front
  • fcol and fcol_ptr: all the column indices of front i will be stored in fcol(fcol_ptr(i):fcol_ptr(i+1)-1)
  • small: if small(i)=1 the it means that front i is the root of a subtree that will be treated sequentially during the numerical factorization.

Definition at line 71 of file dqrm_symbolic.F90.

References dqrm_spmat_mod::qrm_spmat_convert::dqrm_spmat_convert(), dqrm_spmat_mod::qrm_spmat_destroy::dqrm_spmat_destroy(), i, qrm_e_facto_flops_, qrm_e_nnz_h_, qrm_e_nnz_r_, qrm_error_mod::qrm_err_act_restore(), qrm_error_mod::qrm_err_act_save(), qrm_error_mod::qrm_err_check(), and sort_mat().

Referenced by dqrm_analyse().

subroutine dqrm_symbolic::sort_mat ( type(dqrm_spmat_type)  mat)

Definition at line 469 of file dqrm_symbolic.F90.

References i.

Referenced by _qrm_symbolic(), and dqrm_symbolic().