35 #include "qrm_common.h"
63 integer,
target :: cperm(:)
66 subroutine qrm_colamd(n_row, n_col, Alen, A, p, err) bind(c, name='qrm_colamd')
68 integer(c_int), value :: n_row, n_col, alen
69 integer(c_int) :: a(*), p(*), err
76 integer(c_int), value :: nnz, n_row, n_col
77 integer(c_int) :: alen
82 integer ::
i, idx, cnt, tmp, alen, err
85 character(len=*),
parameter :: name=
'qrm_do_colamd'
98 __qrm_check_ret(name,
'qrm_palloc',9999)
103 __qrm_check_ret(name,
'qrm_spmat_copy',9999)
106 gcopy%irn(1:gcopy%nz) = gcopy%irn(1:gcopy%nz)-1
107 gcopy%jptr(1:gcopy%n+1) = gcopy%jptr(1:gcopy%n+1)-1
110 call
qrm_colamd(gcopy%m, gcopy%n, alen, gcopy%irn, gcopy%jptr, err)
121 __qrm_check_ret(name,
'qrm_spmat_destroy',9999)
128 if(err_act .eq. qrm_abort_)
then
This module contains all the error management routines and data.
void qrm_colamd(int n_row, int n_col, int Alen, int *A, int *p, int *err)
subroutine qrm_err_act_restore(err_act)
Restores the value of the qrm_err_act variable.
This module contains the definition of the basic sparse matrix type and of the associated methods...
subroutine qrm_err_check()
This subroutine checks the errors stack. If something is found all the entries in the stack are poppe...
subroutine dqrm_spmat_destroy(qrm_spmat, all)
This subroutine destroyes a qrm_spmat instance.
subroutine dqrm_do_colamd(graph, cperm)
This subroutine computes the fill reducing ordering using COLAMD.
This type defines the data structure used to store a matrix.
subroutine dqrm_do_ordering(graph, cperm, cperm_in)
This routine computes (through different methods) a column permutation of the input matrix in order t...
This module contains the generic interfaces for all the analysis routines.
This module implements the memory handling routines. Pretty mucch allocations and deallocations...
Generic interface for the qrm_palloc_i, qrm_palloc_2i, qrm_palloc_s, qrm_palloc_2s, qrm_palloc_d, qrm_palloc_2d, qrm_palloc_c, qrm_palloc_2c, qrm_palloc_z, qrm_palloc_2z, routines.
void qrm_colamd_recommended(int *alen, int nnz, int n_row, int n_col)
subroutine dqrm_spmat_copy(in_mat, out_mat, values)
This subroutine makes a copy of a matrix. Optionally the values may be ignored (this comes handy duri...
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.