QR_MUMPS
List of all members | Public Attributes
qrm_adata_mod::qrm_adata_type Type Reference

The main data type for the analysis phase. More...

Public Attributes

integer, dimension(:), allocatable cperm
 An integer array of size n (column dimension of the problem matrix) containing the column permutation resulting from fill-in minimization orderings (COLAMD etc). It has to be a pointer to accomodate the case where the user wants to provide his own permutation. More...
 
integer, dimension(:), allocatable icperm
 Inverse column permutation. icperm(i)=k means that column i is eliminated at k-th step. More...
 
integer, dimension(:), allocatable rperm
 This is an integer array containing a row permutation computed in order to have the original matrix in a "stair" format. See em>qrm_rowperm</em>@endlink. More...
 
integer, dimension(:), allocatable cp_ptr
 This integer array holds pointers to the beginning of nodes in the column permutation. The variables contained in node i are cperm( cp_ptr(i) : cp_ptr(i+1)-1 ). It is of size nnodes+1. More...
 
integer, dimension(:), allocatable rc
 rc(i) contains the rowcount for the rows in node number i. This array is of size nnodes More...
 
integer, dimension(:), allocatable parent
 An integer array of size nnodes containing the assembly tree. parent(i)=k means that node k is the father of node i. More...
 
integer, dimension(:), allocatable child
 For each node, it contains the list of its children. More...
 
integer, dimension(:), allocatable childptr
 Pointers to the list of children. child(childptr(i),...,childptr(i+1)-1) contains all the children of node i. More...
 
integer, dimension(:), allocatable nfrows
 nfrows(i)=k means that the frontal matrix related to node i has k rows (the number of columns is rc(i)) More...
 
integer, dimension(:), allocatable stair
 defines the staircase structure of the original matrix. Assuming A(rperm,cperm) More...
 
integer, dimension(:), allocatable small
 An array of size nnodes which flags (with 1 whereas everything is =0) the roots of subtrees that are treated sequentially in the numerical factorization. More...
 
integer, dimension(:), allocatable fcol
 Contains the list of columns indices for each front. More...
 
integer, dimension(:), allocatable fcol_ptr
 Contains pointers to the list of column indices fcol. Specifically, the list of column indices for front i is fcol(fcol_ptr(i):fcol_ptr(i+1)-1) More...
 
integer, dimension(:), allocatable leaves
 A list of leaf nodes where to start the numerical factorization from. A leaf is defined as a node which only has small children. More...
 
integer nleaves =0
 The number of leaves present in the tree. More...
 
integer nnodes =0
 The number of nodes in the elimination tree, i.e., the number of frontal matrices. More...
 
integer ncsing =0
 The number of column singletons found. More...
 
integer nrsing =0
 The number of row singletons found. More...
 
logical ok =.false.
 it is set to .true. if the analysis is done (with success), to .false. otherwise More...
 

Detailed Description

The main data type for the analysis phase.

This data type is meant to store all the results of the anaysis phase (permutations, assembly tree etc.). Moreover it is not typed which means that it will be exactly the same for dp/sp real or complex matrices. However, because of its untyped nature, this data type cannot be included into qrm_analysis_mod which, instead is typed due to the fact that many routines there take as input argument a qrm_spmat_type.

Definition at line 54 of file qrm_adata_mod.F90.

Member Data Documentation

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::child

For each node, it contains the list of its children.

Definition at line 78 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::childptr

Pointers to the list of children. child(childptr(i),...,childptr(i+1)-1) contains all the children of node i.

Definition at line 81 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::cp_ptr

This integer array holds pointers to the beginning of nodes in the column permutation. The variables contained in node i are cperm( cp_ptr(i) : cp_ptr(i+1)-1 ). It is of size nnodes+1.

Definition at line 70 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::cperm

An integer array of size n (column dimension of the problem matrix) containing the column permutation resulting from fill-in minimization orderings (COLAMD etc). It has to be a pointer to accomodate the case where the user wants to provide his own permutation.

Definition at line 60 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::fcol

Contains the list of columns indices for each front.

Definition at line 102 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::fcol_ptr

Contains pointers to the list of column indices fcol. Specifically, the list of column indices for front i is fcol(fcol_ptr(i):fcol_ptr(i+1)-1)

Definition at line 105 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::icperm

Inverse column permutation. icperm(i)=k means that column i is eliminated at k-th step.

Definition at line 63 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::leaves

A list of leaf nodes where to start the numerical factorization from. A leaf is defined as a node which only has small children.

Definition at line 108 of file qrm_adata_mod.F90.

integer qrm_adata_mod::qrm_adata_type::ncsing =0

The number of column singletons found.

Definition at line 115 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::nfrows

nfrows(i)=k means that the frontal matrix related to node i has k rows (the number of columns is rc(i))

Definition at line 84 of file qrm_adata_mod.F90.

integer qrm_adata_mod::qrm_adata_type::nleaves =0

The number of leaves present in the tree.

Definition at line 110 of file qrm_adata_mod.F90.

integer qrm_adata_mod::qrm_adata_type::nnodes =0

The number of nodes in the elimination tree, i.e., the number of frontal matrices.

Definition at line 113 of file qrm_adata_mod.F90.

integer qrm_adata_mod::qrm_adata_type::nrsing =0

The number of row singletons found.

Definition at line 117 of file qrm_adata_mod.F90.

logical qrm_adata_mod::qrm_adata_type::ok =.false.

it is set to .true. if the analysis is done (with success), to .false. otherwise

Definition at line 119 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::parent

An integer array of size nnodes containing the assembly tree. parent(i)=k means that node k is the father of node i.

Definition at line 76 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::rc

rc(i) contains the rowcount for the rows in node number i. This array is of size nnodes

Definition at line 73 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::rperm

This is an integer array containing a row permutation computed in order to have the original matrix in a "stair" format. See em>qrm_rowperm</em>@endlink.

Definition at line 66 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::small

An array of size nnodes which flags (with 1 whereas everything is =0) the roots of subtrees that are treated sequentially in the numerical factorization.

Definition at line 100 of file qrm_adata_mod.F90.

integer, dimension(:), allocatable qrm_adata_mod::qrm_adata_type::stair

defines the staircase structure of the original matrix. Assuming A(rperm,cperm)

            |x       |
            |x       |     in this case stair would be:
            | x      |     stair=(/ 2, 5, 7, 7, 9 /)
            | x      |
            | x      |
            |  xx    |
            |  xx    |
            |    x   |
            |    x   |

Definition at line 97 of file qrm_adata_mod.F90.


The documentation for this type was generated from the following file: