4%
id is a structure (see details in initmumps.m and
MUMPS documentation)
5%
mat is optional
if the job is -1 or -2
6%
mat is a square sparse matrice
7% information are
return in
id fields
9% Use help mumps_help
for detailed information
12errmsg = nargoutchk(1,1,nargout);
22 disp(
'Uninitialized instance');
26 disp(
'You are trying to call z/d version on a d/z instance');
29 zmumpsmex(
id.
SYM,
id.
JOB,
id.
ICNTL,
id.
CNTL,
id.
PERM_IN,
id.
COLSCA,
id.
ROWSCA,
id.
RHS,
id.
VAR_SCHUR,
id.
INST,
id.
REDRHS,
id.
KEEP,
id.
DKEEP);
37 disp(
'Already initialized instance');
40 [inform,rinform,sol,inst,schur,redrhs,pivnul_list,sym_perm,uns_perm,icntl,cntl,colsca_out,rowsca_out,keep_out,dkeep_out] =
zmumpsmex(
id.
SYM,
id.
JOB,
id.
ICNTL,
id.
CNTL,
id.
PERM_IN,
id.
COLSCA,
id.
ROWSCA,
id.
RHS,
id.
VAR_SCHUR,
id.
INST,
id.
REDRHS,
id.
KEEP,
id.
DKEEP);
47 id.PIVNUL_LIST = pivnul_list;
48 id.SYM_PERM = sym_perm;
49 id.UNS_PERM = uns_perm;
53 id.COLSCA = colsca_out;
54 id.ROWSCA = rowsca_out;
61 disp(
'Uninitialized instance');
66 disp(
'You are trying to call z/d version on a d/z instance');
70[inform,rinform,sol,inst,schur,redrhs,pivnul_list,sym_perm,uns_perm,icntl,cntl,colsca_out,rowsca_out,keep_out,dkeep_out] =
zmumpsmex(
id.
SYM,
id.
JOB,
id.
ICNTL,
id.
CNTL,
id.
PERM_IN,
id.
COLSCA,
id.
ROWSCA,
id.
RHS,
id.
VAR_SCHUR,
id.
INST,
id.
REDRHS,
id.
KEEP,
id.
DKEEP,
mat);
75if(
id.
JOB == 2 |
id.
JOB == 4 |
id.
JOB == 6)
79 id.SCHUR = triu(schur)+tril(schur',-1);
83id.PIVNUL_LIST = pivnul_list;
84id.SYM_PERM(sym_perm) = [1:size(mat,1)];
85id.UNS_PERM = uns_perm;
!This file is part of MUMPS
end diagonal values have been computed in the(sparse) matrix id.SOL
end[inform, rinform, sol, inst, schur, redrhs, pivnul_list, sym_perm, uns_perm, icntl, cntl, colsca_out, rowsca_out, keep_out, dkeep_out]
we set the rigth hand side id RHS
if(norm(mat *id.SOL - id.RHS, 'inf') > sqrt(eps)) disp('WARNING els disp)('SOLUTION OK')
for(i8=*sizetab-1;i8 >=0;i8--)
end zmumpsmex(id.SYM, id.JOB, id.ICNTL, id.CNTL, id.PERM_IN, id.COLSCA, id.ROWSCA, id.RHS, id.VAR_SCHUR, id.INST, id.REDRHS, id.KEEP, id.DKEEP)