From db2615a4c76537fb6029ee9e113a7903815936eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?= Date: Tue, 20 Nov 2012 14:39:45 +0100 Subject: [PATCH] Use economy-size decomposition option of qr2 routine. --- matlab/particle/fit_gaussian_mixture.m | 2 +- matlab/particle/gaussian_filter_bank.m | 2 +- matlab/particle/gaussian_mixture_filter_bank.m | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/matlab/particle/fit_gaussian_mixture.m b/matlab/particle/fit_gaussian_mixture.m index 6ce2634dc..2ae2089ea 100644 --- a/matlab/particle/fit_gaussian_mixture.m +++ b/matlab/particle/fit_gaussian_mixture.m @@ -22,7 +22,7 @@ for n=1:niters diffs = bsxfun(@minus,X,StateMu(:,j)); tpost = (1/sqrt(new_pr(j)))*sqrt(posterior(j,:)); diffs = bsxfun(@times,diffs,tpost); - [foo,tcov] = qr2(diffs') ; + [foo,tcov] = qr2(diffs',0); StateSqrtP(:,:,j) = tcov'; if check if min(abs(diag(StateSqrtP(:,:,j)))) < MIN_COVAR_SQRT diff --git a/matlab/particle/gaussian_filter_bank.m b/matlab/particle/gaussian_filter_bank.m index da58b663f..fc0639042 100644 --- a/matlab/particle/gaussian_filter_bank.m +++ b/matlab/particle/gaussian_filter_bank.m @@ -100,7 +100,7 @@ if strcmpi(DynareOptions.particle.IS_approximation_method,'cubature') || strcmpi dObserved = bsxfun(@minus,tmp(mf1,:),PredictedObservedMean)'.*sqrt(weights); PredictedStateVarianceSquareRoot = chol(dState'*dState)'; big_mat = [dObserved dState ; [H_lower_triangular_cholesky zeros(number_of_observed_variables,number_of_state_variables)] ] ; - [mat1,mat] = qr2(big_mat) ; + [mat1,mat] = qr2(big_mat,0) ; mat = mat' ; clear('mat1'); PredictedObservedVarianceSquareRoot = mat(1:number_of_observed_variables,1:number_of_observed_variables) ; diff --git a/matlab/particle/gaussian_mixture_filter_bank.m b/matlab/particle/gaussian_mixture_filter_bank.m index 9d7f43fc0..9d931f129 100644 --- a/matlab/particle/gaussian_mixture_filter_bank.m +++ b/matlab/particle/gaussian_mixture_filter_bank.m @@ -107,7 +107,7 @@ if strcmpi(DynareOptions.particle.IS_approximation_method,'cubature') dObserved = (bsxfun(@minus,tmp(mf1,:),PredictedObservedMean)').*sqrt(weights3); PredictedStateVariance = dState'*dState; big_mat = [dObserved dState ; [H_lower_triangular_cholesky zeros(number_of_observed_variables,number_of_state_variables)] ] ; - [mat1,mat] = qr2(big_mat) ; + [mat1,mat] = qr2(big_mat,0) ; mat = mat' ; clear('mat1'); PredictedObservedVarianceSquareRoot = mat(1:number_of_observed_variables,1:number_of_observed_variables) ;