From b92b342c7b97af9d826650a1319432f6e9b677fc Mon Sep 17 00:00:00 2001 From: Houtan Bastani Date: Thu, 14 Feb 2019 10:55:08 +0100 Subject: [PATCH] sur, pooled_fgls: user inv(chol()) instead of chol(inv()) --- matlab/ols/pooled_fgls.m | 2 +- matlab/ols/sur.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/matlab/ols/pooled_fgls.m b/matlab/ols/pooled_fgls.m index 830257bdc..0b13b6cde 100644 --- a/matlab/ols/pooled_fgls.m +++ b/matlab/ols/pooled_fgls.m @@ -55,7 +55,7 @@ for i = 1:maxit resid = oo_.pooled_fgls.Y - oo_.pooled_fgls.X * beta0; resid = reshape(resid, oo_.pooled_fgls.dof, neqs); vcv = resid'*resid/oo_.pooled_fgls.dof; - kLeye = kron(chol(inv(vcv)), eye(oo_.pooled_fgls.dof)); + kLeye = kron(inv(chol(vcv))', eye(oo_.pooled_fgls.dof)); [q, r] = qr(kLeye*oo_.pooled_fgls.X, 0); oo_.pooled_fgls.beta = r\(q'*kLeye*oo_.pooled_fgls.Y); if max(abs(beta0 - oo_.pooled_fgls.beta)) < tol diff --git a/matlab/ols/sur.m b/matlab/ols/sur.m index a379c42e5..349ca9891 100644 --- a/matlab/ols/sur.m +++ b/matlab/ols/sur.m @@ -137,7 +137,7 @@ for i = 1:maxit resid = Y.data - X.data * beta0; resid = reshape(resid, oo_.sur.(model_name).dof, neqs); vcv = resid'*resid/oo_.sur.(model_name).dof; - kLeye = kron(chol(inv(vcv)), eye(oo_.sur.(model_name).dof)); + kLeye = kron(inv(chol(vcv))', eye(oo_.sur.(model_name).dof)); [q, r] = qr(kLeye*X.data, 0); oo_.sur.(model_name).beta = r\(q'*kLeye*Y.data); if max(abs(beta0 - oo_.sur.(model_name).beta)) < tol