- Support saving to an output MAT file.
- Handle smoothed variables computed by a Metropolis, by adding support for the
parameter_set option.
- When an auxiliary variable is not in the output model, emit a warning instead
of stopping with an error message (aux vars may be different between input
and output models, even if the equations are identical).
Ref #594
First, the current logic is buggy, because mod_file->use_dll is undefined at
this point (mod_file having been deleted above).
More fundamentally, the preprocessor is now evolving into something to be used
without MATLAB/Octave, so this statement is now inaccurate in some use cases.
There is a new LINKOPTS variable which governs the list of symbols to be
exported, so we set it to an empty value to have all symbols exported.
Previously we were overloading the LDFLAGS which was containing the list of
exported symbols.
If ts is an empty dseries object with a defined range of dates:
ts = dseries(dates('1990Q1'):dates('1990Q4'));
Then the following syntaxes are valid:
1. ts(:) = 1;
2. ts(:) = [1, 2];
3. ts(:) = randn(4,1);
4. ts(:) = dseries(1);
5. ts(:) = dseries([1, 2]);
6. ts(:) = dseries(randn(4,2));
7. ts(:) = dseries(randn(4,2),dates('1950M1'):dates('1950M4'));
Remarks.
[1] In cases 1., 2., 4. and 5. the single observation is replicated to match the number of dates in ts.
[2] In cases 4. to 7. the dates in the right member of the assignment are lost (ie ts.dates is not affected by the dates defined in the right members).
In the case where a 2nd/3rd derivative is symbolically not zero but numerically
zero at the evaluation point, the last lines of the g2/g3 matrices (in
KordpDynare::calcDerivativesAtSteady()) where uninitialized (these matrices
store the sparse hessian/3rd-deriv in coordinate list form, i.e. with 3 columns
and as many rows as non-zero elements). When reconstructing the dense
hessian/3rd-deriv matrix out of g2/g3, this would result in invalid memory
accesses.
In the case where the external function computes itself its derivatives, the
TEF terms were not always created before being used, hence leading to a
preprocessor crash. This problem could only happen with ramsey_policy, because
otherwise the model does not contain derivatives of external functions.