Reference manual: documented "block", "bytecode" options and their friends. Closes #66
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3246 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
614b79cf72
commit
767d33f08c
103
doc/manual.xml
103
doc/manual.xml
|
@ -854,6 +854,29 @@ Inside the model block, Dynare allows the creation of <emphasis>model-local vari
|
||||||
<term><option>use_dll</option></term>
|
<term><option>use_dll</option></term>
|
||||||
<listitem><para>Instructs the preprocessor to create dynamic loadable libraries (DLL) containing the model equations and derivatives, instead of writing those in <filename class="extension">M</filename>-files. You need a working compilation environment, <foreignphrase>i.e.</foreignphrase> a working <literal>mex</literal> command (see <xref linkend="software-requirements"/> for more details). Using this option can result in faster simulations or estimations, at the expense of some initial compilation time.<footnote><para>In particular, for big models, the compilation step can be very time-consuming, and use of this option may be counter-productive in those cases.</para></footnote></para></listitem>
|
<listitem><para>Instructs the preprocessor to create dynamic loadable libraries (DLL) containing the model equations and derivatives, instead of writing those in <filename class="extension">M</filename>-files. You need a working compilation environment, <foreignphrase>i.e.</foreignphrase> a working <literal>mex</literal> command (see <xref linkend="software-requirements"/> for more details). Using this option can result in faster simulations or estimations, at the expense of some initial compilation time.<footnote><para>In particular, for big models, the compilation step can be very time-consuming, and use of this option may be counter-productive in those cases.</para></footnote></para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry id="block">
|
||||||
|
<term><option>block</option></term>
|
||||||
|
<listitem><para>Perform the block decomposition of the model, and exploit it in computations. See <ulink url="http://www.dynare.org/DynareWiki/FastDeterministicSimulationAndSteadyStateComputation">Dynare wiki</ulink> for details on the algorithm.</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry id="bytecode">
|
||||||
|
<term><option>bytecode</option></term>
|
||||||
|
<listitem><para>Instead of M-files, use a bytecode representation of the model, <foreignphrase>i.e.</foreignphrase> a binary file containing a compact representation of all the equations.</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>cutoff</option> = <replaceable>DOUBLE</replaceable></term>
|
||||||
|
<listitem><para>Threshold under which a jacobian element is considered as null during the model normalization. Only available with option <option>block</option>. Default: <literal>1e-15</literal></para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>mfs</option> = <replaceable>INTEGER</replaceable></term>
|
||||||
|
<listitem><para>Controls the handling of minimum feedback set of endogenous variables. Only available with option <option>block</option>. Possible values:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para><literal>0</literal>: all the endogenous variables are considered as feedback variables (Default).</para></listitem>
|
||||||
|
<listitem><para><literal>1</literal>: the endogenous variables assigned to equation naturally normalized (<foreignphrase>i.e.</foreignphrase> of the form <literal>x=f(Y)</literal> where <literal>x</literal> does not appear in <literal>Y</literal>) are potentially recursive variables. All the other variables are forced to belong to the set of feedback variables.</para></listitem>
|
||||||
|
<listitem><para><literal>2</literal>: in addition of variables with <literal>mfs = 1</literal> the endogenous variables related to linear equations which could be normalized are potential recursive variables. All the other variables are forced to belong to the set of feedback variables.</para></listitem>
|
||||||
|
<listitem><para><literal>3</literal>: in addition of variables with <literal>mfs = 2</literal> the endogenous variables related to non-linear equations which could be normalized are potential recursive variables. All the other variables are forced to belong to the set of feedback variables.</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
|
@ -1549,6 +1572,7 @@ Dynare has special commands for the computation of the static equilibrium of the
|
||||||
<listitem><para><xref linkend='steady'/></para></listitem>
|
<listitem><para><xref linkend='steady'/></para></listitem>
|
||||||
<listitem><para><xref linkend='homotopy_setup'/></para></listitem>
|
<listitem><para><xref linkend='homotopy_setup'/></para></listitem>
|
||||||
<listitem><para><xref linkend='check'/></para></listitem>
|
<listitem><para><xref linkend='check'/></para></listitem>
|
||||||
|
<listitem><para><xref linkend='model_info'/></para></listitem>
|
||||||
<listitem><para><xref linkend='simul'/></para></listitem>
|
<listitem><para><xref linkend='simul'/></para></listitem>
|
||||||
<listitem><para><xref linkend='stoch_simul'/></para></listitem>
|
<listitem><para><xref linkend='stoch_simul'/></para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
@ -1581,6 +1605,7 @@ Dynare has special commands for the computation of the static equilibrium of the
|
||||||
<listitem><para><literal>2</literal>: splits the model into recursive blocks and solves each block in turn</para></listitem>
|
<listitem><para><literal>2</literal>: splits the model into recursive blocks and solves each block in turn</para></listitem>
|
||||||
<listitem><para><literal>3</literal>: Chris Sims' solver</para></listitem>
|
<listitem><para><literal>3</literal>: Chris Sims' solver</para></listitem>
|
||||||
<listitem><para><literal>4</literal>: similar to value <literal>2</literal>, except that it deals differently with nearly singular Jacobian</para></listitem>
|
<listitem><para><literal>4</literal>: similar to value <literal>2</literal>, except that it deals differently with nearly singular Jacobian</para></listitem>
|
||||||
|
<listitem><para><literal>5</literal>: Newton algorithm with a sparse Gaussian elimination (SPE)</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
Default value is <literal>2</literal>.
|
Default value is <literal>2</literal>.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
|
@ -1738,6 +1763,43 @@ A necessary condition for the uniqueness of a stable equilibrium in the neighbor
|
||||||
</refsect1>
|
</refsect1>
|
||||||
</refentry>
|
</refentry>
|
||||||
|
|
||||||
|
<refentry id="model_info">
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>model_info</refentrytitle>
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>model_info</refname>
|
||||||
|
<refpurpose>Display the block structure of the model</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>model_info</command>
|
||||||
|
<arg choice="plain">;</arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1><title>Description</title>
|
||||||
|
<para>The <command>model_info</command> command provides information about:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>the normalization of the model: an endogenous variable is attributed to each equation of the model;</para></listitem>
|
||||||
|
<listitem><para>the block structure of the model: for each block model_info indicates its type, the equations number and endogenous variables belonging to this block.</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>There are five different types of blocks depending on the simulation method used:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>EVALUATE FORWARD: in this case the block contains only equations where endogenous variable attributed to the equation appears currently on the left hand side and where no forward looking endogenous variables appear. y<subscript>j,t</subscript> = f<subscript>j</subscript>(y<subscript>t</subscript>, y<subscript>t-1</subscript>, ..., y<subscript>t-k</subscript>)</para></listitem>
|
||||||
|
<listitem><para>EVALUATE BACKWARD: the block contains only equations where endogenous variable attributed to the equation appears currently on the left hand side and where no backward looking endogenous variables appear. y<subscript>j,t</subscript> = f<subscript>j</subscript>(y<subscript>t</subscript>, y<subscript>t+1</subscript>, ..., y<subscript>t+k</subscript>)</para></listitem>
|
||||||
|
<listitem><para>SOLVE FORWARD <replaceable>x</replaceable>: the block contains only equations where endogenous variable attributed to the equation does not appear currently on the left hand side and where no forward looking endogenous variables appear. g<subscript>j</subscript>(y<subscript>j,t</subscript>, y<subscript>t</subscript>, y<subscript>t-1</subscript>, ..., y<subscript>t-k</subscript>) =0. <replaceable>x</replaceable> is equal to SIMPLE if the block has only one equation. If several equation appears in the block, <replaceable>x</replaceable> is equal to COMPLETE.</para></listitem>
|
||||||
|
<listitem><para>SOLVE FORWARD <replaceable>x</replaceable>: the block contains only equations where endogenous variable attributed to the equation does not appear currently on the left hand side and where no backward looking endogenous variables appear. g<subscript>j</subscript>(y<subscript>j,t</subscript>, y<subscript>t</subscript>, y<subscript>t+1</subscript>, ..., y<subscript>t+k</subscript>) =0. <replaceable>x</replaceable> is equal to SIMPLE if the block has only one equation. If several equation appears in the block, <replaceable>x</replaceable> is equal to COMPLETE.</para></listitem>
|
||||||
|
<listitem><para>SOLVE TWO BOUNDARIES <replaceable>x</replaceable>: the block contains equations depending on both forward and backward variables. g<subscript>j</subscript>(y<subscript>j,t</subscript>, y<subscript>t</subscript>, y<subscript>t-1</subscript>, ..., y<subscript>t-k</subscript> ,y<subscript>t</subscript>, y<subscript>t+1</subscript>, ..., y<subscript>t+k</subscript>) =0. <replaceable>x</replaceable> is equal to SIMPLE if the block has only one equation. If several equation appears in the block, <replaceable>x</replaceable> is equal to COMPLETE.</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
||||||
|
|
||||||
<refentry id="simul">
|
<refentry id="simul">
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>simul</refentrytitle>
|
<refentrytitle>simul</refentrytitle>
|
||||||
|
@ -1751,16 +1813,51 @@ A necessary condition for the uniqueness of a stable equilibrium in the neighbor
|
||||||
<refsynopsisdiv>
|
<refsynopsisdiv>
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
<command>simul</command>
|
<command>simul</command>
|
||||||
<arg>(<option>periods</option>=<replaceable>INTEGER</replaceable>)
|
<arg>(<replaceable>OPTION</replaceable><arg rep="repeat">, <replaceable>OPTION</replaceable></arg>)</arg>
|
||||||
</arg><arg choice="plain">;</arg>
|
<arg choice="plain">;</arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
</refsynopsisdiv>
|
</refsynopsisdiv>
|
||||||
|
|
||||||
<refsect1><title>Description</title>
|
<refsect1><title>Description</title>
|
||||||
<para>
|
<para>
|
||||||
Triggers the computation of a deterministic simulation of the model for the number of periods set in the option <option>periods</option>. <command>simul</command> uses a Newton method to solve simultaneously all the equations for every period (see <xref linkend="juillard_1996"/>).
|
Triggers the computation of a deterministic simulation of the model for the number of periods set in the option <option>periods</option>. <command>simul</command> uses a
|
||||||
</para>
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1><title>Options</title>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>periods</option> = <replaceable>INTEGER</replaceable></term>
|
||||||
|
<listitem><para>Number of periods of the simulation</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>stack_solve_algo</option> = <replaceable>INTEGER</replaceable></term>
|
||||||
|
<listitem><para>Algorithm used for computing the solution. Possible values are:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para><literal>0</literal>: Newton method to solve simultaneously all the equations for every period, see <xref linkend="juillard_1996"/>. (Default)</para></listitem>
|
||||||
|
<listitem><para><literal>1</literal>: use a Newton algorithm with a sparse LU solver at each iteration.</para></listitem>
|
||||||
|
<listitem><para><literal>2</literal>: use a Newton algorithm with a Generalized Minimal Residual (GMRES) solver at each iteration.</para></listitem>
|
||||||
|
<listitem><para><literal>3</literal>: use a Newton algorithm with a Stabilized Bi-Conjugate Gradient (BICGSTAB) solver at each iteration.</para></listitem>
|
||||||
|
<listitem><para><literal>4</literal>: use a Newton algorithm with a optimal path length at each iteration.</para></listitem>
|
||||||
|
<listitem><para><literal>5</literal>: use a Newton algorithm with a sparse Gaussian elimination (SPE) solver at each iteration.</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>markowitz</option> = <replaceable>DOUBLE</replaceable></term>
|
||||||
|
<listitem><para>Value of the Markowitz criterion, used to select the pivot. Only used when <option>stack_solve_algo</option> = 5. Default: <literal>0.5</literal></para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>minimal_solving_periods</option> = <replaceable>INTEGER</replaceable></term>
|
||||||
|
<listitem><para>Specify the minimal number of periods where the model has to be solved, before using a constant set of operations for the remaining periods. Only used when <option>stack_solve_algo</option> = 5. Default: <literal>1</literal></para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>datafile</option> = <replaceable>FILENAME</replaceable></term>
|
||||||
|
<listitem><para>If the variables of the model are not constant over time, their initial values, stored in a text file, could be loaded, using that option, as initial values before a deteministic simulation.</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
<refsect1><title>Output variables</title>
|
<refsect1><title>Output variables</title>
|
||||||
<para>
|
<para>
|
||||||
The simulated endogenous variables are available in global matrix <varname>oo_.endo_simul</varname>. The variables are arranged row by row, in order of declaration (as in <varname>M_.endo_names</varname>). Note that this variable also contains initial and terminal conditions, so it has more columns than the value of <option>periods</option> option.
|
The simulated endogenous variables are available in global matrix <varname>oo_.endo_simul</varname>. The variables are arranged row by row, in order of declaration (as in <varname>M_.endo_names</varname>). Note that this variable also contains initial and terminal conditions, so it has more columns than the value of <option>periods</option> option.
|
||||||
|
|
Loading…
Reference in New Issue