Commit Graph

8766 Commits (015513380f7735ed665f3acd56712d4b86b80006)

Author SHA1 Message Date
Stéphane Adjemian (Ryûk) 015513380f
Add new class for priors.
This commit only changes the routine used to draw random deviates from
the prior distribution, without relying on persistent variables (which allows
parallelisation).
2023-04-26 10:39:13 +02:00
Sébastien Villemot 8bb9a398aa
Octave compatibility: ignore new warning introduced for qz() in Octave 9
Should have been in commit 421eb1482c.
2023-04-26 10:30:04 +02:00
Willi Mutschler b8352b251d
macOS: provisions to detect Apple Silicon architecture (maca64 and mexmaca64)
Works with MATLAB R2022b beta (ARM)
2023-04-26 10:19:14 +02:00
Sébastien Villemot 0c17d656e1
🐛 Steady state computation could fail with block+bytecode+mfs>0
The Jacobian used for solving a block was not square if there were recursive
variables.
2023-04-20 13:39:26 +02:00
Sébastien Villemot e413696277
Octave compatibility fix: the 3rd output argument to fminsearch was added in Octave 4.4 2023-04-17 18:10:35 +02:00
Sébastien Villemot 80a6967827
Remove unused options_.scalv 2023-04-14 16:38:14 +02:00
Sébastien Villemot 1faeaf892e
Remove unused options_.terminal_condition 2023-04-14 16:35:43 +02:00
Sébastien Villemot 0923187938
🐛 Perturbation solution: gracefully fail if order=2 is requested with bytecode 2023-04-13 17:35:20 +02:00
Sébastien Villemot 91fa8d079e
calibrateresiduals: use the sparse representation of the dynamic model 2023-04-13 17:24:47 +02:00
Sébastien Villemot 7e1c25d775
backward_model_inversion: use the sparse representation of the dynamic file 2023-04-13 15:51:09 +02:00
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