Commit Graph

14650 Commits (ceb3ec24876df5c0f16332a9164af3c9e9438d24)

Author SHA1 Message Date
Sébastien Villemot ceb3ec2487
Bytecode: remove unused constructors 2022-02-15 16:54:41 +01:00
Sébastien Villemot 863fa2de1c
Bytecode: perfect foresight simulation of *linear* “Solve forward simple/complete” blocks was giving was results 2022-02-15 16:54:41 +01:00
Sébastien Villemot 34b6f54c4a
Ferhat and Houtan have left the team 2022-02-14 15:10:04 +01:00
Sébastien Villemot 803e3721ec
Bytecode: correctly handle M_.{endo_names,exo_names,param_names}, which are now cell arrays 2022-02-14 15:06:07 +01:00
Sébastien Villemot 92e82cfa0a
Bytecode: remove unused function prototype 2022-02-14 14:40:34 +01:00
Sébastien Villemot 3734762af7
For stack_solve_algo={2,3} and solve_algo={7,8}, rather use a “crout” ILU decomposition for the preconditioner
In 3025a14ed9, the call to the deprecated “luinc”
has been replaced by a call to “ilu”.

However, the type of “ilu” decomposition had not been specified. The default,
“nofill”, does not make use of the “droptol” option which was used with
“luinc”. Also, under Octave, it does not work when there is a zero on the
diagonal of the input matrix.

Rather use the “crout” type, which addresses these two issues.
2022-02-14 12:34:50 +01:00
Sébastien Villemot fa7b331cf4
Fix crash in simulation of “Solve forward/backward complete” blocks with stack_solve_algo=4 (without bytecode) 2022-02-11 18:11:42 +01:00
Sébastien Villemot 188df7711d
Bytecode: fix simulation of blocks “Solve forward/backward complete” with stack_solve_algo={0,1,4}
The problem would also manifest at steady state computation with solve_algo=6.

It could crash or give incorrect results.
2022-02-11 12:00:25 +01:00
Sébastien Villemot 9a27735f47
Manual: cosmetics 2022-02-10 17:35:21 +01:00
Sébastien Villemot d74cb031d2
Bytecode: fix error message about convergence failure that can happen in Solve Backward Complete as well 2022-02-10 17:27:07 +01:00
Sébastien Villemot cdb4f872b2
Bytecode: fix crash with stack_solve_algo=1 on “Solve forward/backward” blocks 2022-02-10 17:15:24 +01:00
Sébastien Villemot ef6e4c7745
Bytecode: remove unused code 2022-02-10 16:58:39 +01:00
Sébastien Villemot 0caefa1593
Bytecode: exit gracefully when M_ does not exist 2022-02-09 14:32:25 +01:00
Sébastien Villemot bb793d87cc
Block decomposition: fix deterministic simulations for block of type “Solve backward”
The results were incorrect for those two kinds of block, when not using bytecode.
2022-02-09 14:07:33 +01:00
Sébastien Villemot dd34554c4e
Block decomposition: fix computation of eigenvalues for blocks of “Solve backward complete” type 2022-02-09 14:07:33 +01:00
Sébastien Villemot 685598c6e2
Add interface to “static” and “incidence” options of “model_info”
These options were implemented and described in the reference manual, but their
interface was missing.

By the way, make various minor improvements to the description of “model_info”
in the reference manual. In particular, remove the single quotes around the two
aforementioned options (which are a remnant from an older interface).
2022-02-09 14:07:30 +01:00
Sébastien Villemot cc37d15ed3
Add libfl-dev to list of build dependencies under Debian
It is needed for /usr/include/FlexLexer.h. It used to be a dependency of flex,
but has been demoted to a recommends, so it’s better to list separately.

[skip ci]
2022-02-07 23:06:14 +01:00
Sébastien Villemot 8d3e0587dc
k_order_mean MEX: check number of output arguments
Incidentally, this fixes a gfortran warning
2022-02-04 14:38:30 +01:00
Sébastien Villemot 964763ef4d
pthread Fortran interface: fix internal type for representing pthread_t structure 2022-02-04 12:33:19 +01:00
Sébastien Villemot 39f47dc957
local_state_space_iteration_k MEX now uses the Fortran code (instead of the C++ code)
Closes: #1802
2022-02-04 11:49:46 +01:00
Sébastien Villemot 10a4ec53e9 Merge branch 'smm_field_name' into 'master'
mom.objective_function.m: fix field naming

See merge request Dynare/dynare!2000
2022-02-03 17:09:15 +00:00
Johannes Pfeifer 4ccc7c7262 mom.objective_function.m: fix field naming 2022-02-03 15:12:46 +01:00
Sébastien Villemot 2cb6988de6
Merge branch 'jscale' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1999
2022-02-03 09:25:16 +01:00
Sébastien Villemot adb4007bda
Merge branch 'smm_lsqnonlin' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1998
2022-02-03 09:24:37 +01:00
Johannes Pfeifer 217de5084c check_posterior_sampler_options: make global variable an input
Does not properly work for scale_file-option as caller has variable not global
2022-02-02 16:20:12 +01:00
Johannes Pfeifer 57eda3886d SMM: fix logic for check of vector output 2022-02-02 13:27:46 +01:00
Sébastien Villemot f8bf26571a Merge branch 'parallel_simul' into 'master'
Parallelizes local_state_space_iteration_fortran

See merge request Dynare/dynare!1987
2022-02-01 09:43:25 +00:00
NormannR 5f828e241f Parallelizes local_state_space_iteration_fortran 2022-01-31 18:44:48 +01:00
Sébastien Villemot 3f00b51950
Preprocessor update
– Fix matching of diff leads/lags in TCM and PAC models
– Fix a bug in variable mapping (M_.mapping) where some endogenous, appearing
  in a log() in a VAR or TCM, would not be mentioned
– Various refactorings related to auxiliary variables and TCM
2022-01-28 17:48:07 +01:00
Stéphane Adjemian (Charybdis) 1d916b1fe2
Bug fix.
[skip ci]
2022-01-27 11:07:09 +01:00
Stéphane Adjemian (Ryûk) fca5b99a03
Fix bug (missing condition).
The cherrypick was failing if the selected equations were not about a PAC equation (e.g. a VAR expectation
model), because the code was assuming the existence of the pac field in M_.
2022-01-27 10:49:19 +01:00
Sébastien Villemot df185cf19b Merge branch 'mom_field' into 'master'
mom: fix error message if matched_moments-block is missing

See merge request Dynare/dynare!1997
2022-01-26 14:39:24 +00:00
Sébastien Villemot 1c81c46e05
Preprocessor update
– Macroprocessor: under Windows, trim trailing slashes and backslashes in the
  value of “@#includepath” (Closes: Madysson/estimation-codes#11)
– Remove unused field M_.pac.(model_name).lhs
2022-01-25 16:58:31 +01:00
Johannes Pfeifer 4ef4b929d5 mom: fix error message if matched_moments-block is missing 2022-01-25 16:26:12 +01:00
Sébastien Villemot 9c79b0d73f
Octave: better workaround for bug 46282 2022-01-25 11:32:08 +01:00
Sébastien Villemot 79132ebe55
Build system: no longer use deprecated LFLAGS from mkoctfile
By the way, drop the -static-* flags from LDFLAGS in Windows mkoctfile stub. It
is no more needed and creates duplicates in the link command line (since those
flags are already in DL_LDFLAGS).
2022-01-24 12:52:24 +01:00
Stéphane Adjemian (Ryûk) f5f47cd834
Add new option last_simulation_period to initval_file command.
Also adjust the periods in Simulated_time_series (output of the perfect
foresight solver in the workspace). Note that this dseries object contains the
observations for the initial condition (M_.orig_maximum_lag observations) and
for the terminal condition (M_.orig_maximum_lead observations).

See #1838.

Fix testsuite (wrong file name)
2022-01-21 17:39:47 +01:00
Stéphane Adjemian (Charybdis) 38e1cd5d4e
Do not include auxiliaries in Simulated_time_series...
And add paths for the exogenous variables.
2022-01-21 16:50:42 +01:00
Sébastien Villemot 4ffa6abd4f
Preprocessor update
– Fix orig_lead_lag field for unary op auxiliary variables (Closes: #1837)
– In case of nested unary ops (e.g. log(log())), ensure that the definition of
  the external aux var references the internal aux var
– Fix orig_lead_lag field for diff lag aux vars
– Refactor the code that substitutes unary ops in model equations
– Refactor handling of var_expectation_model statements
– Add missing “time_shift” option to JSON output of var_expectation_model
– Add check to ensure that column indices in derivative matrices do not overflow
2022-01-21 14:56:55 +01:00
Sébastien Villemot 5a55e29561
Dynare++: minor fix to check for oversized problem
The maximum value of a signed integer is 2³¹−1, so the inequality test must not
be strict.
2022-01-21 14:55:37 +01:00
Sébastien Villemot 4fdb15b437
Testsuite: fix test under Octave
Enforce the positivity of standard errors in the maximum likelihood
estimations. Otherwise some stderr are estimated negative, and the Bayesian
estimation fail because the initial value is out of the bounds of the prior
shape.
2022-01-21 14:50:44 +01:00
Stéphane Adjemian (Ryûk) a08de9e661
Partial fix for #1837. 2022-01-19 09:20:22 +01:00
Sébastien Villemot 1edb8ba7ba Merge branch 'planner_check' into 'master'
evaluate_planner_objective.m: fix check for NaN moments

See merge request Dynare/dynare!1996
2022-01-18 16:45:06 +00:00
Sébastien Villemot 18060ffe4a
Testsuite: disable an estimation with mode_compute=5 that randomly fails under Octave
Similar to 3af51e3153.
2022-01-18 16:18:12 +01:00
Johannes Pfeifer b5d129de1f evaluate_planner_objective.m: fix check for NaN moments 2022-01-18 16:12:20 +01:00
Stéphane Adjemian (Charybdis) 1fd4904ccc
Fix evaluate routine if PAC's growth option is constant. 2022-01-17 16:56:58 +01:00
Stéphane Adjemian (Charybdis) 7f075ca109
Remove files that should not have been committed in e1d0ce2.
[skip ci]
2022-01-16 16:12:37 +01:00
Stéphane Adjemian (Charybdis) e1d0ce28d2
Remove aux variables from evaluate routine.
Auxiliary variables were still present in the growth neutrality correction. This
commit remove the auxiliaries, so that the user doesn't need to update the
database with the auxiliary variable definitions.

Also adds integration test.

TODO Check that it works with log unary op
TODO Complete tests by checking that the written evaluate routine works
2022-01-14 20:45:46 +01:00
Sébastien Villemot bab2b983c8 Merge branch 'occbin_shock' into 'master'
occbin: fix bug if there is only a surprise shock in the first period

See merge request Dynare/dynare!1995
2022-01-14 17:32:44 +00:00
Johannes Pfeifer 3b59253416 occbin: fix bug if there is only a surprise shock in the first period 2022-01-14 08:47:37 +01:00