


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.


0001 function e = SPAimerr(c); 0002 % e = aimerr(c); 0003 % 0004 % Interpret the return codes generated by the aim routines. 0005 % 0006 % The return code c = 2 is used by aim_schur.m but not by aim_eig.m. 0007 0008 % Original author: Gary Anderson 0009 % Original file downloaded from: 0010 % http://www.federalreserve.gov/Pubs/oss/oss4/code.html 0011 % Adapted for Dynare by Dynare Team. 0012 % 0013 % This code is in the public domain and may be used freely. 0014 % However the authors would appreciate acknowledgement of the source by 0015 % citation of any of the following papers: 0016 % 0017 % Anderson, G. and Moore, G. 0018 % "A Linear Algebraic Procedure for Solving Linear Perfect Foresight 0019 % Models." 0020 % Economics Letters, 17, 1985. 0021 % 0022 % Anderson, G. 0023 % "Solving Linear Rational Expectations Models: A Horse Race" 0024 % Computational Economics, 2008, vol. 31, issue 2, pages 95-113 0025 % 0026 % Anderson, G. 0027 % "A Reliable and Computationally Efficient Algorithm for Imposing the 0028 % Saddle Point Property in Dynamic Models" 0029 % Journal of Economic Dynamics and Control, 2010, vol. 34, issue 3, 0030 % pages 472-489 0031 0032 if(c==1) e='Aim: unique solution.'; 0033 elseif(c==2) e='Aim: roots not correctly computed by real_schur.'; 0034 elseif(c==3) e='Aim: too many big roots.'; 0035 elseif(c==35) e='Aim: too many big roots, and q(:,right) is singular.'; 0036 elseif(c==4) e='Aim: too few big roots.'; 0037 elseif(c==45) e='Aim: too few big roots, and q(:,right) is singular.'; 0038 elseif(c==5) e='Aim: q(:,right) is singular.'; 0039 elseif(c==61) e='Aim: too many exact shiftrights.'; 0040 elseif(c==62) e='Aim: too many numeric shiftrights.'; 0041 else e='Aimerr: return code not properly specified'; 0042 end 0043 0044 return