diff --git a/Solver/SDPT3soln_SEDUMIsoln.m b/Solver/SDPT3soln_SEDUMIsoln.m index bffd9cf..afbcccd 100755 --- a/Solver/SDPT3soln_SEDUMIsoln.m +++ b/Solver/SDPT3soln_SEDUMIsoln.m @@ -63,6 +63,7 @@ %% extract semidefinite cone blk %% per = []; +sblk = []; len = 0; for p = 1:size(blk,1) pblk = blk(p,:); diff --git a/Solver/blkbarrier.m b/Solver/blkbarrier.m index ca50a50..714c498 100755 --- a/Solver/blkbarrier.m +++ b/Solver/blkbarrier.m @@ -32,7 +32,7 @@ gamX = sqrt(qops(pblk,X{p},X{p},2)); gamZ = sqrt(qops(pblk,Z{p},Z{p},2)); tmp(1) = -sum(vpsub.*log(gamX(idx))); - tmp(2) = sum(vpsub.*log(gamZ(idx)) + vpsub); + tmp(2) = sum(vpsub.*log(gamZ(idx)) + vpsub.*(1-log(vpsub))); elseif strcmp(pblk{1},'l') logX = log(X{p}); logZ = log(Z{p}); tmp(1) = -sum(vpsub.*logX(idx)); diff --git a/Solver/linsysolve.m b/Solver/linsysolve.m index bcb7822..9836399 100755 --- a/Solver/linsysolve.m +++ b/Solver/linsysolve.m @@ -217,8 +217,8 @@ L.Lt = L.L'; end if (solvesys) - [xx,resnrm,solve_ok] = symqmr(coeff,rhs,L,[],[],printlevel); - %%[xx,resnrm,solve_ok] = mybicgstab(coeff,rhs,L,[],[],printlevel); + %%[xx,resnrm,solve_ok] = symqmr(coeff,rhs,L,[],[],printlevel); + [xx,resnrm,solve_ok] = mybicgstab(coeff,rhs,L,[],[],printlevel); if (solve_ok<=0) && (printlevel) fprintf('\n warning: bicgstab fails: %3.1f,',solve_ok); end