From dfb6843f549d730944717f933c141f9be91b29e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Ry=C3=BBk=29?=
 <stepan@adjemian.eu>
Date: Wed, 31 Aug 2022 13:06:30 +0200
Subject: [PATCH] Bug fix for mode_compute=6.

We did not keep track of the first and second order moment when calling gmhmaxlik_core.

(cherry picked from commit e5102eeefd177ddab429a8fd6760beb0b78edb3d)
---
 matlab/optimization/gmhmaxlik_core.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/matlab/optimization/gmhmaxlik_core.m b/matlab/optimization/gmhmaxlik_core.m
index 34e24f3558..51a516fcea 100644
--- a/matlab/optimization/gmhmaxlik_core.m
+++ b/matlab/optimization/gmhmaxlik_core.m
@@ -149,6 +149,7 @@ j = 1;
 isux = 0;
 ilogpo2 = - feval(ObjFun,ix2,varargin{:});
 while j<= NumberOfIterations
+    j = j+1;
     proposal = iScale*dd*randn(npar,1) + ix2;
     if all(proposal > mh_bounds(:,1)) && all(proposal < mh_bounds(:,2))
         logpo2 = - feval(ObjFun,proposal,varargin{:});
@@ -175,7 +176,6 @@ while j<= NumberOfIterations
     MeanPar = oldMeanPar + (1/j)*(ix2-oldMeanPar);
     CovJump = CovJump + oldMeanPar*oldMeanPar' - MeanPar*MeanPar' + ...
               (1/j)*(ix2*ix2' - CovJump - oldMeanPar*oldMeanPar');
-    j = j+1;
 end
 dyn_waitbar_close(hh);
 PostVar = CovJump;
-- 
GitLab