36 #include "qrm_common.h"
63 integer,
pointer :: cperm_in(:)
69 character(len=*),
parameter :: name=
'qrm_do_ordering'
73 call
qrm_get(graph,
'qrm_ordering', iord)
75 if(iord .eq. qrm_auto_)
then
90 if(.not.
associated(cperm_in))
then
95 __qrm_check_ret(name,
'qrm_check_perm',9999)
96 cperm(1:graph%n) = cperm_in(1:graph%n)
100 #if defined (have_colamd)
108 #if defined (have_metis)
116 #if defined (have_scotch)
123 call
qrm_err_push(9,
'qrm_do_ordering',ied=(/iord, 0, 0, 0, 0/))
132 if(err_act .eq. qrm_abort_)
then
This module contains all the error management routines and data.
subroutine _qrm_do_colamd(graph, cperm)
This subroutine computes the fill reducing ordering using COLAMD.
This module contains the interfaces of all non-typed routines.
This module contains the generic interfaces for all the analysis routines.
subroutine _qrm_do_ordering(graph, cperm, cperm_in)
This routine computes (through different methods) a column permutation of the input matrix in order t...
subroutine qrm_err_act_restore(err_act)
Restores the value of the qrm_err_act variable.
integer function qrm_choose_ordering()
subroutine qrm_err_check()
This subroutine checks the errors stack. If something is found all the entries in the stack are poppe...
subroutine _qrm_do_metis(graph, cperm)
Please refer to:
subroutine _qrm_do_scotch(graph, cperm)
Please refer to:
This type defines the data structure used to store a matrix.
This module contains the definition of the basic sparse matrix type and of the associated methods...
Generic interface for the ::qrm_check_cperm routine.
This module implements the memory handling routines. Pretty mucch allocations and deallocations...
Generif interface for the ::_qrm_pgeti, ::_qrm_pgetr and.
subroutine qrm_err_push(code, sub, ied, aed)
This subroutine pushes an error on top of the stack.
subroutine qrm_err_act_save(err_act)
Saves a copy of the qrm_err_act variable.