From 24fbc0d923e5f8db8f5ea0dd895368970e252742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Argos=29?= Date: Mon, 12 Feb 2024 17:48:11 +0100 Subject: [PATCH] Create a sparse identifty matrix when it makes sense. --- matlab/optimization/solve1.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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;