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

Go to the source code of this file.

Functions/Subroutines

subroutine dqrm_rowperm (graph, cperm, rperm, nvar, stair)
 This routine computes a row permutation that puts the input matrix into a staircase format. More...
 

Function/Subroutine Documentation

subroutine dqrm_rowperm ( type(dqrm_spmat_type)  graph,
integer, dimension(:)  cperm,
integer, dimension(:)  rperm,
integer, dimension(:)  nvar,
integer, dimension(:)  stair 
)

This routine computes a row permutation that puts the input matrix into a staircase format.

This subroutine computes a row permutation rperm such that A(rperm, cperm) is as much as possible upper triangular. The idea is to have someting like:

   |x       |
   |x       |     in this case stair would be:
   | x      |     stair=(/ 2, 5, 7, 7, 9 /)
   | x      |
   | x      |
   |  xx    |
   |  xx    |
   |    x   |
   |    x   |
Parameters
[in]grapha qrm_spmat_type containing the matrix
[in]cperma column permutation
[out]rpermthe computed row permutation
[in]nvarnvar(i) is the number of variables in the node whose principal variable is i
[out]stairstair(i) is the number of rows in step i of the stair structure computed on the input graph

Definition at line 68 of file dqrm_rowperm.F90.

References i, qrm_error_mod::qrm_err_act_restore(), qrm_error_mod::qrm_err_act_save(), and qrm_error_mod::qrm_err_check().

Referenced by dqrm_analyse().