2

I am simulating a dynamic model which looks like the following:

$$ R(t+1) = AR(t)A' - \Gamma + I $$

The matrices $A, \Gamma, I$ are all 3x3 and known matrices. When I perform the simulation of this model, I notice that the values of $R$ converge. Therefore, I am trying to theoretically determine the equilibrium point. This means that I am trying to solve the following formula for $R^*$ (the equilibrium point of $R$):

$$ R^* = AR^*A' - \Gamma +I $$ For simplification $$ C := \Gamma +I, $$

Which gives $$ R^* = AR^*A' - C $$

I have tried to solve this formula by rewriting it in the form of a Sylvester equation which looks likes the following:

$$ ZX+XB = F $$

A closed-form solution for vec(X) in this equation is namely known. This would therefore allow me to determine the equilibrium point. I have rewritten the second equation (with the equilibrium point) in the following manner:

$$ B = A', X = R^*, Z = - A^{-1}, F = A^{-1}C $$

If you use these transformations in the Sylvester equation you achieve:

$$ - A^{-1}R^*+R^* A' = A^{-1}C $$ $$ A^{-1}R^* = R^*A' - A^{-1}C $$

If you then premultiply bij $A$ you get $$ R^* = AR^*A' -C $$

By being able to rewriting my equilibrium equation in a Sylvester equation, I was under the assumption that I could solve for $R^*$ by the solution to the Sylvester equation namely:

$$ (I\otimes Z+B'\otimes I)vec(X) = vec(F) $$ And then you can solve by

$$ vec(X) = (I\otimes Z+B'\otimes I)^{-1}vec(F), $$ by inserting the variables that I have defined earlier as B, X,Z and F. However, when I compare this theoretical result with my simulations result I get different answers for the convergence point. Therefore, I am wondering whether I made any mistake or miscalculation. Could you help me?

Edit: I have added the code to make the question more comprehensive. I have checked whether the answer that I get for R solves the equation ZX + XB = F and this is the case. So the mistake must be in the part where I transform the equilibrium formula into the Sylvester equation I think..

clc 
clear all
n=3;

A = [0 -0.4 0.4; -0.4 0 -0.4; 0.4 -0.4 0]; Gamma = [0 0 -1.6; 0 0 0; 0 0 -1.6]; I = eye(3);

R_etilde = zeros(n);

for t = 1:30 R_etilde(:,:,t+1) = AR_etilde(:,:,t)A' - Gamma + I; end

Z = -inv(A); B = A'; F = inv(A)(Gamma + I); M = kron(I,Z)+kron(B',I); vecF = F(:);
vecR = inv(M)
vecF; R = reshape(vecR, [3,3]);

  • You take the inverse of $M:=I\otimes Z+B^T\otimes I$ but are you sure that your problem doesn't come from an almost non-invertibility of $M$ ? Have you computed its condition number ? – Jean Marie Feb 17 '22 at 10:19
  • @JeanMarie you can check this by calculating the determinant of $M$ right? Because the determinant from my simulation is -259.4690. This should mean that it is invertible right? – Marcelle Feb 17 '22 at 10:26
  • A non-zero determinant isn't the best criteria. Do you know the notion of condition number ("cond" in Matlab for example) which is the ratio $\sigma_1/\sigma_n$ of the largest to the smallest singular value ? If it's very large say above 1000, it means that inverting will magnify the errors by a factor with magnitude $\approx$ this condition number. – Jean Marie Feb 17 '22 at 10:33
  • Thank you, I have not heard of this concept before but I have tried cond(M) in MatLab and this gives 7.3333, so this should still be okay I think? – Marcelle Feb 17 '22 at 10:34
  • Yes, it's a very good condition number: you can proceed, the problem is not there – Jean Marie Feb 17 '22 at 10:35
  • Another potential source of problems : common eigenvalues between $Z$ and $-B$ ; see here – Jean Marie Feb 17 '22 at 10:44
  • @JeanMarie Thank you for thinking along, but they do not share any $Z$ and $-B$ do not share any eigenvalues.. I cannot think of anything that is wrong with my calculations/code – Marcelle Feb 17 '22 at 11:00
  • A remark on your Matlab program: the presence of the third index "t" in R_etilde(:,:,t+1) = A*R_etilde(:,:,t)*A' - Gamma + I; looks me strange, especially when I see the initializing step: I would have written R_etilde = A*R_etilde*A' - Gamma + I;... (keeping track of the different steps elsewhere). – Jean Marie Feb 17 '22 at 11:14
  • I got a hint and was able to solve it! I defined $C$ wrongly, this definitions results in $R^=AR^A'−\Gamma-I$, so after redefining it correctly it works :) – Marcelle Feb 17 '22 at 13:43
  • Happy end ..... – Jean Marie Feb 17 '22 at 13:44

0 Answers0