diff --git a/matlab/optimization/solve1.m b/matlab/optimization/solve1.m index 5c2cd12464136755d0251e663b5ff0e0ab7c22ad..fa2cac7c297a44fe020d8601a30c3d58332ac4fc 100644 --- a/matlab/optimization/solve1.m +++ b/matlab/optimization/solve1.m @@ -123,7 +123,11 @@ for its = 1:maxit fjac2=fjac'*fjac; temp=max(sum(abs(fjac2))); if temp>0 - p=-(fjac2+sqrt(nn*eps)*temp*eye(nn))\(fjac'*fvec); + if issparse(fjac) + p=-(fjac2+sqrt(nn*eps)*temp*speye(nn))\(fjac'*fvec); + else + p=-(fjac2+sqrt(nn*eps)*temp*eye(nn))\(fjac'*fvec); + end else errorflag = true; errorcode = 5;