Commit Graph

8687 Commits (6598d615d19fcb60cf4fba71551452f139227ead)

Author SHA1 Message Date
Marco Ratto 6598d615d1 in some cases, order is not yet set to 1 2023-02-03 14:19:16 +01:00
Marco Ratto a91c36f920 first_period_occbin_update is an index, not a boolean 2023-02-03 14:19:05 +01:00
Marco Ratto 74acb2d1f5 bug fix using index t 2023-02-03 14:18:54 +01:00
Marco Ratto 21c9d59e8c incorporate information about states in period 0 for occbin with smoother_redux 2023-02-03 14:18:32 +01:00
Marco Ratto 0622f01f4e filter out t=1 when storing aalphahat and eetahat 2023-02-03 14:18:21 +01:00
Marco Ratto b90dff1986 retrieve states in period 0 from smoother and deploy this to:
- allow having binding regimes in period 1 with occbin
- further improve recovering of smoothed variables in period 1 under smoother_redux option
2023-02-03 14:18:10 +01:00
Sébastien Villemot 5aca770931
perfect_foresight_with_expectation_errors_{setup,solver}: fix bugs with several exogenous
Closes: #1883
2023-01-24 15:02:07 +01:00
Sébastien Villemot 538f38d269 Merge branch 'occbin_debug' into 'master'
missing_observations_kalman_filter.m: provide debugging information on PKF problems

See merge request Dynare/dynare!2122
2023-01-23 10:39:17 +00:00
Johannes Pfeifer 4307711c60 missing_observations_kalman_filter.m: provide debugging information on PKF problems 2023-01-19 11:57:35 +01:00
Sébastien Villemot cfaf5a685d
Preprocessor: actually obey the “mfs” option for the static model
As a consequence, fix steady state computation when mfs > 0.
2023-01-17 19:08:32 +01:00
Sébastien Villemot 8aabdaee9c
Consolidate functions for solving steady state with block and/or bytecode 2023-01-17 15:25:47 +01:00
Sébastien Villemot 7b6058509f
Drop unused function 2023-01-17 14:48:36 +01:00
Sébastien Villemot 005769210a
Drop unused function 2023-01-17 14:47:52 +01:00
Sébastien Villemot 5342476196
Drop unused function 2023-01-17 14:46:50 +01:00
Sébastien Villemot 023afc7ebb
Drop unused function 2023-01-17 14:46:46 +01:00
Sébastien Villemot 1c5c1639e1
Drop unused function 2023-01-16 14:38:09 +01:00
Sébastien Villemot e5f100b152
Drop unused function 2023-01-16 14:38:06 +01:00
Sébastien Villemot c187d0ead9
Drop unused function
It should probably have been removed in 9c6e219990.
2023-01-16 14:38:03 +01:00
Sébastien Villemot 8f1a4cb363
Drop block-decomposed first-order perturbation solution and kalman filter 2023-01-13 16:57:49 +01:00
Stéphane Adjemian (Ryûk) 91dd917d62
Cosmetic/Efficiency changes.
- Use bsxfun for centering data if possible,
 - Factorise LU decomposition,
 - Remove useless operations during the presampling step.
2023-01-12 17:45:51 +01:00
Sébastien Villemot e250067959
Use sparse representation for block-decomposed perfect foresight and steady state computation
Ref. #1859
2023-01-12 16:28:02 +01:00
Sébastien Villemot 3c55aa57e1
Use sparse representation for evaluating the static model
We also take advantage of the fact that the non-block version is always
available next to the block one, so when we are only interested in the residual
as a whole, we simplify by using the non-block version.
2023-01-10 16:21:44 +01:00
Sébastien Villemot b343f0231d
Ensure that generated sparse MEX files are unloaded before the preprocessor is run
This workaround already existed for the legacy representation.
2023-01-10 16:07:29 +01:00
Johannes Pfeifer 0b0a4ef386 dsge_likelihood.m: flag analytical_derivation as incompatible with endogenous_prior 2023-01-09 17:57:18 +01:00
Sébastien Villemot f84753025d
Bytecode: the block and non-block versions now coexist in parallel
As a consequence, a new “block_decomposed” option of the bytecode MEX has been
introduced to explicitly select the block-decomposed version.

Note that we do not always use the “block_decomposed” option even when the
“block” option has been passed to the user, in situations where the block
decomposition brings nothing (e.g. when evaluating the residuals of the whole
model).
2023-01-09 15:20:46 +01:00
Stéphane Adjemian (Ryûk) b7693c3273
Add routine for conditional likelihood (first order). 2023-01-06 14:57:45 +01:00
Sébastien Villemot f93a7f7192
Merge branch 'disp_aux_4' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2118
2023-01-04 10:59:21 +01:00
Johannes Pfeifer 45450651a2 model_info.m: fix display of block decomposition 2023-01-03 16:17:43 +01:00
Sébastien Villemot ead9023cec Merge branch 'steady_nan' into 'master'
steady state computation: trap cases where parameters are NaN

See merge request Dynare/dynare!2119
2023-01-03 11:24:26 +00:00
Stéphane Adjemian (Guts) 5b72a3041c
Use new unit tests interface. 2023-01-02 22:58:20 +01:00
Johannes Pfeifer 64d61c3268 steady state computation: trap cases where parameters are NaN 2022-12-28 11:48:23 +01:00
Johannes Pfeifer 1866286fb8 subst_auxvar.m: correctly take care of exo leads and lags 2022-12-21 11:16:41 +01:00
Johannes Pfeifer 1219f085e7 disp_dr.m: fix display for type 4 auxiliaries 2022-12-20 13:06:05 +01:00
Stéphane Adjemian (Ryûk) aee541aabe
Update dseries submodule. 2022-12-15 17:25:29 +01:00
Johannes Pfeifer a4634cd1b7 dynare_estimation_init.m: set observable mapping for inversion filter if only smoother is used 2022-12-09 13:19:32 +01:00
Johannes Pfeifer e7ca989b21 prior_posterior_statistics.m: fix logical condition 2022-12-05 14:52:03 +01:00
Johannes Pfeifer 9de0688cfe Make default jscale depend on number of estimated parameters
Related to https://git.dynare.org/Dynare/dynare/-/issues/1849
2022-12-03 16:00:27 +01:00
Sébastien Villemot d574705b4a
Design and performance improvement to solve_algo={12,14}
Use the new time-recursive block decomposition computed by the preprocessor
for:
- the simulation of backward models with “simul_backward”
- the perfect foresight simulation of purely backward/forward/static models

Also note that in this case, the preprocessor now defaults to “mfs=3” (i.e. it
minimizes the set of feedback variables and tries to renormalize equations).

This replaces the previous algorithm based on Dulmage-Mendelsohn (dmperm), plus
an ad hoc identification of some equations that can be evaluated (those with a
LHS equal to a variable, the log of a variable, or the diff-log of a variable).

By the way, the block_trust_region MEX has been modified so that it accepts a
boolean argument to decide whether it performs a Dulmage-Mendelsohn
decomposition (if not, then it performs a simple trust region on the whole
nonlinear system).

This provides a significant performance improvement (of almost an order of
magnitude for solve_algo=14 on a 700 equations model).
2022-11-30 14:47:57 +01:00
Johannes Pfeifer bbdcdc89a2 sim1.m: use operation that preserves sparsity 2022-11-28 16:20:44 +01:00
Sébastien Villemot ba9b0e9829
Merge branch 'occbin_IVF' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2019
2022-11-28 11:05:03 +01:00
Stéphane Adjemian (Charybdis) 3aeb1ff7e3
Fix pac.estimate.iterate_ols.
Was crashing if the auxiliary model contains a constant.

See https://forum.dynare.org/t/iterative-ols-for-pac-equation/21379.
2022-11-24 16:29:49 +01:00
Johannes Pfeifer 26fbc6c56d IVF: improve error handling 2022-11-23 16:46:40 +01:00
Johannes Pfeifer 80f6799c38 IVF: only store smoother results if requested 2022-11-23 16:44:18 +01:00
Johannes Pfeifer 1e2fb88d32 IVF: fix error handling for smoother 2022-11-23 15:37:12 +01:00
Johannes Pfeifer eeecccd29b IVF_core.m: fix header 2022-11-23 15:18:44 +01:00
Johannes Pfeifer 2c879cc64c compute_trend_coefficients.m: fix header 2022-11-18 22:04:07 +01:00
Marco Ratto 178e892e04 big fix for initialization of diffuse filter with correlated observation error covariance matrix 2022-11-18 12:41:15 +01:00
Marco Ratto 81ba952414 big fix in diffuse filter initialization: incorrect mapping of observables when removing zero columns of T 2022-11-18 10:52:37 +01:00
Sébastien Villemot 3184db12f2 Merge branch 'occbin_smoother' into 'master'
OccBin Smoother: do not write non-converged results to oo_

Closes #1863

See merge request Dynare/dynare!2100
2022-11-16 18:40:05 +00:00
Johannes Pfeifer 4d603fb335 OccBin Smoother: do not write non-converged results to oo_
Closes https://git.dynare.org/Dynare/dynare/-/issues/1863
2022-11-16 17:13:08 +01:00