| [mrelas,nvars,lmx,lbm,nredc,info,ienter,ileave,iopt,npp,jstrt,ibasis,imat,ibrc,ipr,iwr,ind,ibb,anorm,eps,uu,gg,rprnrm,erdnrm,dulnrm,theta,costsc,xlamda,rhsnrm,amat,basmat,csc,wr,rprim,ww,bu,bl,rhs,erd,erp,rz,rg,colnrm,costs,primal,duals,singlr,redbas,zero |
function [mrelas,nvars,lmx,lbm,nredc,info,ienter,ileave,iopt,npp,jstrt,ibasis,imat,ibrc,ipr,iwr,ind,ibb,anorm,eps,uu,gg,rprnrm,erdnrm,dulnrm,theta,costsc,xlamda,rhsnrm,amat,basmat,csc,wr,rprim,ww,bu,bl,rhs,erd,erp,rz,rg,colnrm,costs,primal,duals,singlr,redbas,zerolv,stpedg]=dplpmu(mrelas,nvars,lmx,lbm,nredc,info,ienter,ileave,iopt,npp,jstrt,ibasis,imat,ibrc,ipr,iwr,ind,ibb,anorm,eps,uu,gg,rprnrm,erdnrm,dulnrm,theta,costsc,xlamda,rhsnrm,amat,basmat,csc,wr,rprim,ww,bu,bl,rhs,erd,erp,rz,rg,colnrm,costs,primal,duals,singlr,redbas,zerolv,stpedg);
persistent aij alpha cnorm gamma gq i ibas ihi il1 ilow ipage iplace iu1 j k key lpg n20002 n20018 n20121 nerr nnegrc npr001 npr003 one pagepl rcost rzj scalr trans two wp zero ;
if isempty(i), i=0; end;
if isempty(ibas), ibas=0; end;
if isempty(ihi), ihi=0; end;
if isempty(il1), il1=0; end;
if isempty(ilow), ilow=0; end;
if isempty(ipage), ipage=0; end;
if isempty(iplace), iplace=0; end;
if isempty(iu1), iu1=0; end;
if isempty(j), j=0; end;
if isempty(k), k=0; end;
if isempty(key), key=0; end;
if isempty(lpg), lpg=0; end;
if isempty(n20002), n20002=0; end;
if isempty(n20018), n20018=0; end;
if isempty(n20121), n20121=0; end;
if isempty(nerr), nerr=0; end;
if isempty(nnegrc), nnegrc=0; end;
if isempty(npr001), npr001=0; end;
if isempty(npr003), npr003=0; end;
%***BEGIN PROLOGUE DPLPMU
%***SUBSIDIARY
%***PURPOSE Subsidiary to DSPLP
%***LIBRARY SLATEC
%***TYPE doubleprecision (SPLPMU-S, DPLPMU-D)
%***AUTHOR (UNKNOWN)
%***DESCRIPTION
%
% THE EDITING REQUIRED TO CONVERT THIS SUBROUTINE FROM SINGLE TO
% doubleprecision INVOLVES THE FOLLOWING CHARACTER STRING CHANGES.
%
% use AN EDITING COMMAND (CHANGE) /STRING-1/(TO)STRING-2/.
% /REAL (12 BLANKS)/doubleprecision/,
% /SASUM/DASUM/,/SCOPY/DCOPY/,/SDOT/DDOT/,
% /.E0/.D0/
%
% THIS SUBPROGRAM IS FROM THE DSPLP( ) PACKAGE. IT PERFORMS THE
% TASKS OF UPDATING THE PRIMAL SOLUTION, EDGE WEIGHTS, REDUCED
% COSTS, AND MATRIX DECOMPOSITION.
% IT IS THE MAIN PART OF THE PROCEDURE (MAKE MOVE AND UPDATE).
%
% REVISED 821122-1100
% REVISED YYMMDD
%
%***SEE ALSO DSPLP
%***ROUTINES CALLED DASUM, DCOPY, DDOT, DPLPDM, DPNNZR, DPRWPG, IDLOC,
% LA05BD, LA05CD, XERMSG
%***REVISION HISTORY (YYMMDD)
% 811215 DATE WRITTEN
% 890531 Changed all specific intrinsics to generic. (WRB)
% 890605 Removed unreferenced labels. (WRB)
% 890606 Changed references from IPLOC to IDLOC. (WRB)
% 890606 Removed unused COMMON block LA05DD. (WRB)
% 891214 Prologue converted to Version 4.0 format. (BAB)
% 900315 CALLs to XERROR changed to CALLs to XERMSG. (THJ)
% 900328 Added TYPE section. (WRB)
%***end PROLOGUE DPLPMU
ibasis_shape=size(ibasis);ibasis=reshape(ibasis,1,[]);
imat_shape=size(imat);imat=reshape(imat,1,[]);
ibrc_orig=ibrc;ibrc_shape=[lbm,2];ibrc=reshape([ibrc_orig(1:min(prod(ibrc_shape),numel(ibrc_orig))),zeros(1,max(0,prod(ibrc_shape)-numel(ibrc_orig)))],ibrc_shape);
ipr_shape=size(ipr);ipr=reshape(ipr,1,[]);
iwr_shape=size(iwr);iwr=reshape(iwr,1,[]);
ind_shape=size(ind);ind=reshape(ind,1,[]);
ibb_shape=size(ibb);ibb=reshape(ibb,1,[]);
if isempty(aij), aij=0; end;
if isempty(alpha), alpha=0; end;
if isempty(gamma), gamma=0; end;
if isempty(gq), gq=0; end;
if isempty(one), one=0; end;
if isempty(rzj), rzj=0; end;
if isempty(scalr), scalr=0; end;
if isempty(two), two=0; end;
if isempty(wp), wp=0; end;
if isempty(zero), zero=0; end;
amat_shape=size(amat);amat=reshape(amat,1,[]);
basmat_shape=size(basmat);basmat=reshape(basmat,1,[]);
csc_shape=size(csc);csc=reshape(csc,1,[]);
wr_shape=size(wr);wr=reshape(wr,1,[]);
rprim_shape=size(rprim);rprim=reshape(rprim,1,[]);
ww_shape=size(ww);ww=reshape(ww,1,[]);
bu_shape=size(bu);bu=reshape(bu,1,[]);
bl_shape=size(bl);bl=reshape(bl,1,[]);
rhs_shape=size(rhs);rhs=reshape(rhs,1,[]);
erd_shape=size(erd);erd=reshape(erd,1,[]);
erp_shape=size(erp);erp=reshape(erp,1,[]);
rz_shape=size(rz);rz=reshape(rz,1,[]);
rg_shape=size(rg);rg=reshape(rg,1,[]);
costs_shape=size(costs);costs=reshape(costs,1,[]);
primal_shape=size(primal);primal=reshape(primal,1,[]);
duals_shape=size(duals);duals=reshape(duals,1,[]);
colnrm_shape=size(colnrm);colnrm=reshape(colnrm,1,[]);
if isempty(rcost), rcost=0; end;
if isempty(cnorm), cnorm=0; end;
if isempty(pagepl), pagepl=false; end;
if isempty(trans), trans=false; end;
%
%***FIRST EXECUTABLE STATEMENT DPLPMU
[mrelas,nvars,lmx,lbm,nredc,info,ienter,ileave,iopt,npp,jstrt,ibasis,imat,ibrc,ipr,iwr,ind,ibb,anorm,eps,uu,gg,rprnrm,erdnrm,dulnrm,theta,costsc,xlamda,rhsnrm,amat,basmat,csc,wr,rprim,ww,bu,bl,rhs,erd,erp,rz,rg,colnrm,costs,primal,duals,singlr,redbas,zerolv,stpedg]=splpmu(mrelas,nvars,lmx,lbm,nredc,info,ienter,ileave,iopt,npp,jstrt,ibasis,imat,ibrc,ipr,iwr,ind,ibb,anorm,eps,uu,gg,rprnrm,erdnrm,dulnrm,theta,costsc,xlamda,rhsnrm,amat,basmat,csc,wr,rprim,ww,bu,bl,rhs,erd,erp,rz,rg,colnrm,costs,primal,duals,singlr,redbas,zerolv,stpedg);
end
|
|