From 044d19c5d227539dbb45991315528df2bdd194e0 Mon Sep 17 00:00:00 2001
From: Michel Juillard <michel.juillard@mjui.fr>
Date: Sun, 4 Sep 2011 14:59:48 +0200
Subject: [PATCH] fixed bug in detection of near 0/0 eigenvalues
---
matlab/dr1.m | 7 ++++---
matlab/print_info.m | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/matlab/dr1.m b/matlab/dr1.m
index 5ac1c7e27..e9976fd6e 100644
--- a/matlab/dr1.m
+++ b/matlab/dr1.m
@@ -99,8 +99,9 @@ if options_.ramsey_policy
end
ys = oo_.steady_state;
if inst_nbr == 1
- nl_func = @(x) dyn_ramsey_static_(x,M_,options_,oo_,it_);
- inst_val = fzero(nl_func,oo_.steady_state(k_inst));
+ nl_func = @(x) dyn_ramsey_static_(x,M_,options_,oo_,it_);
+ % inst_val = fzero(nl_func,oo_.steady_state(k_inst));
+ inst_val = csolve(nl_func,oo_.steady_state(k_inst),'',options_.solve_tolf,100);
else
[inst_val,info1] = dynare_solve('dyn_ramsey_static_', ...
oo_.steady_state(k_inst),0, ...
@@ -380,7 +381,7 @@ else % use original Dynare solver
end
for i=1:nd
if abs(ss(i,i)) < 1e-6 && abs(tt(i,i)) < 1e-6
- info(7) = 1;
+ info(1) = 7;
end
end
return
diff --git a/matlab/print_info.m b/matlab/print_info.m
index 4d7ecc82a..3874c8301 100644
--- a/matlab/print_info.m
+++ b/matlab/print_info.m
@@ -49,7 +49,7 @@ if ~noprint
error(['The Jacobian matrix evaluated at the steady state contains elements ' ...
'that are not real or are infinite'])
case 7
- error(['One of the eigenvalue is is close to 0/0 (the absolute ' ...
+ error(['One of the eigenvalues is is close to 0/0 (the absolute ' ...
'value of numerator and denominator is smaller than 1e-6).'])
case 19
error('The steadystate file did not compute the steady state (inconsistent deep parameters).')
--
GitLab