45 lines
1.5 KiB
Matlab
45 lines
1.5 KiB
Matlab
function e = SPAimerr(c)
|
|
% e = aimerr(c);
|
|
%
|
|
% Interpret the return codes generated by the aim routines.
|
|
%
|
|
% The return code c = 2 is used by aim_schur.m but not by aim_eig.m.
|
|
|
|
% Original author: Gary Anderson
|
|
% Original file downloaded from:
|
|
% http://www.federalreserve.gov/Pubs/oss/oss4/code.html
|
|
% Adapted for Dynare by Dynare Team.
|
|
%
|
|
% This code is in the public domain and may be used freely.
|
|
% However the authors would appreciate acknowledgement of the source by
|
|
% citation of any of the following papers:
|
|
%
|
|
% Anderson, G. and Moore, G.
|
|
% "A Linear Algebraic Procedure for Solving Linear Perfect Foresight
|
|
% Models."
|
|
% Economics Letters, 17, 1985.
|
|
%
|
|
% Anderson, G.
|
|
% "Solving Linear Rational Expectations Models: A Horse Race"
|
|
% Computational Economics, 2008, vol. 31, issue 2, pages 95-113
|
|
%
|
|
% Anderson, G.
|
|
% "A Reliable and Computationally Efficient Algorithm for Imposing the
|
|
% Saddle Point Property in Dynamic Models"
|
|
% Journal of Economic Dynamics and Control, 2010, vol. 34, issue 3,
|
|
% pages 472-489
|
|
|
|
if(c==1) e='Aim: unique solution.';
|
|
elseif(c==2) e='Aim: roots not correctly computed by real_schur.';
|
|
elseif(c==3) e='Aim: too many big roots.';
|
|
elseif(c==35) e='Aim: too many big roots, and q(:,right) is singular.';
|
|
elseif(c==4) e='Aim: too few big roots.';
|
|
elseif(c==45) e='Aim: too few big roots, and q(:,right) is singular.';
|
|
elseif(c==5) e='Aim: q(:,right) is singular.';
|
|
elseif(c==61) e='Aim: too many exact shiftrights.';
|
|
elseif(c==62) e='Aim: too many numeric shiftrights.';
|
|
else e='Aimerr: return code not properly specified';
|
|
end
|
|
|
|
return
|