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

This files contains the routine that does the symbolic factorization. More...

Go to the source code of this file.

Functions/Subroutines

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

Detailed Description

This files contains the routine that does the symbolic factorization.

Date:
2016-01-29 22:22:30 +0100 (Fri, 29 Jan 2016)
Author:
abuttari
Version:
1.1
Revision:
2075

Definition in file qrm_symbolic.F90.

Function/Subroutine Documentation

subroutine _qrm_symbolic ( type(_qrm_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 _qrm_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 qrm_symbolic.F90.

References _qrm_spmat_mod::qrm_spmat_convert::_qrm_spmat_convert(), _qrm_spmat_mod::qrm_spmat_destroy::_qrm_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 _qrm_analyse().

subroutine _qrm_symbolic::sort_mat ( type(_qrm_spmat_type)  mat)

Definition at line 469 of file qrm_symbolic.F90.

References i.