diff --git a/matlab/optimization/solve1.m b/matlab/optimization/solve1.m index 5c2cd1246..fa2cac7c2 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;