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)
void qrm_colamd(int n_row, int n_col, int Alen, int *A, int *p, int *err)
subroutine qrm_err_push(code, sub, ied, aed)
This subroutine pushes an error on top of the stack.
subroutine _qrm_do_colamd(graph, cperm)
This subroutine computes the fill reducing ordering using COLAMD.
subroutine _qrm_spmat_destroy(qrm_spmat, all)
This subroutine destroyes a qrm_spmat instance.
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_save(err_act)
Saves a copy of the qrm_err_act variable.
This module contains all the error management routines and data.
integer, parameter qrm_abort_
Possible actions to be performed upon detection of an error.
This module contains the generic interfaces for all the analysis routines.
subroutine qrm_err_check()
This subroutine checks the errors stack. If something is found all the entries in the stack are poppe...
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_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 _qrm_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...
This module implements the memory handling routines. Pretty mucch allocations and deallocations...
subroutine qrm_err_act_restore(err_act)
Restores the value of the qrm_err_act variable.