From 76a5e1c022f5a00d7e738f6a3ae95525bb4bcec6 Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer <jpfeifer@gmx.de> Date: Mon, 22 Jan 2024 12:03:54 +0100 Subject: [PATCH] gsa: add proper check for correctness of qz_criterium with unit roots Critical for stability mapping --- matlab/+gsa/run.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/matlab/+gsa/run.m b/matlab/+gsa/run.m index 3d38191e82..5d415e10c8 100644 --- a/matlab/+gsa/run.m +++ b/matlab/+gsa/run.m @@ -150,6 +150,11 @@ end [~,~,~,~,oo_.dr,M_.params] = dynare_resolve(M_,options_,oo_.dr,oo_.steady_state,oo_.exo_steady_state,oo_.exo_det_steady_state); +if isfield(oo_.dr,'eigval') && any(abs(oo_.dr.eigval-1)<abs(1-options_.qz_criterium)) && options_.qz_criterium<1 + fprintf('\ngsa: The model features a unit root, but qz_criterium<1. Check whether that is intended.') + fprintf('\ngsa: If not, use the diffuse_filter-option.\n') +end + options_gsa = set_default_option(options_gsa,'identification',0); if options_gsa.identification options_gsa.redform=0; -- GitLab