Commit Graph

15205 Commits (estimate-initial-state)

Author SHA1 Message Date
Stéphane Adjemian (Ryûk) d504788e88
[WIP] Estimate initial state in first order conditional filter. 2023-01-12 17:50:46 +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
Sébastien Villemot 5af6e861a6 Merge branch 'endo_prior' into 'master'
dsge_likelihood.m: flag analytical_derivation as incompatible with endogenous_prior

See merge request Dynare/dynare!2120
2023-01-10 10:14:57 +00: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 (Guts) f769420888
Document new option conditional_likelihood. 2023-01-06 15:39:10 +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 644e72c33c
Preprocessor: various refactorings 2023-01-05 18:16:17 +01:00
Sébastien Villemot a8f5bdd525
Build system: no longer need to pass -pthread or -mthreads for C++11 threads as of GCC 10 2023-01-05 17:58:42 +01:00
Sébastien Villemot 9c4dd1b1d0
Remove irrelevant comment
[skip ci]
2023-01-04 15:00:27 +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
Sébastien Villemot 79f5761f18
Preprocessor: new options “block_static” and “block_dynamic” to “model_info”
Also remove “static” option.

Ref. !2118
2023-01-04 10:58:09 +01:00
Sébastien Villemot 14ce7e5fe1
README.md: remove build instructions for Dynare++
Ref. #1825

[skip ci]
2023-01-03 23:39:56 +01:00
Sébastien Villemot 3244340e7a
Windows package: bump dependencies
In particular, add -fstack-protector to CXXFLAGS, to avoid undefined symbols at
link time.
2023-01-03 18:30:52 +01:00
Sébastien Villemot 8832c42c50
Windows package: drop start menu shortcut to uninstaller
This shortcut is filtered out by Windows ⩾ 8, so it is useless.

As a consequence, only create a start menu entry when documentation is
installed.
2023-01-03 17:03:47 +01:00
Sébastien Villemot effc049631
Update copyright years 2023-01-03 16:36:49 +01:00
Johannes Pfeifer 45450651a2 model_info.m: fix display of block decomposition 2023-01-03 16:17:43 +01:00
Sébastien Villemot c1922c3ad0
Stop building and shipping the Dynare++ executable
Incidentally, no longer run Dynare++ unit tests, since they are intricated in
the Dynare++ build system. If we finally decide not to drop the Dynare++
codebase for our MEX files, then we should probably find a way to build and run
them again.

Ref. #1825
2023-01-03 14:51:07 +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
Sébastien Villemot aec0efa8f6
Merge branch 'disp_aux_4' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2117
2022-12-20 17:22:46 +01:00
Sébastien Villemot 7f33c128db
Preprocessor: use_dll: fixes to parallel compilation 2022-12-20 17:10:13 +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
Sébastien Villemot bce80a9f3b
Windows package: ship isl inside the package, it is now needed by the embedded GCC 2022-12-14 17:50:36 +01:00
Sébastien Villemot a92ba2d785
Preprocessor update
– Fix indexing in M_.endo_trends (Ref. #1648)
– JSON: fix output of date options (Closes: #1875)
– Allow LOG_* auxiliary variables in various commands
– Macro processor: fix tracking of line numbers after @#define, @#include and
  @#includepath directives
– Macro processor: fix error message when @#include is used with nonexistent file
2022-12-14 17:20:42 +01:00
Sébastien Villemot 83b80cef50
Preprocessor update
– Sparse representation: fix bug in output of indices in driver and JSON files
– Minor simplification in static block decomposition driver output
2022-12-12 14:59:31 +01:00
Sébastien Villemot 4e4cd75c91 Merge branch 'occbin_IVF_smoother' into 'master'
dynare_estimation_init.m: set observable mapping for inversion filter if only smoother is used

See merge request Dynare/dynare!2116
2022-12-09 14:24:11 +00: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
Sébastien Villemot 712e4af16a
Preprocessor update
– Sparse representation: compatibility fix with MATLAB < R2020a (Closes: #1875)
– Sparse representation: fix bug in output of indices in driver and JSON files
2022-12-08 14:36:57 +01:00
Sébastien Villemot 885080ea01 Merge branch 'doc_string' into 'master'
Manual: document passing of strings to macro processor

Closes #1877

See merge request Dynare/dynare!2115
2022-12-07 16:30:51 +00:00
Johannes Pfeifer a35e114625 Manual: document passing of strings to macro processor
Closes #1877
2022-12-06 19:26:07 +01:00
Sébastien Villemot 689355ebc8
Windows package: ensure that non-admin users cannot modify Dynare installation files
Intigriti reference: DYNARE-7TULYVR8
2022-12-06 18:36:41 +01:00
Sébastien Villemot 0e3bf1e857 Merge branch 'prior_posterior_statistics' into 'master'
prior_posterior_statistics.m: fix logical condition

See merge request Dynare/dynare!2114
2022-12-06 09:32:31 +00:00
Johannes Pfeifer e7ca989b21 prior_posterior_statistics.m: fix logical condition 2022-12-05 14:52:03 +01:00
Sébastien Villemot 62644839ec Merge branch 'jscale' into 'master'
Make default jscale depend on number of estimated parameters

See merge request Dynare/dynare!2041
2022-12-04 08:50:50 +00: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 6185767f63
Fix typo
[skip ci]
2022-11-30 15:21:49 +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
Sébastien Villemot 10fdc42516
block_trust_region MEX: add support for sparse Jacobian
If the function to be solved returns a sparse Jacobian, simply convert it to a
dense representation.
2022-11-30 14:47:57 +01:00
Sébastien Villemot 3e391347d4
Manual: fix wrong anchor 2022-11-30 14:42:15 +01:00
Sébastien Villemot 4e08aadafa
Test suite: remove unused field in .trs files 2022-11-30 10:26:28 +01:00
Sébastien Villemot 595f3d1dce
Makefile indentation fixes 2022-11-29 17:40:20 +01:00
Sébastien Villemot 9976649c78
Test suite: fix logic of unit tests for nonlinear solvers 2022-11-29 17:34:16 +01:00
Sébastien Villemot 304c5bdf21 Merge branch 'sim1_debug' into 'master'
sim1.m: use operation that preserves sparsity

See merge request Dynare/dynare!2111
2022-11-29 08:25:02 +00:00