Description Usage Arguments Details Value
Uses the qz decomposition of Γ_0 , Γ_1 from Sims' canoncial form to decouple into a stable and an unstable part.
The function arranges the equations such that all generalized eigenvalues in the QZ-decomposition which are larger than the given threshold
are in the bottom right block.
To be more precise, the ratios of the diagonal elements of the upper-triangular matrices in the QZ-decomposition for which
Ω_{i,i} / Λ_{i,i} > threshold
holds, are in the bottom right corner.
The functions ensures that the products t(Q)*
Λ *t(Z)
and t(Q)*
Ω *t(Z)
remains unchanged.
1 2 | qz_ordered(threshold = 1.01, my_Gamma_0, my_Gamma_1,
tol = sqrt(.Machine$double.eps))
|
threshold |
Threshold to define when a generalized eigenvalue is considered as unstable |
my_Gamma_0 |
Matrix from Sims' canonical form |
my_Gamma_1 |
Matrix from Sims' canonical form |
tol |
Numeric tolerance level. Default value set to the square root of machine precision. |
Note that the function qz returns the QZ-decomposition such that
( Γ_0, Γ_1 ) = ( VSL * S * Conj(t(VSR)), VSL * T * Conj(t(VSR)) ),
where VSL
and VSR
are Hermitian matrices, and S
and T
are upper triangular matrices (output of Fortran routines).
However, the QZ-decomposition corresponds in Sims' notation ( see page 9, formula (32) in Sims (2001) ) to
( Γ_0, Γ_1 ) = ( Conj(t(Q)) * Λ * Conj(t(Z)) , Conj(t(Q)) * Ω * Conj(t(Z)) ).
The code is intended to keep the notation close to Sims (2001) and adjusts the outputs of the qz function accordingly.
Some parts of this function are based on R code by Christopher A. Sims (22 Feb 2004) which in turn is based on earlier matlab code (finished 27 Apr 2000). Retrieved on 14 June 2017 from http://sims.princeton.edu/yftp/gensys/Rfiles/.
List object containing
Q_unstable: The rows of the orthogonal matrix Q
pertaining to the unstable generalized eigenvalues.
Q_stable: Same for stable generalized eigenvalues.
generalized_ev: The generalized eigenvalues.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.