Cvx for MAXDET problem

Uncategorized
Mar 5, 2013
M

I am using CVX to solve MAXDET problem.
The same code, sometimes i get the result. But sometimes i get error below. Could you please help me with this?

Error: File: mybicgstab.m Line: 48 Column: 9
"p" previously appeared to be used as a function or command, conflicting with
its use here as the name of a variable.
A possible cause of this error is that you forgot to initialize the
variable, or you have initialized it implicitly using load or eval.

Error in ==> HKMcorr at 29
[xx,resnrm,solve_ok] = mybicgstab(coeff,rhs,L,[],[],printlevel);

Error in ==> sqlpmain at 446
[dX,dy,dZ] = HKMcorr(blk,At,par,rp,Rd,sigmu,hRd,…

Error in ==> sqlp at 242
[obj,X3,y,Z3,info,runhist] = …

Error in ==> cvx_run_solver at 46
[ varargout{1:nargout} ] = sfunc( inputs{:} );

Error in ==> cvx_sdpt3>solve at 355
[ obj, xx, y, zz, info ] = cvx_run_solver( @sqlp, blk, Avec, Cvec, b, OPTIONS,
‘obj’, ‘x’, ‘y’, ‘z’, ‘info’, settings, 5 ); %#ok

Error in ==> cvxprob.solve at 242
[ x, status, tprec, iters2, y, z ] = shim.solve( [ At, Anew2 ], [ b ;
bnew ], c, cones, true, prec, solv.settings );

Error in ==> cvx_end at 79
solve( prob );

Z

Check if you have redefined the variable name “P” as the error said. Maybe there is a coincidence that your code is right when p just satisfies the requirement, but actually it is defined somewhere else. Just check if you have multiple usages with the same name p.

M

What happens if you use SeDuMi instead of SDPT3?

M

Yes, I think this is likely to be the problem: there is a function named ‘p’ defined somewhere in the path.