Commit b79f7e55 authored by Houtan Bastani's avatar Houtan Bastani
Browse files

Merge pull request #513 from JohannesPfeifer/improved_messages

Add more explicit information in case of singularity problem
parents 07137e80 8282e76d
......@@ -85,6 +85,7 @@ end
%
% singular Jacobian of static model
%
singularity_problem = 0;
if ~isfield(M,'block_structure_stat')
nb = 1;
else
......@@ -107,6 +108,7 @@ for b=1:nb
end
rank_jacob = rank(jacob);
if rank_jacob < size(jacob,1)
singularity_problem = 1;
disp(['model_diagnostic: the Jacobian of the static model is ' ...
'singular'])
disp(['there is ' num2str(endo_nbr-rank_jacob) ...
......@@ -143,4 +145,9 @@ for b=1:nb
end
end
end
if singularity_problem
fprint('The presence of a singularity problem typically indicates that there is one\n')
fprint('redundant equation entered in the model block, while another non-redundant equation\n')
fprint('is missing. The problem often derives from Walras Law.\n')
end
......@@ -36,7 +36,8 @@ if ~noprint
case 2
error(['The generalized Schur (QZ) decomposition failed. ' ...
'For more information, see the documentation for Lapack function dgges: info=' ...
int2str(info(2)) ', n=' int2str(info(3))])
int2str(info(2)) ', n=' int2str(info(3)) ...
'. You can also run model_diagnostics to get more information on what may cause this problem.'])
case 3
error(['Blanchard Kahn conditions are not satisfied: no stable' ...
' equilibrium'])
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment