Update Auxiliary variables types 7, 8 and 9 authored by Sébastien Villemot's avatar Sébastien Villemot
......@@ -64,28 +64,28 @@ This kind of aux var has `M_.aux_vars(i).type = 6` and corresponds to the Lagran
`M_.aux_vars(i).eq_nbr` contains the number of the equation (constraint) with which the multiplier is associated.
## Type 7: Auxiliary variable to account for difference between `var_model` order and max lag in model (only in Dynare 4.6)
## Type 7: Unused
This kind of aux var has `M_.aux_vars(i).type = 7` and accounts for the difference in lags between that declared in the `var_model` statement and those present in the model. The name of such an auxiliary variable begins with `AUX_VARMODEL_`.
## Type 8: `diff` operator (since Dynare 4.6)
## Type 8: `diff` operator (since Dynare 4.7)
This kind of aux var has `M_.aux_vars(i).type = 8` and substitutes for the `diff` operator. The name of such an auxiliary variable begins with `AUX_DIFF_`.
`M_.aux_vars(i).orig_index` contains the index of the variable contained in the `diff` operator. This field exists if the `diff` was taken of a variable, not of an expression.
`M_.aux_vars(i).orig_lead_lag` contains the lag of the variable contained in the `diff` operator. This field exists if the `diff` was taken of a variable, not of an expression.
The substitution will only happen if there is no lead in the argument to the `diff` operator.
- `M_.aux_vars(i).orig_index` contains the index of the variable contained in the `diff` operator. This field exists if the `diff` was taken of a variable, not of an expression.
- `M_.aux_vars(i).orig_lead_lag` contains the lag of the variable contained in the `diff` operator. This field exists if the `diff` was taken of a variable, not of an expression.
## Type 9: lag within `diff` operator (since Dynare 4.6)
## Type 9: lag within `diff` operator (since Dynare 4.7)
This kind of aux var has `M_.aux_vars(i).type = 9` and accounts for applying the difference operator to a lag. If a `diff` operator is applied to a variable with lagged values (e.g. `diff(x(-3)`), a diff auxiliary variable is created for the `diff` operator applied to the variable with lag equal to zero (e.g. `diff(x)`) and auxiliary variables are created for the following sequence `diff(x(-1)`, `diff(x(-2))`, and `diff(x(-3)`). The name of such an auxiliary variable begins with `AUX_DIFF_LAG_`.
This kind of aux var has `M_.aux_vars(i).type = 9` and accounts for applying the difference operator to a lag. If a `diff` operator is applied to a variable with lagged values (e.g. `diff(x(-3)`), and there also appears `diff` operators with the same arguments in the future (e.g. `diff(x)`), a diff auxiliary variable (of type 8) is created for the `diff` operator applied to the variable with lag equal to zero (e.g. `diff(x)`) and auxiliary variables (of type 9) are created for the following sequence `diff(x(-1)`, `diff(x(-2))`, and `diff(x(-3)`). The name of such auxiliary variables begins with `AUX_DIFF_LAG_`.
`M_.aux_vars(i).orig_index` contains the index of the preceding auxiliary variable for diff lag or of the auxiliary variable for diff itself (types 8 or 9)
`M_.aux_vars(i).orig_lead_lag` contains `0` (not needed because we know the lag is `1` different than the previous one.
- `M_.aux_vars(i).orig_index` contains the index of the preceding auxiliary variable for diff lag or of the auxiliary variable for diff itself (types 8 or 9)
- `M_.aux_vars(i).orig_lead_lag` contains `0` (not needed because we know the lag is `1` different than the previous one.
## Type 10: unary operations (since Dynare 4.6)
## Type 10: unary operations (since Dynare 4.7)
This kind of aux var has `M_.aux_vars(i).type = 10` and substitutes for certain unary operations in the context of employing `diff`-operators, namely: `exp`, `log`, `log10`, `cos`, `sin`, `tan`, `acos`, `asin`, `atan`, `cosh`, `sinh`, `tanh`, `acosh`, `asinh`, `atanh`, `sqrt`, `abs`, `sign`, and `erf`. The name of such an auxiliary variable begins with `AUX_UOP_`.
## Type 11: lead within `diff` operator (since Dynare 4.6)
## Type 11: lead within `diff` operator (since Dynare 4.7)
This kind of aux var has `M_.aux_vars(i).type = 11` and accounts for applying the difference operator to a lead. Similarly to Type 9, it will create a sequence of auxiliary variables, but for leads.
\ No newline at end of file