Merge remote-tracking branch 'community/master' into enterprise
commit
56e7144b91
|
@ -7,10 +7,10 @@ Installation and configuration
|
|||
Software requirements
|
||||
=====================
|
||||
|
||||
Packaged versions of Dynare are available for Windows 7/8/10,
|
||||
`Debian GNU/Linux <http://www.debian.org/>`__, `Ubuntu`_ and macOS 10.8
|
||||
or later. Dynare should work on other systems, but some compilation
|
||||
steps are necessary in that case.
|
||||
Packaged versions of Dynare are available for Windows 7/8/10, several GNU/Linux
|
||||
distributions (Debian, Ubuntu, Linux Mint, Arch Linux) and macOS
|
||||
10.8 or later. Dynare should work on other systems, but some compilation steps
|
||||
are necessary in that case.
|
||||
|
||||
In order to run Dynare, you need one of the following:
|
||||
|
||||
|
@ -54,14 +54,31 @@ Note that you can have several versions of Dynare coexisting (for
|
|||
example in ``c:\dynare``), as long as you correctly adjust your path
|
||||
settings (see see :ref:`words-warning`).
|
||||
|
||||
Also note that it is possible to do a silent installation, by passing the
|
||||
``/S`` flag to the installer on the command line. This can be useful when
|
||||
doing an unattended installation of Dynare on a computer pool.
|
||||
|
||||
On Debian GNU/Linux and Ubuntu
|
||||
------------------------------
|
||||
|
||||
Please refer to the `Dynare wiki`_ for detailed instructions.
|
||||
On GNU/Linux
|
||||
------------
|
||||
|
||||
On Debian, Ubuntu and Linux Mint, the Dynare package can be installed with:
|
||||
``apt install dynare``. This will give a fully-functional Dynare installation
|
||||
usable with Octave. If you have MATLAB installed, you should also do: ``apt
|
||||
install dynare-matlab`` (under Debian, this package is in the ``contrib``
|
||||
section). Documentation can be installed with ``apt install dynare-doc``. The
|
||||
status of those packages can be checked at those pages:
|
||||
|
||||
* `Package status in Debian`_
|
||||
* `Package status in Ubuntu`_
|
||||
* `Package status in Linux Mint`_
|
||||
|
||||
On Arch Linux, the Dynare package is not in the official repositories, but is
|
||||
available in the `Arch User Repository`_. The needed sources can be
|
||||
downloaded from the `package status in Arch Linux`_.
|
||||
|
||||
Dynare will be installed under ``/usr/lib/dynare``. Documentation will
|
||||
be under ``/usr/share/doc/dynare-doc``.
|
||||
be under ``/usr/share/doc/dynare-doc`` (only on Debian, Ubuntu and Linux Mint).
|
||||
|
||||
|
||||
On macOS
|
||||
|
@ -112,15 +129,16 @@ There is no prerequisites on Windows. Dynare now ships a compilation
|
|||
environment that can be used with the :opt:`use_dll` option.
|
||||
|
||||
|
||||
Prerequisites on Debian GNU/Linux and Ubuntu
|
||||
--------------------------------------------
|
||||
Prerequisites on GNU/Linux
|
||||
--------------------------
|
||||
|
||||
Users of MATLAB under GNU/Linux need a working compilation
|
||||
environment installed. If not already present, it can be installed via
|
||||
``apt install build-essential``.
|
||||
Users of MATLAB under GNU/Linux need a working compilation environment
|
||||
installed. Under Debian, Ubuntu or Linux Mint, it can be installed via ``apt
|
||||
install build-essential``.
|
||||
|
||||
Users of Octave under GNU/Linux should install the package for MEX file
|
||||
compilation (under Debian or Ubuntu, it is called ``liboctave-dev``).
|
||||
compilation (under Debian, Ubuntu or Linux Mint, it can be done via ``apt
|
||||
install liboctave-dev``).
|
||||
|
||||
Prerequisites on macOS
|
||||
----------------------
|
||||
|
@ -152,7 +170,7 @@ installation to MATLAB path. You have two options for doing that:
|
|||
|
||||
>> addpath c:/dynare/4.x.y/matlab
|
||||
|
||||
Under Debian GNU/Linux or Ubuntu, type::
|
||||
Under GNU/Linux, type::
|
||||
|
||||
>> addpath /usr/lib/dynare/matlab
|
||||
|
||||
|
@ -187,8 +205,10 @@ type::
|
|||
|
||||
octave:1> addpath c:/dynare/4.x.y/matlab
|
||||
|
||||
Under Debian GNU/Linux or Ubuntu, there is no need to use the
|
||||
``addpath`` command; the packaging does it for you.
|
||||
Under Debian, Ubuntu or Linux Mint, there is no need to use the ``addpath``
|
||||
command; the packaging does it for you. Under Arch Linux, you need to do::
|
||||
|
||||
octave:1> addpath /usr/lib/dynare/matlab
|
||||
|
||||
Under macOS, assuming that you have installed Dynare and Octave via
|
||||
Homebrew, type::
|
||||
|
@ -232,7 +252,11 @@ Dynare unusable.
|
|||
end up with a non optimal or un-usable installation of Dynare.
|
||||
|
||||
|
||||
.. _Ubuntu: http://www.ubuntu.com/
|
||||
.. _Package status in Debian: https://packages.debian.org/sid/dynare
|
||||
.. _Package status in Ubuntu: https://launchpad.net/ubuntu/+source/dynare
|
||||
.. _Package status in Linux Mint: https://community.linuxmint.com/software/view/dynare
|
||||
.. _Package status in Arch Linux: https://aur.archlinux.org/packages/dynare/
|
||||
.. _Arch User Repository: https://wiki.archlinux.org/index.php/Arch_User_Repository
|
||||
.. _Dynare website: https://www.dynare.org/
|
||||
.. _Dynare wiki: https://git.dynare.org/Dynare/dynare/wikis
|
||||
.. _Octave-Forge: https://octave.sourceforge.io/
|
||||
|
|
|
@ -152,7 +152,7 @@ end
|
|||
|
||||
if ~isempty(strfind(fname,filesep))
|
||||
fprintf('\nIt seems you are trying to call a .mod file not located in the "Current Folder". This is not possible (the %s symbol is not allowed in the name of the .mod file).\n', filesep)
|
||||
[pathtomodfile,basename,ext] = fileparts(fname);
|
||||
[pathtomodfile,basename] = fileparts(fname);
|
||||
if exist(pathtomodfile,'dir')
|
||||
filesindirectory = dir(pathtomodfile);
|
||||
filesindirectory = struct2cell(filesindirectory);
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit fac9e4436c1c1f7d97e03d5fee77f7fb45dff54a
|
||||
Subproject commit 9e454debb5eb7cbabcf29e844e16f2463d8d7eb6
|
|
@ -0,0 +1,3 @@
|
|||
function retval = y_k(alpha, beta, delta)
|
||||
retval = (1/alpha)*(1/beta-1+delta);
|
||||
end
|
|
@ -174,12 +174,14 @@ MODFILES = \
|
|||
dsge-var/simul_hybrid.mod \
|
||||
dsge-var/dsgevar_forward_calibrated_lambda.mod \
|
||||
dsge-var/dsgevar_forward_estimated_lambda.mod \
|
||||
external_function/first_and_2nd_deriv_fcns_provided.mod \
|
||||
external_function/first_and_2nd_deriv_fcns_provided_dll.mod \
|
||||
external_function/first_deriv_fcn_provided.mod \
|
||||
external_function/first_deriv_fcn_provided_dll.mod \
|
||||
external_function/no_deriv_fcns_provided.mod \
|
||||
external_function/no_deriv_fcns_provided_dll.mod \
|
||||
external_function/first_deriv_given.mod \
|
||||
external_function/first_deriv_given_dll.mod \
|
||||
external_function/first_and_2nd_deriv_given.mod \
|
||||
external_function/first_and_2nd_deriv_given_namespace.mod \
|
||||
external_function/first_and_2nd_deriv_given_dll.mod \
|
||||
external_function/first_and_2nd_deriv_given_dll_namespace.mod \
|
||||
external_function/no_deriv_given.mod \
|
||||
external_function/no_deriv_given_dll.mod \
|
||||
seeds.mod \
|
||||
identification/kim/kim2.mod \
|
||||
identification/as2007/as2007.mod \
|
||||
|
@ -953,6 +955,7 @@ EXTRA_DIST = \
|
|||
run_reporting_test_matlab.m \
|
||||
run_reporting_test_octave.m \
|
||||
run_all_unitary_tests.m \
|
||||
+matlab/+namespace/y_k.m \
|
||||
reporting/AnnualTable.m \
|
||||
reporting/CommResidTablePage.m \
|
||||
reporting/CountryGraphPage.m \
|
||||
|
@ -978,6 +981,8 @@ EXTRA_DIST = \
|
|||
external_function/extFunDeriv.m \
|
||||
external_function/extFunNoDerivs.m \
|
||||
external_function/extFunWithFirstAndSecondDerivs.m \
|
||||
external_function/+matlab/+namespace/extFunNoDerivsNamespace.m \
|
||||
external_function/+matlab/+namespace/extFunWithFirstAndSecondDerivsNamespace.m \
|
||||
expectations/expectation_ss_old_steadystate.m \
|
||||
filter_step_ahead/trend_cycle_decomposition_data.m \
|
||||
steady_state/walsh1_old_ss_steadystate.m \
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
function y=extFunNoDerivsNamespace(a,b)
|
||||
y=a*(b^2);
|
||||
end
|
|
@ -0,0 +1,9 @@
|
|||
function [y df d2f]=extFunWithFirstAndSecondDerivsNamespace(a,b)
|
||||
y=a*(b^2);
|
||||
|
||||
da=b^2;
|
||||
db=2*a*b;
|
||||
df=[da db];
|
||||
|
||||
d2f=[0 2*b; 2*b 2*a];
|
||||
end
|
|
@ -0,0 +1,48 @@
|
|||
// Example 1 from Collard's guide to Dynare
|
||||
var y, c, k, a, h, b;
|
||||
varexo e, u;
|
||||
|
||||
parameters beta, rho, alpha, delta, theta, psi, tau;
|
||||
|
||||
alpha = 0.36;
|
||||
rho = 0.95;
|
||||
tau = 0.025;
|
||||
beta = 0.99;
|
||||
delta = 0.025;
|
||||
psi = 0;
|
||||
theta = 2.95;
|
||||
|
||||
phi = 0.1;
|
||||
|
||||
addpath(pwd)
|
||||
|
||||
external_function(nargs=2, name=matlab.namespace.extFunWithFirstAndSecondDerivsNamespace, first_deriv_provided, second_deriv_provided);
|
||||
|
||||
model(use_dll);
|
||||
c*theta*h^(1+psi)=(1-alpha)*y;
|
||||
k = beta*(((exp(b)*c)/(exp(b(+1))*c(+1)))
|
||||
*(exp(b(+1))*alpha*y(+1)+(1-delta)*k));
|
||||
y = exp(a)*(k(-1)^alpha)*(h^(1-alpha));
|
||||
k = exp(b)*(y-c)+matlab.namespace.extFunWithFirstAndSecondDerivsNamespace((1-delta),k(-1));
|
||||
a = rho*a(-1)+tau*b(-1) + e;
|
||||
b = tau*a(-1)+rho*b(-1) + u;
|
||||
end;
|
||||
|
||||
initval;
|
||||
y = 1.08068253095672;
|
||||
c = 0.80359242014163;
|
||||
h = 0.29175631001732;
|
||||
k = 11.08360443260358;
|
||||
a = 0;
|
||||
b = 0;
|
||||
e = 0;
|
||||
u = 0;
|
||||
end;
|
||||
|
||||
shocks;
|
||||
var e; stderr 0.009;
|
||||
var u; stderr 0.009;
|
||||
var e, u = phi*0.009*0.009;
|
||||
end;
|
||||
|
||||
stoch_simul;
|
|
@ -0,0 +1,48 @@
|
|||
// Example 1 from Collard's guide to Dynare
|
||||
var y, c, k, a, h, b;
|
||||
varexo e, u;
|
||||
|
||||
parameters beta, rho, alpha, delta, theta, psi, tau;
|
||||
|
||||
alpha = 0.36;
|
||||
rho = 0.95;
|
||||
tau = 0.025;
|
||||
beta = 0.99;
|
||||
delta = 0.025;
|
||||
psi = 0;
|
||||
theta = 2.95;
|
||||
|
||||
phi = 0.1;
|
||||
|
||||
addpath(pwd)
|
||||
|
||||
external_function(nargs=2, name=matlab.namespace.extFunWithFirstAndSecondDerivsNamespace, first_deriv_provided, second_deriv_provided);
|
||||
|
||||
model;
|
||||
c*theta*h^(1+psi)=(1-alpha)*y;
|
||||
k = beta*(((exp(b)*c)/(exp(b(+1))*c(+1)))
|
||||
*(exp(b(+1))*alpha*y(+1)+(1-delta)*k));
|
||||
y = exp(a)*(k(-1)^alpha)*(h^(1-alpha));
|
||||
k = exp(b)*(y-c)+matlab.namespace.extFunWithFirstAndSecondDerivsNamespace((1-delta),k(-1));
|
||||
a = rho*a(-1)+tau*b(-1) + e;
|
||||
b = tau*a(-1)+rho*b(-1) + u;
|
||||
end;
|
||||
|
||||
initval;
|
||||
y = 1.08068253095672;
|
||||
c = 0.80359242014163;
|
||||
h = 0.29175631001732;
|
||||
k = 11.08360443260358;
|
||||
a = 0;
|
||||
b = 0;
|
||||
e = 0;
|
||||
u = 0;
|
||||
end;
|
||||
|
||||
shocks;
|
||||
var e; stderr 0.009;
|
||||
var u; stderr 0.009;
|
||||
var e, u = phi*0.009*0.009;
|
||||
end;
|
||||
|
||||
stoch_simul;
|
|
@ -67,7 +67,7 @@ steady_state_model;
|
|||
// adapting solution Walsh (2003) p. 84
|
||||
en = 1/3;
|
||||
eR = 1/beta;
|
||||
y_k = (1/alpha)*(1/beta-1+delta);
|
||||
y_k = matlab.namespace.y_k(alpha, beta, delta);
|
||||
ek = en*y_k^(-1/(1-alpha));
|
||||
ec = ek*(y_k-delta);
|
||||
em = ec*(a/(1-a))^(-1/b)*((thetass-beta)/thetass)^(-1/b);
|
||||
|
|
Loading…
Reference in New Issue