Sébastien Villemot
ed75e4c176
dynamic_backward_model_for_inversion: turn into a local function of backward_model_inversion
2023-04-13 15:47:43 +02:00
Sébastien Villemot
66b648157f
Purely backward models simulation: use the sparse representation of the dynamic file
2023-04-13 15:47:43 +02:00
Sébastien Villemot
34e82f9697
sim1_purely_forward: use the sparse representation of the dynamic file
2023-04-13 15:47:43 +02:00
Sébastien Villemot
170a4dce0e
dynamic_forward_model_for_simulation: turn into a local function of sim1_purely_forward
2023-04-13 15:47:43 +02:00
Sébastien Villemot
5f42e84b0b
sim1_purely_static: use the sparse representation of the dynamic file
2023-04-13 15:47:43 +02:00
Sébastien Villemot
4a793f89ff
dynamic_static_model_for_simulation: turn into a local function of sim1_purely_static
2023-04-13 15:47:43 +02:00
Sébastien Villemot
942c6f9a20
🐛 static_model_inversion: fix handling of STEADY_STATE() operator
...
Of course, this operator does not make much sense in the context of a static
model, but it should still work.
2023-04-13 15:47:43 +02:00
Sébastien Villemot
9deb1e6049
static_model_inversion: use the sparse representation of the dynamic file
2023-04-13 15:47:41 +02:00
Sébastien Villemot
bc68915dfa
static_model_for_inversion: turn into a local function of static_model_inversion
2023-04-13 11:55:27 +02:00
Stéphane Adjemian (Ryûk)
4f3a0df884
Do not overwrite solve_algo option.
2023-04-12 09:53:46 +02:00
Sébastien Villemot
421eb1482c
Octave compatibility: qz() will be MATLAB-compatible in version 9
...
[skip ci]
2023-04-07 10:26:54 +02:00
Stéphane Adjemian (Ryûk)
51ffe77fb7
Add error flag (new output) to simul_backward_model routine.
2023-04-05 11:09:59 +02:00
Sébastien Villemot
c4bc6316d0
Make matlab/missing/mex/mjdgges/mjdgges.m Octave-compatible
...
[skip ci]
2023-04-04 18:40:37 +02:00
Sébastien Villemot
cdb786017b
Preprocessor update
...
– ramsey_policy is now fully implemented at the preprocessor level
– 🐛 ramsey_policy: lift restriction that order must be ⩽ 2
– 🐛 Extend incompatibility with deterministic exogenous to ramsey_model command
2023-03-29 16:26:02 +02:00
Sébastien Villemot
534515dc66
dyn_ramsey_static.m: simplifications + improve comments
2023-03-29 14:33:01 +02:00
Sébastien Villemot
ffe6eb4d40
Preprocessor: overhaul of M_ fields counting Ramsey/discretionary orig endos/eqs
...
– new fields: M_.ramsey_orig_{eq,endo}_nbr
– drop M_.ramsey_eq_nbr and M_.orig_eq_nbr
– new field: M_.discretionary_orig_eq_nbr
2023-03-29 14:33:01 +02:00
Sébastien Villemot
674ebce84b
🐛 Ramsey steady state computation could fail if expectation or diff operator is present
...
If auxiliary variables were created *before* the Lagrange multipliers (e.g. aux
vars related to the expectation or diff operators), then the vector of
residuals of the reduced Ramsey steady state problem (with respect to original
variables, as computed by the dyn_ramsey_static_1 subfunction) was incorrect.
2023-03-29 14:31:01 +02:00
Sébastien Villemot
4291b4f07e
The preprocessor now sets options_.{ramsey,discretionary}_policy in all cases
2023-03-28 18:30:08 +02:00
Sébastien Villemot
69d0aa670b
Preprocessor update
...
– 🐛 Incorrect stochastic transformation with endo lead ⩾ 2 or exo lead ⩾ 1 in
external functions
– New solution for solving the Ramsey steady state with Lagrange multipliers
with lead or lag ⩾ 2. Now generates a dedicated file for derivatives of static
model w.r.t. multipliers using chain rule derivation (#633 , #1119 , #1133 )
– 🐛 Incorrect cost table used when computing temporary terms in static model
with “use_dll”
– 🐛 Crash when writing the (static) set_auxiliary_variables file in the
presence of external functions
2023-03-28 14:49:28 +02:00
Sébastien Villemot
9fa64ee0d4
ramsey_policy and estimation: remove incorrect check about number of instruments
...
These should only be warnings, and they are already implemented in
model_diagnostics (see 39ae080997
).
2023-03-24 12:31:41 +01:00
Sébastien Villemot
43190b001f
Fix typo in commit 647ff5cd20
2023-03-17 18:19:03 +01:00
Sébastien Villemot
4f52ba0dbc
CI: bump to MATLAB R2023a
2023-03-17 16:32:13 +01:00
Sébastien Villemot
13908ee068
Provisions for MATLAB R2023a
2023-03-17 16:32:09 +01:00
Sébastien Villemot
647ff5cd20
MATLAB compatibility: warning subscripting:noSubscriptsSpecified removed in R2023a
2023-03-17 16:03:37 +01:00
Sébastien Villemot
f07d73e63e
CI: use system-wide Octave binary
2023-03-16 17:43:39 +01:00
Sébastien Villemot
816e94e9f9
Octave fix: do not change the global recursive delete confirmation setting
...
Only change the setting locally, as is done in isolder.m and
parallel/dynareParallelRmDir.m.
2023-03-16 17:24:18 +01:00
Sébastien Villemot
060c694066
model_diagnostics: remove workaround for Octave
...
The rank() and null() functions accept a tolerance argument since at least
Octave 3.8.
2023-03-16 17:24:18 +01:00
Sébastien Villemot
441173ec5a
Remove workaround for eig() function under Octave
...
The eig() function has been been able to return the left eigenvectors since at
least Octave 4.4.
2023-03-16 17:24:18 +01:00
Sébastien Villemot
b7477ac0b6
cmaes: remove broken local isoctave() function
2023-03-16 17:24:18 +01:00
Sébastien Villemot
56ffc87e1c
Remove workaround for gaminv() bug fixed in Octave 4.4
...
See #161 and http://savannah.gnu.org/bugs/?52569
2023-03-16 17:24:18 +01:00
Stéphane Adjemian (Ryûk)
6e0a09f5fa
Add interface to flip endogenous and exogenous variables.
...
Calls to change_type can be done in a file named model-inversion-setup.inc in
the current folder. The file is included, between the declaration of the
exogenous variables and the model block, in the aggregate mod file if and only
if the macrovariable InvertModel exists and is equal to True. To invert a model,
the user just has to run the aggregated mod file with -DInvertModel=True on the
command line.
2023-03-16 14:12:21 +01:00
Johannes Pfeifer
c8045e2c5e
model_diagnostics.m: fix logic of using block information
...
Also fixes bug with rank not working with sparse matrices
2023-03-15 18:11:37 -04:00
Sébastien Villemot
ff318d1163
Merge branch 'model_diagnostics' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2125
2023-03-13 17:59:43 +01:00
Johannes Pfeifer
39ae080997
model_diagnostics.m: fix logic of Ramsey instrument checks
...
The mapping from economic to steady state instruments is not one-to-one. Trigger warnings instead of errors.
2023-03-13 10:39:06 -04:00
Stéphane Adjemian (Ryûk)
7583790851
Improve error message.
2023-03-09 11:25:04 +01:00
Stéphane Adjemian (Ryûk)
a3b249c375
Update dseries submodule (fill_ method).
2023-03-08 18:16:11 +01:00
Stéphane Adjemian (Ryûk)
0d39cab9e1
Add option to print parameter values.
2023-03-04 22:31:54 +01:00
Stéphane Adjemian (Ryûk)
c006645c7f
Remove output argument.
2023-03-04 20:10:50 +01:00
Stéphane Adjemian (Ryûk)
2ab19c1aa9
Do not compute variables if they are not returned.
2023-03-04 20:10:06 +01:00
Stéphane Adjemian (Ryûk)
656a7bf867
Cosmetic changes.
2023-03-04 18:03:59 +01:00
Stéphane Adjemian (Ryûk)
f6a76066f9
Remove warning.
2023-03-04 17:52:50 +01:00
Stéphane Adjemian (Ryûk)
0b9141fdca
Remove and rename routine (print_equations).
...
Also:
- rename first input argument,
- remove second argument (always expand expectations).
2023-03-04 17:49:33 +01:00
Stéphane Adjemian (Ryûk)
a0d53277c1
Fix condition (variable name can have less than characters).
2023-03-04 17:13:45 +01:00
Sébastien Villemot
f02d66ce7c
moment_function: remove unused function
2023-03-01 16:47:42 +01:00
Sébastien Villemot
a2591c474e
selif: remove unused function
2023-03-01 16:44:05 +01:00
Sébastien Villemot
845eac99d3
bicgstab_: remove unused function
2023-02-17 22:01:32 -05:00
Sébastien Villemot
f5523c7bab
bksupk: remove unused function
2023-02-17 22:01:32 -05:00
Sébastien Villemot
62805b7183
perfect_foresight_simulation + bksup0: remove unused functions
2023-02-17 22:01:32 -05:00
Sébastien Villemot
f938014e84
bksup1: turn into a local function of sim1_lbj
2023-02-17 22:01:32 -05:00
Sébastien Villemot
24f689b2de
restricted_steadystate: turn into local function of evaluate_steady_state_file
2023-02-17 22:01:28 -05:00
Sébastien Villemot
6bddbca01d
bytecode_steadystate: turn into a local function of evaluate_steady_state
2023-02-17 22:01:25 -05:00
Sébastien Villemot
1a421d93dd
steady: turn homotopy{1,2,3} into local functions
2023-02-16 14:22:27 -05:00
Sébastien Villemot
2c44923384
No longer turn off output pagination
...
The “more off” command is incompatible with MATLAB Online.
Moreover, output pagination is disabled by default on MATLAB and on
Octave (since version 4 for the latter), so in most cases that command would do
nothing.
Incidentally, this allows users to enable output pagination should they want
to.
[skip ci]
2023-02-08 11:02:29 -05:00
Sébastien Villemot
65053667cf
New “homotopy_alt_starting_point” option to “perfect_foresight_solver” command
2023-02-07 14:49:00 -05:00
Sébastien Villemot
d6370a6d28
Merge branch 'occbin_init_smo' into 'master'
...
occbin enhancements and bug fixes
See merge request Dynare/dynare!2123
2023-02-07 14:23:14 +00:00
Sébastien Villemot
be698d5f98
Perfect foresight + homotopy: add missing newline
2023-02-06 15:14:02 -05:00
Marco Ratto
63a299f64e
new error codes introduced and applied for occbin smoother.
...
- 321 when simulation within occbin smoother fails
- 322 when occbin smoother does not converge.
2023-02-06 14:58:42 +01:00
Marco Ratto
f565a0a84a
bug fix and avoid missing output arguments and when smoother exits after non convergence of simulation.
2023-02-06 11:39:24 +01:00
Marco Ratto
f0aa2fb86f
cosmetic change
2023-02-03 14:25:59 +01:00
Marco Ratto
b886de92dc
trap case when simulation does not converge within smoother
2023-02-03 14:25:32 +01:00
Marco Ratto
cdd195576e
store binding_indicator_history once it has been set
2023-02-03 14:24:58 +01:00
Marco Ratto
783c237d17
evaluate set_prior only when needed
2023-02-03 14:21:02 +01:00
Marco Ratto
035db8b8c4
bug fixes when using guess regime
2023-02-03 14:20:51 +01:00
Marco Ratto
77e87be48b
try with base regime before returning error
2023-02-03 14:20:39 +01:00
Marco Ratto
22e6fb1814
make sure also ALL updated variables in period 1 are reconstructed with smoother_redux. test model changed accordingly.
2023-02-03 14:20:28 +01:00
Marco Ratto
7132cb593e
bug fix for init variables to be defined only with occbin PKF
2023-02-03 14:20:16 +01:00
Marco Ratto
50aa20c742
eliminate buggy and useless check for existence of guess regime variable. this may create bugs in running PKF update step!
2023-02-03 14:20:02 +01:00
Marco Ratto
e51a30eaf5
Bug fix for the case where no prior is defined for estim params
2023-02-03 14:19:50 +01:00
Marco Ratto
a346639020
when filter is NOT diffuse, allow likelihood to handle violation of constraints in period 1.
2023-02-03 14:19:28 +01:00
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
Marco Ratto
03f93c5329
bug fix with steady state when plotting the expand of groups of shocks
2022-11-15 23:10:38 +01:00
Marco Ratto
b0ce054c00
missing line that stores info on violation of constraint in expectation (needed to check for periodic solutions)
2022-11-15 23:09:48 +01:00
Sébastien Villemot
7075e05ddf
Merge branch 'cosmetic' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2096
2022-11-07 14:21:26 +01:00
Sébastien Villemot
d602453bb6
CI: bump to Octave 7.3.0
2022-11-07 14:11:27 +01:00
Johannes Pfeifer
5dbbe6d72c
compute_Pinf_Pstar.m: fix header
2022-11-07 10:12:34 +01:00
Sébastien Villemot
b336fbeb0d
Merge branch 'occbin_features' of git.dynare.org:rattoma/dynare
...
Ref. !2094
2022-11-04 14:59:06 +01:00
Marco Ratto
a1e0c35c1f
bug fix when max_check_ahead_periods interacts with curb_retrench
2022-11-04 11:20:52 +01:00
Marco Ratto
2f23604824
new option max_check_ahead_periods (renaming old undocumented option max_periods), that truncates the number of periods for which agents check ahead the regime (a sort of myopic behavior beyond max_check_ahead_periods),
...
the option is valid for simul, smoother and likelihood.
2022-11-04 11:17:37 +01:00
Sébastien Villemot
ee200a03b8
isoctave: performance improvement
...
Explicitly specify that OCTAVE_VERSION is a builtin. Otherwise the call to
“exists” will look for a file, among other things, which takes a lot of time.
2022-11-02 17:54:58 +01:00
Sébastien Villemot
720de52702
Make get_equation_number_by_tag more robust
...
The implementation was relying on the fact that in M_.equations_tags, all
equations have a name tag and they appear in the order given by equation
numbers. There is no guarantee that this will always be the case, so use a more
robust approach.
By the way, improve the implementation of get_equation_name_by_number.
2022-10-26 14:18:59 +02:00
Sébastien Villemot
5f6946a1b9
Display equation names in “model_info” command
2022-10-25 18:41:17 +02:00
Sébastien Villemot
befc6f59b9
Improve comments
...
[skip ci]
2022-10-24 18:05:15 +02:00
Marco Ratto
e31b313776
cosmetic change
2022-10-20 19:09:52 +02:00
Marco Ratto
d0150997f6
accept periodic solution in simulations ONLY IF two regimes differ by one period, to avoid pathological solutions.
...
We also do not check for periodicity when check ahead periods have been increased endogenously, again to avoid mis-identified periodicity.
Any other type of periodicity, is flagged as non-convergence with error code 313 (infinite loop of solutions).
2022-10-20 16:13:34 +02:00
Marco Ratto
2ccd3d4a0e
if max_periods is set to finite number, enforce algorithm to check ahead ONLY until max_periods (i.e. when we want agents to be myopic beyond some future period)
2022-10-20 16:11:01 +02:00
Marco Ratto
3765ef77cd
add option reset_check_ahead_periods_in_new_period:
...
when performing stochastic simulations, check ahead periods may increase endogenously at some point for regimes very long in expectation. such longer check ahead periods may considerably slow down convergence in subsequent periods, so users may want to avoid this.
2022-10-20 16:10:14 +02:00
Marco Ratto
f8adfa3fa5
with smoother_redux, factor out definition of nk to reconstruct filtered variables, and use a local variable nk (so options_.nk may remain empty).
2022-10-20 15:30:37 +02:00
Marco Ratto
bb9e45d0d0
max size for QMC is 1111
2022-10-20 15:14:39 +02:00
Marco Ratto
1a46c1dc89
impede prior_trunc=0 when doing sensitivity
2022-10-20 15:14:09 +02:00
Marco Ratto
eb41618614
trap errors also in univariate update step for occbin
2022-10-20 15:06:36 +02:00
Marco Ratto
ce21248e97
set noprint = true when simulating, to avoid crashes; only save info1 file under debug option
2022-10-20 15:06:26 +02:00
Marco Ratto
eb6f17e783
check if initial states are empty, and set them to zero.
2022-10-20 15:05:39 +02:00
Johannes Pfeifer
cbbbdf4b3d
make_y_.m: fix interaction with steady_state_model
...
closes https://git.dynare.org/Dynare/dynare/-/issues/1866
2022-10-13 16:33:58 +02:00
Johannes Pfeifer
fe0606ae06
logarithmic_reduction.m: use positive penalty add-on
2022-10-11 16:13:03 +02:00
Johannes Pfeifer
5226db4b3c
logarithmic_reduction.m: add missing error codes
2022-10-11 16:12:03 +02:00
NormannR
afb044c23e
Fix cycle reduction:
...
(i) making the norms consistent between cycle_reduction and its test;
(ii) remove hard errors in cycle_reduction Fortran and Matlab routines
2022-10-11 12:11:30 +02:00
NormannR
855887b249
Implements a logarithmic reduction Fortran routine and the associated test
2022-10-11 12:11:06 +02:00
NormannR
3ea0baf21e
Matlab logarithmic reduction: making norms and error codes consistent with cyclic reduction codes
2022-10-11 09:51:22 +02:00
Sébastien Villemot
e8444c16a7
Merge branch 'kalman_algo_3' into 'master'
...
kalman_update_algo_3.m: correct options name
See merge request Dynare/dynare!2090
2022-10-10 15:36:03 +00:00
Johannes Pfeifer
95a15815a8
kalman_update_algo_3.m: correct options name
2022-10-08 18:01:05 +02:00
Johannes Pfeifer
7874c302a0
Cycle reduction: account for new error codes
2022-10-03 17:15:20 +02:00
Sébastien Villemot
5b8fee5237
Merge branch 'cycle_reduction_fortran' of git.dynare.org:normann/dynare
...
Ref. !2085
2022-10-03 14:40:55 +02:00
Normann Rion
d17204cc84
Implements a cycle reduction Fortran routine and the associated test.
...
The Fortran routine replaces the former Matlab code in matlab/cycle_reduction.m
2022-10-03 14:38:12 +02:00
Sébastien Villemot
2ab174aa8c
Merge branch 'cosmetics' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2087
2022-10-03 14:31:35 +02:00
Sébastien Villemot
9938f08790
Merge branch 'occbin_error' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2086
2022-10-03 14:31:02 +02:00
Normann Rion
7af14aaa0d
Fix cycle_reduction.m:
...
- a condition of an if-then-else block is never fulfilled
- dimensions are inconsistent in the solution-check output message
2022-10-03 11:21:15 +02:00
Johannes Pfeifer
d5d3e9060b
calibrate_mh_scale_parameter.m: fix typo in error message
...
[skip CI]
2022-09-30 14:01:34 +02:00
Johannes Pfeifer
5defbdeb92
dsge_likelihood.m: add missing penalty for Occbin
2022-09-30 09:55:00 +02:00
Normann Rion
1b12d9e44b
Fixes local_state_space_iteration_3_test: sets a default value for the number of threads local_state_space_iteration_3 may use
2022-09-27 11:03:36 +02:00
Sébastien Villemot
39ac1f7628
Particles submodule update
...
This should have gone into !2071 .
2022-09-26 17:55:36 +02:00
NormannR
4cdb763ea4
Integrates the local_state_space_iteration_3 mex into dynare's bayesian estimation eco-system
...
Should be merged after the mex MR !2045 and the particles MR !16
2022-09-26 09:14:34 +02:00
Sébastien Villemot
755c5645a6
Merge branch 'irf' into 'master'
...
Fix posterior IRF generation with loglinear option
See merge request Dynare/dynare!2083
2022-09-21 15:44:11 +00:00
Stéphane Adjemian (Ryûk)
9ea8e17ff2
Update dseries submodule.
...
Add function returning dummy variable in a dseries object.
2022-09-21 10:56:53 +02:00
Johannes Pfeifer
ee8dfb76c4
Fix posterior IRF generation with loglinear
...
The unlogged steady state was used for both the starting value and the baseline
2022-09-21 10:14:23 +02:00
Johannes Pfeifer
12ec1ec0e6
PosteriorIRF_core1.m: replace function using globals
2022-09-21 09:29:43 +02:00
Johannes Pfeifer
be2dd4456d
getIrfShocksIndx.m: replace global variables by inputs
2022-09-21 09:27:43 +02:00
Johannes Pfeifer
945379a318
resol.m: use isempty instead of length
2022-09-21 09:25:06 +02:00
Johannes Pfeifer
9506e723c9
ispd.m: filter out Octave incompatibility https://savannah.gnu.org/bugs/?63082
2022-09-20 12:42:04 +02:00
Frédéric Karamé
128eaa2da5
Add SMC samplers.
...
Ref. !2005
2022-09-19 16:32:28 +02:00
Sébastien Villemot
83836350e0
Merge branch 'stacked' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2079
2022-09-19 16:25:21 +02:00
Sébastien Villemot
ef5f25c17a
Merge branch 'model_inversion' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2080
2022-09-19 16:22:42 +02:00
Normann Rion
7721ea041c
Amends particle filters to use the local_state_space_iteration_3 mex
2022-09-19 15:43:10 +02:00
Normann Rion
7fac60f5f6
Fix auxiliary_particle_filter.m: strange iteration range `for i=1:size(nodes)`
...
All hunks depending on this loop amended
2022-09-19 15:16:29 +02:00
Normann Rion
ea01f8f22a
Fix online_particle_filter.m: wrong condition for pruning in terms of order selection
2022-09-19 06:53:13 +01:00
Johannes Pfeifer
cf7b06e96d
perfect-foresight-models/solve_stacked_problem.m: restore compatibility with Matlab before auto expansion was introduced
2022-09-16 19:27:23 +02:00
Johannes Pfeifer
43978cada3
mom.optimal_weighting_matrix.m: assure symmetry of W_opt
2022-09-16 11:15:15 +02:00
Sébastien Villemot
2c063175de
CI: bump to MATLAB R2022b
2022-09-15 15:59:32 +02:00
Sébastien Villemot
36a7b019fc
Provisions for MATLAB R2022b
2022-09-15 15:59:32 +02:00
Johannes Pfeifer
73ca68e052
model_inversion: Header cosmetics
2022-09-15 10:16:05 +02:00
Sébastien Villemot
68b527f8a7
Merge branch 'sim1' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2076
2022-09-13 17:36:26 +02:00
Sébastien Villemot
ac238ce625
dseries: fix bug in @dseries/plot in relation to “hold on”
2022-09-13 17:34:40 +02:00
Johannes Pfeifer
66fa6e6742
sim1_purely_backward.m: fix typo
2022-09-13 13:52:29 +02:00
Sébastien Villemot
9b787d8417
Merge branch 'mcp_steady' into 'master'
...
Provisions for solving steady state with MCP-tag
See merge request Dynare/dynare!1877
2022-09-13 09:26:08 +00:00
Johannes Pfeifer
3fbab4cbe0
Provisions for solving steady state with MCP-tag
2022-09-12 17:18:16 +02:00
Sébastien Villemot
b071e85214
Merge branch 'lmmcp' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2067
2022-09-12 16:58:05 +02:00
Sébastien Villemot
6437fc0fce
Merge branch 'model_debug' into 'master'
...
model_diagnostics.m: use boolean for debug option as block_trust_region expects it
See merge request Dynare/dynare!2066
2022-09-08 15:30:55 +00:00
Sébastien Villemot
27075fa8eb
Merge branch 'path' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2073
2022-09-06 12:29:44 +02:00
Sébastien Villemot
d92fa5db17
CI: bump to Octave 7.2.0
2022-09-06 11:20:54 +02:00
Johannes Pfeifer
0225cb23ac
Path solver: trigger lmmcp flag
...
Solves https://git.dynare.org/Dynare/dynare/-/issues/1720 for PATH solver
2022-09-06 09:34:20 +02:00
Johannes Pfeifer
85a894efde
lmmcp: display norm of residuals in homotopy
2022-09-01 13:00:09 +02:00
Stéphane Adjemian
4aa47e521c
Merge branch 'Cosmetics' into 'master'
...
Cosmetic fixes to various functions
See merge request Dynare/dynare!2072
2022-08-31 14:57:16 +00:00
Stéphane Adjemian (Ryûk)
ca31a087f8
Fix typo (remove trailing underscore to option variable).
2022-08-31 15:26:09 +02:00
Johannes Pfeifer
6872d8b0d1
Various cosmetic fixes
2022-08-31 14:58:00 +02:00
Stéphane Adjemian
d8baeb8f41
Merge branch 'diag' into 'master'
...
model_diagnostics.m: fix options_-name
See merge request Dynare/dynare!2069
2022-08-31 11:50:25 +00:00
Stéphane Adjemian
da1659d844
Merge branch 'cmaes' into 'master'
...
cmaes.m: allow suppressing warning
See merge request Dynare/dynare!2070
2022-08-31 11:48:56 +00:00
Stéphane Adjemian (Ryûk)
9301024d71
Do not check steady state if nocheck option used in steady command...
...
In perfect foresight solvers with linear approximation.
2022-08-31 13:12:25 +02:00
Stéphane Adjemian (Ryûk)
e5102eeefd
Bug fix for mode_compute=6.
...
We did not keep track of the first and second order moment when calling gmhmaxlik_core.
2022-08-31 13:06:30 +02:00
Johannes Pfeifer
9e048c2428
cmaes.m: allow suppressing warning
2022-08-29 13:35:35 +02:00
Johannes Pfeifer
ba9ca26bf6
model_diagnostics.m: fix options_-name
2022-08-28 13:30:21 +02:00
Johannes Pfeifer
63469057ca
model_diagnostics.m: use boolean for debug option as block_trust_region expects it
2022-08-11 09:43:30 +02:00
Stéphane Adjemian
20511495de
Merge branch 'load_results_after_load_mh' into 'master'
...
load_results_after_load_mh: fix location of file
See merge request Dynare/dynare!2065
2022-08-10 15:10:03 +00:00
Johannes Pfeifer
905e7c4344
load_results_after_load_mh: fix location of file
2022-08-10 12:55:00 +02:00
Marco Ratto
3c0f8ec624
bug fixes in error traps in PKF update steps
2022-07-29 16:39:59 +02:00
Johannes Pfeifer
df09084a89
posterior_sampler_initialization.m: save missing ProposalCovariance for mh_recover
2022-07-28 11:12:18 +02:00
Johannes Pfeifer
82a2717181
Remove unused metropolis_hastings_initialization.m
...
Remnant of refactorization in 4445f17e
2022-07-28 11:03:37 +02:00
Sébastien Villemot
ca32be2dcb
Merge branch 'model_diag' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2058
2022-07-27 18:07:12 +02:00
Johannes Pfeifer
253c87b894
model_diagnostics.m: allow setting tolerance for singularity checks starting with Matlab 2022a
2022-07-27 13:15:29 +02:00
Sébastien Villemot
ad97361f67
Fix bug under MATLAB < R2016b introduced in 906062cfe5
...
The logic for testing the MATLAB version was incorrect.
2022-07-26 22:36:30 +02:00
Marco Ratto
6d03a65488
bug fix for smoother_redux and state uncertainty with OCCBIN
2022-07-26 18:07:39 +02:00
Sébastien Villemot
f7ea4313b5
Merge branch 'smoother' into 'master'
...
Various fixes to smoother output
See merge request Dynare/dynare!2057
2022-07-26 14:33:42 +00:00
Sébastien Villemot
88a21cc6d1
Merge branch 'occbin_bug' into 'master'
...
fix bug in ambiguity in the first regime stored, between 01 10 and 11.
See merge request Dynare/dynare!2055
2022-07-26 13:33:36 +00:00
Johannes Pfeifer
2816550290
PKF: get required output if nk=1
...
Related to https://git.dynare.org/Dynare/dynare/-/issues/1861
2022-07-26 15:07:23 +02:00
Johannes Pfeifer
622f831625
Inversion filter: disable unavailable smoother outputs
...
Related to https://git.dynare.org/Dynare/dynare/-/issues/1861
2022-07-26 14:43:31 +02:00
Johannes Pfeifer
9bc71dffde
dynare_estimation_1.m: fix typo
2022-07-26 14:36:25 +02:00
Johannes Pfeifer
59882e803b
store_smoother_results.m: correctly set input arguments
2022-07-26 14:35:36 +02:00
Johannes Pfeifer
b5c741998c
evaluate_planner_objective.m: fix output for linear-quadratic problems solved at second order
...
Welfare does not correspond to the steady state in this case
2022-07-26 13:35:55 +02:00
Marco Ratto
906062cfe5
fix bug in ambiguity in the first regime stored, between 01 10 and 11.
2022-07-26 12:44:55 +02:00
Sébastien Villemot
f21577bf39
Merge branch 'ident_fix' of git.dynare.org:wmutschl/dynare
...
Ref. !2054
2022-07-26 11:55:47 +02:00
Sébastien Villemot
7005634eb0
Merge branch 'ident_fix' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2050
2022-07-26 11:55:02 +02:00
Willi Mutschler
30a6d35f5a
🐛 identification do plots and display results only for nonempty objects
...
fixes #1860
2022-07-26 10:26:13 +02:00
Sébastien Villemot
848c111cf4
Merge branch 'discretion' into 'master'
...
discretionary_policy_initialization.m: fix logic of check for instruments
See merge request Dynare/dynare!2053
2022-07-25 09:26:50 +00:00
Johannes Pfeifer
e9a1902410
discretionary_policy_initialization.m: fix logic of check for instruments
...
Related to https://git.dynare.org/Dynare/preprocessor/-/issues/101
2022-07-22 21:52:05 +02:00
Sébastien Villemot
13709f6853
Add “fsolve_options” option to “steady” command
...
Closes : #1856
2022-07-22 14:35:19 +02:00
Sébastien Villemot
ceedb4869e
solve_algo=0: move to optimoptions under MATLAB, and to new options names for MATLAB⩾R2016a
2022-07-22 14:21:42 +02:00
Sébastien Villemot
572fed3994
Merge branch 'dyn_forecast' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2051
2022-07-05 17:09:51 +02:00
Sébastien Villemot
84d744ea75
Merge branch 'DM' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2049
2022-07-05 17:09:31 +02:00
Sébastien Villemot
0a9dc0137a
k_order_welfare MEX: fix documentation of output arguments
2022-07-05 11:55:33 +02:00
Johannes Pfeifer
35a25b8fb5
dyn_forecast.m: gracefully exit if decision rules and remove unused output argument
2022-07-04 17:33:20 +02:00
Sébastien Villemot
5d048b998d
Merge branch 'cosmetics' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2047
2022-07-04 15:15:47 +02:00
Sébastien Villemot
deb0f8b401
Merge branch 'ramsey_discount' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2046
2022-07-04 15:15:08 +02:00
Johannes Pfeifer
0f64652a73
identification_checks.m: fix comment
2022-06-28 09:44:05 +02:00
Johannes Pfeifer
dbde8294cd
disp_identification.m: account for non-boolean indicator
...
Related https://git.dynare.org/Dynare/dynare/-/issues/1860
2022-06-28 09:43:46 +02:00
Johannes Pfeifer
5788f1bc71
dynare_solve: deal with Dulmage-Mendelsohn decomposition returns a non-square block
...
Related to https://git.dynare.org/Dynare/dynare/-/issues/1851
2022-06-27 15:30:14 +02:00
Johannes Pfeifer
74672bb294
DsgeSmoother.m: delete redundant line
2022-06-27 11:23:19 +02:00
Johannes Pfeifer
77d6782cb4
evaluate_steady_state.m: check whether planner_discount is actually set for ramsey
2022-06-27 11:17:15 +02:00
Stéphane Adjemian (Charybdis)
584e661fff
Ensure that the ordering of the exogenous variables is correct...
...
in model inversion routines.
2022-06-17 17:48:00 +02:00
Stéphane Adjemian (Charybdis)
f19ab66bab
Fix precision issue.
...
Introduced in patch 8b197bf71c
which incidentally reduced the precision to six digits.
2022-06-17 16:48:35 +02:00
Sébastien Villemot
5ccd5f2613
Revert "More explicit message when the Dulmage-Mendelsohn decomposition returns a non-square block"
...
This reverts commit fa71d4712d
.
Ref. #1851
2022-06-16 18:05:14 +02:00
Sébastien Villemot
fa71d4712d
More explicit message when the Dulmage-Mendelsohn decomposition returns a non-square block
...
Closes : #1851
2022-06-16 15:53:45 +02:00
Sébastien Villemot
06f665e231
Perfect foresight: LBJ now available under stack_solve_algo=1 (with/without block/bytecode)
...
Previously, LBJ was available:
– under stack_solve_algo=6 when neither block nor bytecode were present
– under stack_solve_algo=1 with either block or bytecode (but the documentation
was not making it clear that it was LBJ)
This commit merges the two values for the option, and makes them
interchangeable. LBJ should now be invoked with stack_solve_algo=1 (but
stack_solve_algo=6 is kept for compatibility, and is a synonymous).
2022-06-15 15:06:33 +02:00
Johannes Pfeifer
1b4a4c8778
shock_decomposition.m: correctly pass initial date for plotting
2022-06-08 16:03:36 +02:00
Sébastien Villemot
5423949047
Merge branch 'marco_fixes' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2042
2022-06-07 15:04:28 +02:00
Marco Ratto
3575afdf1d
save info1 file only under debugging
2022-06-02 09:52:48 +02:00
Marco Ratto
9304b535f4
port to occbin smoother the same computational improvements done for standard one under smother_redux option. This also require to provide occbin reduced state-space matrices as output argument of missing_DiffuseKalmanSmootherH3_Z.m
2022-06-02 09:52:47 +02:00
Marco Ratto
12c4e03d7b
bug fixes in retrieving the k-step ahead predictions and updated variables from occbin simulations
2022-06-02 09:52:47 +02:00
Marco Ratto
16bc2b3e5e
plot_shock_decomposition: filter out other forbidden characters (parentheses and dot) for field name
2022-06-02 09:52:21 +02:00
Marco Ratto
61632ef28f
marginal_density.m: make computation of log(det(sigma)) robust numerically
2022-06-02 09:51:12 +02:00
Marco Ratto
48ec0a60e8
Trap the case when Q is null matrix
2022-06-02 09:49:38 +02:00
Johannes Pfeifer
8ac72590da
PKF: document incompatibilities and throw proper errors if triggered
2022-05-31 17:40:03 +02:00
Sébastien Villemot
09f2541550
Merge branch 'PKF' into 'master'
...
Bug fixes for PKF
See merge request Dynare/dynare!2038
2022-05-31 08:00:22 +00:00
Sébastien Villemot
5f403e9f62
Merge branch 'solve1' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2035
2022-05-25 18:49:38 +02:00