From 89fc53716e76802ac0f140894cbc6754fe80798f Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Fri, 17 Mar 2023 12:20:30 -0400 Subject: [PATCH] testsuite: add integration test for model_diagnostics with block --- tests/Makefile.am | 1 + .../example2_block_model_diag.mod | 63 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 tests/model_diagnostics/example2_block_model_diag.mod diff --git a/tests/Makefile.am b/tests/Makefile.am index f6f4d80ff..2913461ca 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -268,6 +268,7 @@ MODFILES = \ identification/correlated_errors/fs2000_corr.mod \ identification/forward_looking/forward_looking_empty_ghx.mod \ identification/forward_looking/forward_looking_varobs_x.mod \ + model_diagnostics/example2_block_model_diag.mod \ simul/example1.mod \ simul/ramst_vec.mod \ simul/Solow_no_varexo.mod \ diff --git a/tests/model_diagnostics/example2_block_model_diag.mod b/tests/model_diagnostics/example2_block_model_diag.mod new file mode 100644 index 000000000..dcee082e1 --- /dev/null +++ b/tests/model_diagnostics/example2_block_model_diag.mod @@ -0,0 +1,63 @@ +//test singular Jacobian check with block decomposition + +/* + * Example 2 from F. Collard (2001): "Stochastic simulations with DYNARE: + * A practical guide" (see "guide.pdf" in the documentation directory). + */ + +/* + * Copyright (C) 2001-2010 Dynare Team + * + * This file is part of Dynare. + * + * Dynare is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Dynare is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Dynare. If not, see . + */ + + +var y, c, k, a, h, b; +varexo e, u; + +parameters beta, rho, alpha, delta, theta, psi, tau; + +alpha = 0.36; +rho = 1; +tau = 0; +beta = 0.99; +delta = 0.025; +psi = 0; +theta = 2.95; + +model(block); +exp(c)*theta*exp(h)^(1+psi)=(1-alpha)*exp(y); +exp(k) = beta*(((exp(b)*exp(c))/(exp(b(+1))*exp(c(+1)))) + *(exp(b(+1))*alpha*exp(y(+1))+(1-delta)*exp(k))); +exp(y) = exp(a)*(exp(k(-1))^alpha)*(exp(h)^(1-alpha)); +exp(k) = exp(b)*(exp(y)-exp(c))+(1-delta)*exp(k(-1)); +a = rho*a(-1)+tau*b(-1) + e; +b = tau*a(-1)+rho*b(-1) + u; +end; + +initval; +y = 0.1; +c = -0.2; +h = -1.2; +k = 2.4; +a = 0; +b = 0; +e = 0; +u = 0; +end; + +steady; +model_diagnostics; \ No newline at end of file