Home > matlab > missing > ordeig > ordeig.m

ordeig

PURPOSE ^

function eval = ordeig(t)

SYNOPSIS ^

function eigs = ordeig(t)

DESCRIPTION ^

 function eval = ordeig(t)
 Computes the eigenvalues of a quasi-triangular matrix

 INPUTS
    t:              quasi-triangular matrix

 OUTPUTS
    eigs:           eigenvalues

 SPECIAL REQUIREMENTS
    none

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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

Generated on Tue 22-May-2012 02:40:23 by m2html © 2005