


function eval = ordeig(t)
Computes the eigenvalues of a quasi-triangular matrix
INPUTS
t: quasi-triangular matrix
OUTPUTS
eigs: eigenvalues
SPECIAL REQUIREMENTS
none

0001 function eigs = ordeig(t) 0002 % function eval = ordeig(t) 0003 % Computes the eigenvalues of a quasi-triangular matrix 0004 % 0005 % INPUTS 0006 % t: quasi-triangular matrix 0007 % 0008 % OUTPUTS 0009 % eigs: eigenvalues 0010 % 0011 % SPECIAL REQUIREMENTS 0012 % none 0013 0014 % Copyright (C) 2003-2009 Dynare Team 0015 % 0016 % This file is part of Dynare. 0017 % 0018 % Dynare is free software: you can redistribute it and/or modify 0019 % it under the terms of the GNU General Public License as published by 0020 % the Free Software Foundation, either version 3 of the License, or 0021 % (at your option) any later version. 0022 % 0023 % Dynare is distributed in the hope that it will be useful, 0024 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0025 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0026 % GNU General Public License for more details. 0027 % 0028 % You should have received a copy of the GNU General Public License 0029 % along with Dynare. If not, see <http://www.gnu.org/licenses/>. 0030 0031 n = size(t,2); 0032 eigs = zeros(n,1); 0033 i = 1; 0034 while i <= n 0035 if i == n 0036 eigs(n) = t(n,n); 0037 break; 0038 elseif t(i+1,i) == 0 0039 eigs(i) = t(i,i); 0040 i = i+1; 0041 else 0042 k = i:i+1; 0043 eigs(k) = eig(t(k,k)); 0044 i = i+2; 0045 end 0046 end