Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • giovanma/dynare
  • giorgiomas/dynare
  • Vermandel/dynare
  • Dynare/dynare
  • normann/dynare
  • MichelJuillard/dynare
  • wmutschl/dynare
  • FerhatMihoubi/dynare
  • sebastien/dynare
  • lnsongxf/dynare
  • rattoma/dynare
  • CIMERS/dynare
  • FredericKarame/dynare
  • SumuduK/dynare
  • MinjeJeon/dynare
  • camilomrch/dynare
  • DoraK/dynare
  • avtishin/dynare
  • selma/dynare
  • claudio_olguin/dynare
  • jeffjiang07/dynare
  • EthanSystem/dynare
  • stepan-a/dynare
  • wjgatt/dynare
  • JohannesPfeifer/dynare
  • gboehl/dynare
  • chskcau/dynare-doc-fixes
27 results
Select Git revision
Show changes
Commits on Source (15)
......@@ -6,6 +6,7 @@ Bibliography
* Abramowitz, Milton and Irene A. Stegun (1964): “Handbook of Mathematical Functions”, Courier Dover Publications.
* Adjemian, Stéphane, Matthieu Darracq Parriès and Stéphane Moyen (2008): “Towards a monetary policy evaluation framework”, *European Central Bank Working Paper*, 942.
* Adjemian, Stéphane and Michel Juillard (2025): “Stochastic Extended Path”, *Dynare Working Papers*, 84, CEPREMAP.
* Aguiar, Mark and Gopinath, Gita (2004): “Emerging Market Business Cycles: The Cycle is the Trend,” *NBER* Working Paper, 10734.
* Amisano, Gianni and Tristani, Oreste (2010): “Euro area inflation persistence in an estimated nonlinear DSGE model”, *Journal of Economic Dynamics and Control*, 34(10), 1837–1858.
* Andreasen, Martin M., Jesús Fernández-Villaverde, and Juan Rubio-Ramírez (2018): “The Pruned State-Space System for Non-Linear DSGE Models: Theory and Empirical Applications,” *Review of Economic Studies*, 85(1), 1-49.
......
......@@ -112,6 +112,7 @@ On macOS
Several versions of Dynare can coexist (by default in ``/Applications/Dynare``),
as long as you correctly adjust your path settings (see :ref:`words-warning`).
With MATLAB
^^^^^^^^^^^
......@@ -125,6 +126,10 @@ The default installation directory is ``/Applications/Dynare/x.y-arch``.
It is recommended to install the Xcode Command Line Tools (this is an Apple product)
and GCC via Homebrew_ (see :ref:`prerequisites-macos`).
To deinstall Dynare, simply delete the folder where you installed the program. The package installer does
not put any files anywhere else in the system.
With Octave
^^^^^^^^^^^
......
......@@ -188,10 +188,13 @@ by the ``dynare`` command.
Instructs Dynare to no create a logfile of this run in
``FILENAME.log.`` The default is to create the logfile.
.. option:: output=second|third
.. option:: output=first|second|third
Instructs the preprocessor to output derivatives of the dynamic model at
least up to the given order.
least up to the given order. The `first` option is useful in
larger models when debugging steady state computation, because it allows
overriding the default computation and output of dynamic second order derivatives
in case of the mod-file not containing commands for further computations.
.. option:: language=matlab|julia
......
......@@ -959,6 +959,15 @@ The model is declared inside a ``model`` block:
 
MODEL_EXPRESSION;
 
.. warning::
In Dynare, only equality signs can delineate the left and right-hand side of an
equation. If Dynare encounters an expression like ``a>=b``, this will therefore not
define an inequality constraint. Rather, it is interpreted as the homogenous equation
`(a>=b)=0;`, i.e., the Boolean `(a>=b)` must evaluate to 0. Inequality constraints
in Dynare instead need to be set up either via OccBin or as mixed complementarity problems.
|br| Inside the model block, Dynare allows the creation of
*model-local variables*, which constitute a simple way to share a
common expression between several equations. The syntax consists
......@@ -5478,7 +5487,8 @@ which is described below.
 
If order is greater than ``0`` Dynare uses a gaussian
quadrature to take into account the effects of future
uncertainty. If ``order`` :math:`=S` then the time series for
uncertainty; this is called *stochastic* extended path, see *Adjemian
and Juillard (2025)*. If ``order`` :math:`=S` then the time series for
the endogenous variables are generated by assuming that the
agents believe that there will no more shocks after period
:math:`t+S`. This is an experimental feature and can be quite
......
......@@ -30,7 +30,7 @@ function dxp=getPowerDeriv(x,p,k)
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <https://www.gnu.org/licenses/>.
if (abs(x) < 1e-12) && (p > 0) && (k > p) && (abs(p - round(p)) < 1e-12)
if (abs(x) < 1e-12) && (p >= 0) && (k > p) && (abs(p - round(p)) < 1e-12)
dxp = 0;
else
dxp = x^(p-k);
......@@ -39,4 +39,23 @@ else
p = p-1;
end
end
end
return % --*-- Unit tests --*--
%@test:1
x=getPowerDeriv(2,3,1);
t(1)=all(abs(x-3*4)<1e-10);
x=getPowerDeriv(0,2,2);
t(2)=all(abs(x-2)<1e-10);
x=getPowerDeriv(0,2,3); %special case evaluates to 0
t(3)=all(abs(x-0)<1e-10);
x=getPowerDeriv(1e-13,2,3-1e-13); %0 within tolerance
t(4)=all(abs(x-0)<1e-10);
x=getPowerDeriv(0,0,1);
t(5)=all(abs(x-0)<1e-10);
x=getPowerDeriv(0,0,0);
t(6)=all(abs(x-1)<1e-10);
x=getPowerDeriv(0,1/3,1); %derivative evaluating to Inf due to division by 0
t(7)= isinf(x);
T = all(t);
%@eof:1
\ No newline at end of file
......@@ -72,13 +72,14 @@ if isequal(H,0)
H = zeros(pp,pp);
end
P=tril(P)+transpose(tril(P,-1)); % make sure P is symmetric
% Get sample size.
smpl = last-start+1;
% Initialize some variables.
dF = 1;
isqvec = false;
if ndims(Q)>2
if ~ismatrix(Q)
Qvec = Q;
Q=Q(:,:,1);
isqvec = true;
......
......@@ -64,9 +64,8 @@ function [dLIK,dlik,a,Pstar] = missing_observations_kalman_filter_d(data_index,n
smpl = last-start+1;
% Initialize some variables.
dF = 1;
isqvec = false;
if ndims(Q)>2
if ~ismatrix(Q)
Qvec = Q;
Q=Q(:,:,1);
isqvec = true;
......@@ -75,7 +74,6 @@ QQ = R*Q*transpose(R); % Variance of R times the vector of structural innova
t = start; % Initialization of the time index.
dlik = zeros(smpl,1); % Initialization of the vector gathering the densities.
dLIK = Inf; % Default value of the log likelihood.
oldK = Inf;
if isequal(H,0)
H = zeros(pp,pp);
......
......@@ -215,7 +215,7 @@ elseif options_.simul.homotopy_marginal_linearization_fallback > 0 && completed_
if is_numerical_exception(ME)
extra_success = false;
else
rethrow ME
rethrow(ME)
end
end
end
......@@ -375,7 +375,7 @@ while step > options_.simul.homotopy_min_step_size
solver_iter = [];
per_block_status = [];
else
rethrow ME
rethrow(ME)
end
end
else
......@@ -646,4 +646,4 @@ function r = is_numerical_exception(ME)
r = (~isoctave && (strcmp(ME.identifier, 'MATLAB:erf:notFullReal') ...
|| strcmp(ME.identifier, 'MATLAB:erfc:notFullReal'))) ...
|| (isoctave && (strcmp(ME.message, 'normcdf: X, MU, and SIGMA must not be complex.') ...
|| strcmp(ME.message, 'normpdf: X, MU, and SIGMA must not be complex.')))
|| strcmp(ME.message, 'normpdf: X, MU, and SIGMA must not be complex.')));
Subproject commit 75fccedfd17dbac12a9c20498d98d699301132b8
Subproject commit 5c75643443ab51e49e18f7bc6546e85cd3f55536
......@@ -33,11 +33,11 @@ MINGW64_ZLIB_VERSION = 1.3.1-1
# Dependency of matio
# pacman -Ss mingw-w64-x86_64-hdf5
MINGW64_HDF5_VERSION = 1.14.5-2
MINGW64_HDF5_VERSION = 1.14.6-3
# Dependency of HDF5 (provides szip library)
# pacman -Ss mingw-w64-x86_64-libaec
MINGW64_LIBAEC_VERSION = 1.1.3-3
MINGW64_LIBAEC_VERSION = 1.1.3-4
# Dependency of HDF5 and libssh2
# pacman -Ss mingw-w64-x86_64-openssl
......