Johannes Pfeifer
ed7fe89bfa
Remove unused exo_names_orig_ord
2023-06-23 08:41:12 -04:00
Willi Mutschler
e6920a60a1
Default option: don't save files for csminwel and cmaes
...
Usually these files are not needed (if then user can turn this option on manually) and only clutter the folder.
Moreover, the testsuite crashes on rare occasions if several mod files are run in the same folder and the optimizers write the files simultaneously.
2023-06-23 12:11:23 +02:00
Johannes Pfeifer
050679cd56
Rename resid.m
...
Closes #1888
2023-06-23 12:10:18 +02:00
Johannes Pfeifer
782368eb9b
dseries: document saving of atr log
...
Related to dseries@f2bdd617
2023-06-22 13:56:19 -04:00
Sébastien Villemot
d5a3a8e16a
Various improvements to perfect foresight homotopy
...
– new option “endval_steady” to pf_setup command to recompute terminal
steady state in the homotopy loop
– new options “homotopy_linearization_fallback” and
“homotopy_marginal_linearization_fallback” to pf_solver and pfwee_solver
commands, to get an approximate solution when homotopy fails to go to 100%
– new options “homotopy_initial_step_size”, “homotopy_min_step_size”,
“homotopy_step_size_increase_success_count” and “homotopy_max_completion_share”
to pf_solver and pfwee_solver commands to fine tune the homotopy behaviour
– removed option “homotopy_alt_starting_point” to pf_solver command, not really
useful
– new options “steady_solve_algo”, “steady_tolf”, “steady_tolx”,
“steady_maxit”, “steady_markowitz” to pf_solver and pfwee_solver commands, to
control the computation of the terminal steady state (and remove the
equivalent options which previously had different names in pfwee_solver command)
2023-06-21 15:58:23 +02:00
Sébastien Villemot
3a789ca780
🐛 dynare_solve would incorrectly accept some guess values leading to NaN residuals
...
If the guess value passed to dynare_solve was such that the residuals were all
below tolerance, except some that were NaN, then this guess value would be
incorrectly accepted as a solution.
2023-06-20 15:35:36 +02:00
Sébastien Villemot
8fa37a0439
perfect_foresight_with_expectation_errors_solver: remove obsolete code
...
This should have been removed in c1b78e26ac
2023-06-16 16:45:04 +02:00
Sébastien Villemot
d4b5e156d1
perfect_foresight_with_expectation_errors_solver: check convergence of informational iterations
...
Error out if an iteration failed.
Also display an informative message about those iterations.
2023-06-16 16:45:04 +02:00
Sébastien Villemot
396267260a
Block solvers: improvement to error messages
...
– Do not mention internal options_ structure
– Remain agnostic about whether we are in a steady state or a deterministic simulation
[skip ci]
2023-06-15 15:49:50 +02:00
Sébastien Villemot
c1b78e26ac
perfect_foresight_with_expectation_errors_{setup,solver}: streamline handling of guess values
...
– Remove the terminal_steady_state_as_guess_value option to pfwee_solver
– pfwee_setup now sets the same guess values as pf_setup (i.e. terminal steady
state at all periods)
– With constant_simulation_length option, pfwee_solver uses terminal steady
state as guess values for periods that are added to the simulation
2023-06-15 15:37:48 +02:00
Sébastien Villemot
30c17ad346
🐛 Steady state: wrong value of maxit was used for some block/bytecode cases
...
It was using the value of maxit for perfect foresight simulations.
2023-06-15 15:37:48 +02:00
Sébastien Villemot
c7b4ea40f8
🐛 Steady state computation: fix crash if bytecode (without block) does not find a solution
...
ys was uninitialized and it would crash further down in the function.
2023-06-15 15:37:48 +02:00
Stéphane Adjemian (Ryûk)
a541e1e6d0
Update dseries submodule.
2023-06-14 10:47:57 +02:00
Sébastien Villemot
dcf56b89cd
Bytecode: rework message verbosity
...
Now uses options_.verbosity to decide what to print:
– if options_.verbosity == 0, prints nothing
– if options_.verbosity >= 1, prints iteration counter and duration, and fatal errors
– if options_.verbosity >= 2, additionally print floating point exceptions and
details about algorithmic decisions
2023-06-13 16:59:07 +02:00
Sébastien Villemot
d81e3992c3
perfect_foresight_solver_core: fix crash when bytecode does not converge
...
The bug was introduced in commit 7722e8e36b
2023-06-12 19:19:21 +02:00
Sébastien Villemot
4431a89e87
perfect_foresight_solver_core.m: when relevant, use bytecode MEX to recompute ∞-norm of residuals
...
Since commit 7722e8e36b
it would always use the
perfect_foresight_problem MEX, but the latter is less efficient than bytecode.
2023-06-12 19:18:45 +02:00
Sébastien Villemot
73ae1ac8ce
evaluate_steady_state: minor simplification
2023-06-12 19:18:44 +02:00
Sébastien Villemot
8cf8731c65
det_cond_forecast.m: use better syntax for ignored outputs
2023-06-12 19:18:44 +02:00
Sébastien Villemot
37870e4a40
evaluate_steady_state: accept exogenous steady state as argument instead of whole oo_ structure
...
This is a move towards a more functional programming style.
2023-06-07 17:58:19 +02:00
Sébastien Villemot
7722e8e36b
Perfect foresight: inner functions no longer return a modified oo_
...
They now only return what’s really their output (simulated paths, maximum
residual error…). This is a move towards a more functional programming style.
2023-06-06 18:13:10 +02:00
Sébastien Villemot
6ed90b3dbf
🐛 Homotopy for extended path (order 0) was utterly broken
...
The convergence test was wrong.
2023-06-06 17:54:04 +02:00
Sébastien Villemot
fe142b663e
Perfect foresight: allow homotopy for purely backward/forward/static models
...
This was previously disabled, but the code seems to work.
2023-06-06 17:26:07 +02:00
Sébastien Villemot
1cf83dc278
perfect_foresight_solver: always use perfect_foresight_problem MEX for computing residuals
...
The MEX no works on models without leads or lags.
This is essentially a revert of 74dc4f81f0
.
Ref. #1850
2023-06-06 17:06:10 +02:00
Stéphane Adjemian (Argos)
8e42f6d137
Update dseries submodule (new method returning last observed period for each variable).
2023-06-05 11:21:53 +02:00
Stéphane Adjemian (Ryûk)
b1933d58dd
Bug fix (undefined variable).
2023-06-04 08:07:28 +02:00
Johannes Pfeifer
37eb10971b
dynare_estimation_init.m: make sure OccBin estimation can be run after previous shocks(surprise) block
2023-06-02 08:43:14 -04:00
Sébastien Villemot
37bc08eb5b
Merge branch 'parallel' into 'master'
...
masterParallel.m: assign explicit empty window title to allow passing full path in quoted strings
Closes #1887
See merge request Dynare/dynare!2133
2023-06-01 08:26:52 +00:00
Sébastien Villemot
5a6d03a2e7
CI: adapt for new location of MATLAB binaries
2023-05-30 17:12:30 +02:00
Johannes Pfeifer
ad2d986c5e
masterParallel.m: assign explicit empty window title to allow passing full path in quoted strings
...
Closes https://git.dynare.org/Dynare/dynare/-/issues/1887
2023-05-24 06:45:24 -04:00
Stéphane Adjemian (Ryûk)
03db691ab3
Update dseries submodule (add --with-legend option to dplot command).
2023-05-19 18:48:44 +02:00
Johannes Pfeifer
df018ab14d
dynare_sensitivity.m: do not alter qz_criterium
2023-05-16 09:22:13 -04:00
Stéphane Adjemian (Guts)
43cb9b01c3
Update submodule dseries ( fix #53 ).
2023-05-12 17:23:53 +02:00
Stéphane Adjemian (Ryûk)
15027db136
Add missing initialization.
2023-05-11 15:59:38 +02:00
Stéphane Adjemian (Ryûk)
1f60657d99
Update dseries submodule (add new plotting routine for dseries objects).
2023-05-11 14:51:20 +02:00
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