Sébastien Villemot
7bbe67748b
simul_backward: Octave compatibility fix
2021-02-02 17:02:04 +01:00
Sébastien Villemot
00e36dd342
var_expectation.update: Octave compatibility fix
...
There was a conflict between matlab/+var_expectation/update.m and
matlab/+var_expectation/+update/. So we renamed the (single) file in the latter
directory.
2021-02-02 17:01:59 +01:00
Sébastien Villemot
44a2e6463b
lyapunov_solver: increase tolerance for 2 unit tests, for MATLAB R2014a
2021-02-02 15:05:41 +01:00
Sébastien Villemot
1bb5612474
Merge branch 'resol' of git.dynare.org:JohannesPfeifer/dynare
2021-01-29 15:34:57 +01:00
Sébastien Villemot
1cd3bfbfa8
Merge branch 'kalman_initial_state' of git.dynare.org:JohannesPfeifer/dynare
2021-01-29 15:34:11 +01:00
Sébastien Villemot
3e6224e0b6
plot_contributions.m: compatibility fixes for Octave
...
— use zeros instead of NaNs when decomposing between positive and negative
contributions; otherwise some contributions are not plotted
— the bar() function returns a column-vector of graphic handles, while on
MATLAB it returs a row-vector
2021-01-29 15:20:18 +01:00
Sébastien Villemot
5da473ac66
plot_contributions.m: compatibility fix for MATLAB ≤ R2019a
2021-01-29 14:55:06 +01:00
Sébastien Villemot
dcfd45bd25
missing/unique_stable.m: also support cell arrays and 2nd output argument
...
Needed by aggregate.m.
2021-01-29 14:06:40 +01:00
Sébastien Villemot
3e98918690
aggregate.m: compatibility fix for MATLAB R2014a
...
The importdata function returns empty lines on R2014a, while it omits them in
R2020a. Moreover, importdata is not meant to parse arbitrary text file. We thus
replace it by repeated calls to fgetl.
2021-01-29 12:29:39 +01:00
Sébastien Villemot
5fc29ace8f
Merge branch 'octave_typo' of git.dynare.org:JohannesPfeifer/dynare
2021-01-29 11:19:13 +01:00
Johannes Pfeifer
585781bd4c
dynare_minimize_objective.m: use analytic gradient if specified
...
Bug introduced in ce3e4412
[skip CI]
2021-01-29 11:10:59 +01:00
Sébastien Villemot
20c00d5a02
dynare_minimize_objective: fix analytic derivatives in mode_compute=13 for Octave and MATLAB < R2016a
2021-01-29 11:02:23 +01:00
Johannes Pfeifer
827a7fcaa8
resol.m: reduce inheritance of decision rule info
2021-01-29 10:16:04 +01:00
Johannes Pfeifer
7c8f486727
Allow setting initial state for Kalman filter
...
Supersedes https://git.dynare.org/Dynare/dynare/-/merge_requests/1522
2021-01-28 17:24:27 +01:00
Sébastien Villemot
3e7c0b1eef
Merge branch 'optimizer' of git.dynare.org:JohannesPfeifer/dynare
2021-01-28 16:54:58 +01:00
Sébastien Villemot
6ac1af7035
Merge branch 'filtered_variables' of git.dynare.org:JohannesPfeifer/dynare
2021-01-28 16:53:30 +01:00
Johannes Pfeifer
ce56305318
mr_hessian.m: only compute inverse of A once
2021-01-28 15:07:05 +01:00
Johannes Pfeifer
b56b7760b1
mr_hessian.m: don't manually increase run index of loop
2021-01-28 15:06:32 +01:00
Johannes Pfeifer
1ca5aad981
mr_hessian.m: account for non-scalar output
2021-01-28 14:45:13 +01:00
Johannes Pfeifer
e766ad053e
mr_hessian.m: add comments and remove redundant line
2021-01-27 22:13:15 +01:00
Johannes Pfeifer
7df35bca35
newrat.m: only compute eig(hh) if output is actually required
2021-01-27 22:02:45 +01:00
Johannes Pfeifer
ef14cdb1e9
mr_hessian.m: remove redundant lines and try-catch statement
2021-01-27 21:42:48 +01:00
Johannes Pfeifer
9a86f316c6
newrat.m: only find index once
2021-01-27 21:38:04 +01:00
Johannes Pfeifer
96b1ca3bee
mr_hessian.m: honor Save_files option
2021-01-27 21:38:03 +01:00
Johannes Pfeifer
1fc33a4c63
newrat.m: check for valid initial parameter
2021-01-27 21:38:03 +01:00
Sébastien Villemot
11f7ae2236
Merge branch 'octave_optim' of git.dynare.org:JohannesPfeifer/dynare
2021-01-27 18:28:35 +01:00
Sébastien Villemot
f662c17c5d
shock_decomposition_backward: Octave compatibility fix
2021-01-27 18:25:27 +01:00
Sébastien Villemot
d52a35889c
shock_decomposition_backward: workaround for bug in MATLAB ≤ R2019a
...
Ref. dseries#45
2021-01-27 18:25:27 +01:00
Sébastien Villemot
0402c56ee7
Compatibility fix for MATLAB R2014a when estimating with empty estim_params
...
The tests kalman_filter_smoother/fs2000_smoother_only.mod and
kalman_filter_smoother/fs2000_smoother_only_ns.mod would fail under MATLAB
R2014a.
They both run the estimation command without having declared an estim_params
block.
Their execution would fail in check_bounds_and_definiteness_estimation, at the
point where we check if initial values are below the lower bound.
The problem is that xparam1 would be of size 0×1, while bounds.lb would be
empty (0×0), and the comparison fails on older MATLABs.
The fix consists in ensuring that xparam1 remains of size 0×0 in that case.
2021-01-27 18:25:27 +01:00
Sébastien Villemot
0f19774b55
check_bounds_and_definiteness_estimation: rename last argument to BoundsInfo
...
The previous name was misleading, since this is not the same as bayestopt_.
The confusion was introduced in cfe1069367
.
2021-01-27 18:25:27 +01:00
Johannes Pfeifer
59dd96db83
Bayesian smoother: fix field naming for Filtered_Variables_X_step_ahead
...
Naming used length of vector instead of actual steps
2021-01-27 17:41:37 +01:00
Johannes Pfeifer
ce3e441205
dynare_minimize_objective.m: restore octave compatibility
2021-01-27 14:56:24 +01:00
Sébastien Villemot
8f47b276a0
Merge branch 'online_filter' of git.dynare.org:JohannesPfeifer/dynare
2021-01-26 16:54:03 +01:00
Johannes Pfeifer
847eb8050a
Check measurement error for mode_compute=11
2021-01-26 16:51:39 +01:00
Sébastien Villemot
e1bdc87ff9
Merge branch 'lmmcp' of git.dynare.org:JohannesPfeifer/dynare
2021-01-26 16:27:43 +01:00
Johannes Pfeifer
c304dea35f
stoch_simul.m: filter out mcp-tag solvers
2021-01-26 11:40:46 +01:00
Johannes Pfeifer
a5c8fa54b6
dsge_likelihood.m: error out with non-empty gradient for analytic_derivation
...
Matlab optimizers require it
2021-01-26 08:31:31 +01:00
Sébastien Villemot
09f992d584
Merge branch 'moments_varendo' of git.dynare.org:JohannesPfeifer/dynare
2021-01-25 18:18:46 +01:00
Sébastien Villemot
f9437f89c2
Merge branch 'analytic_derivation' of git.dynare.org:JohannesPfeifer/dynare
2021-01-25 18:17:52 +01:00
Sébastien Villemot
992e375bfa
Merge branch 'use_mh_covariance' of git.dynare.org:JohannesPfeifer/dynare
2021-01-25 18:16:23 +01:00
Johannes Pfeifer
1245d41a6a
moments_varendo: store var_list in files
...
Allows identifying changes in var_list in the future
2021-01-25 15:56:44 +01:00
Johannes Pfeifer
c27c4fd932
moments_varendo: delete stale files from previous runs
2021-01-25 15:55:10 +01:00
Johannes Pfeifer
1ee788e61b
dynare_minimize_objective.m: reorder 13 to come before 101
2021-01-24 17:41:17 +01:00
Johannes Pfeifer
25803a6842
dynare_minimize_objective: fix use of analytic derivatives by employing wrapper function
2021-01-24 17:40:24 +01:00
Johannes Pfeifer
ff4278070a
dynare_minimize_objective.m: replace optimset by optimoptions to allow for both Pre and post R2016a option names
2021-01-24 09:21:09 +01:00
Johannes Pfeifer
d2a55d1e49
method_of_moments: adapt analytic jacobian output to interface used elsewhere
2021-01-24 09:21:09 +01:00
Johannes Pfeifer
2b79eb2850
solvopt.m: suppress incidental output
2021-01-24 09:21:08 +01:00
Johannes Pfeifer
916058cbfd
initial_estimation_checks.m: Do not allow quadratic equation solver for non-quadratic problems
2021-01-24 09:21:08 +01:00
Johannes Pfeifer
b652b6d932
csminwel1.m: two small fixes
...
- gh always exists, no need to check
- allow having non-bad gradient in first iteration
2021-01-23 22:18:45 +01:00
Johannes Pfeifer
5bee25c06e
weibull prior: fix second derivative output and suppress display of output
2021-01-23 09:57:17 +01:00
Johannes Pfeifer
82aa669b30
prior densities: make sure derivative output has correct dimensions
2021-01-23 09:57:17 +01:00
Stéphane Adjemian (Charybdis)
2b7dbff459
Cosmetic change.
...
[skip ci]
2021-01-23 09:53:54 +01:00
Johannes Pfeifer
f19decf297
non_linear_dsge_likelihood.m: consistently use options_.particles.pruning
...
Closes https://git.dynare.org/Dynare/dynare/-/issues/1756
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
29537b761b
csminwel1.m: fix bug with user-supplied gradient function
...
transformation to function handle made subsequent ischar-checks non-functioning
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
de16e9c00a
dynare_estimation_1: restore exiting with mode_compute=0 and order=1
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
ade1dfce5e
compute_moments_varendo: cosmetic fix to display
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
b38d6f8139
compute_moments_varendo: use pruned state space at higher order
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
314948ce34
compute_moments_varendo: skip computations for various unsupported cases
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
dedfd0c08f
compute_moments_varendo: skip variance decomposition at higher order
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
9f903db283
disp_th_moments_pruned_state_space.m: cosmetic fix to header
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
417f038cc5
Particle filters: do not compute Kalman smoother
...
Related to https://git.dynare.org/Dynare/dynare/-/issues/1757
2021-01-22 21:19:07 +01:00
Johannes Pfeifer
0b87f66443
non_linear_dsge_likelihood.m: do not set use_k_order_solver with pruning
...
local_state_space_iteration_k does not support it, use local_state_space_iteration_2 at order=2 instead and error out with order=3
2021-01-22 21:19:07 +01:00
Sébastien Villemot
dfa6359dd3
Merge branch 'solve_opt' of git.dynare.org:JohannesPfeifer/dynare
2021-01-22 18:33:12 +01:00
Sébastien Villemot
565d61aad3
Merge branch 'kalman_analytic_bug' of git.dynare.org:JohannesPfeifer/dynare
2021-01-22 18:32:42 +01:00
Sébastien Villemot
35df056905
histval_file: workaround for bug in MATLAB ≤ R2019a
...
Ref. dseries#45
2021-01-22 18:31:31 +01:00
Johannes Pfeifer
731a168f69
Make mh_tune_jscale work with use_mh_covariance_matrix
2021-01-22 15:01:23 +01:00
Johannes Pfeifer
fa739c3a63
posterior_sampler_initialization.m: update record if different sampler is used
...
Also removes redundant field
2021-01-22 15:01:23 +01:00
Johannes Pfeifer
c78890d5ca
posterior_sampler_initialization.m: Allow running different samplers after each other
...
Transform error to warning
2021-01-22 15:01:22 +01:00
Johannes Pfeifer
32bdb82cf8
Make load_mh_file honor use_mh_covariance option
2021-01-22 15:01:02 +01:00
Johannes Pfeifer
a89f21b53d
solvopt.m: prevent returning with inf
2021-01-22 14:56:49 +01:00
Johannes Pfeifer
371fdb227b
solvopt.m: use gradient as second output instead of expecting separate function
2021-01-22 14:56:49 +01:00
Johannes Pfeifer
c6c9b4e356
kalman_filter.m: fix bug when using analytic_derivation
2021-01-22 14:54:17 +01:00
Sébastien Villemot
bc053018a0
Remove risky steady state (unfinished) code
...
Incidently, remove the possibility of passing model derivatives as arguments to
the k_order_perturbation. That possibility was only used by the risky steady
state code.
Closes : #1338
2021-01-22 11:32:36 +01:00
Sébastien Villemot
cc38c4e9f7
Merge branch 'kalman_headers' of git.dynare.org:JohannesPfeifer/dynare
2021-01-19 17:29:24 +01:00
Sébastien Villemot
315bfa6f51
SUR OLS: compatibility fix for MATLAB R2014a
...
Under MATLAB R2014a, the strjoin() function wants a 1×n cell array, and rejects
a n×1 cell array. Octave and MATLAB R2020b are more permissive.
2021-01-19 16:27:28 +01:00
Sébastien Villemot
57326339e9
SUR Gibbs: do not try to create plot under Octave and MATLAB < R2014b
...
The histogram() function does not exist there.
2021-01-19 16:27:26 +01:00
Sébastien Villemot
f81b330f14
Methods of moments: compatibility fix for MATLAB < R2015a
...
The mean(…, 'omitnan') syntax does not exist before R2015a. Use nanmean
instead (either provided by the statistics toolbox, or by our fallback under
matlab/missing/stats/).
2021-01-19 15:50:14 +01:00
Sébastien Villemot
4944a711db
MATLAB R2014a compatibility: fix crash of rplot with several variable names
...
Under MATLAB R2014a, the strjoin() function wants a 1×n cell array, and rejects
a n×1 cell array. Octave and MATLAB R2020b are more permissive.
2021-01-19 15:50:14 +01:00
Sébastien Villemot
f946baf6c5
Testsuite: add workaround for crash of MATLAB R2014a with TeX option
...
The TeX option crashes MATLAB R2014a run with "-nodisplay" option
(as is done from the testsuite). We disable the TeX option in that case.
Since we can’t directly test whether "-nodisplay" has been passed, we test for
the "TOP_TEST_DIR" environment variable, which is set by the testsuite.
Note that it was not tested whether the crash happens with more recent MATLAB
versions, so when OLD_MATLAB_VERSION is increased, one should make a test
before removing this workaround.
2021-01-19 15:50:11 +01:00
Johannes Pfeifer
869147c13a
Kalman filter functions: clarify header comments
2021-01-18 17:33:21 +01:00
Stéphane Adjemian (Charybdis)
38e300b94e
Merge #1786 .
...
Do not compute cholesky decomposition of H if the matrix has zeros on
the diagonal.
2021-01-16 11:24:10 +01:00
Johannes Pfeifer
ad17b8ec33
Particle filtering: provide more informative error messages in typical problematic cases
...
Also adds test cases
2021-01-15 22:11:20 +01:00
Johannes Pfeifer
fe93589148
non_linear_dsge_likelihood.m: return in case of exception without computing prior
2021-01-15 22:11:20 +01:00
Stéphane Adjemian (Charybdis)
b3e8dbe018
Do not rely on internal representation of @dates, use methods instead...
...
... Or add a new method if one is missing.
2021-01-15 20:44:09 +01:00
Sébastien Villemot
4c0b2e8c4e
Mitigation for spurious warning in Octave
...
Because of a bug, Octave wrongly complains that matlab/+pac/+bgp/{get,set}.m
shadow built-in functions (see https://savannah.gnu.org/bugs/?46849 ).
We disable the warning as early as we can after running the dynare command.
However the warning will nevertheless appear two times in a given Octave
session (the first time when the addpath to Dynare is done, the second time
when the dynare command is run).
2021-01-15 18:08:04 +01:00
Sébastien Villemot
e26a5e2805
NLS: compatibility fix for Octave and MATLAB < R2014b
2021-01-15 17:42:00 +01:00
Sébastien Villemot
547969df45
Trust region: compatibility fix for Octave and MATLAB < R2017b
...
When merging the enterprise code, the dogleg subfunction was modified to
incorporate a call to decomposition(), which does not exist under Octave and
MATLAB < R2017b.
For those cases, we reinstate the old code (which uses a plain matrix right
divide).
2021-01-15 17:30:17 +01:00
Sébastien Villemot
8f07a134a3
OLS + aggregate: compatibility fix for Octave < 6
...
unique(…, 'stable') does not exist in Octave 5.
2021-01-15 17:19:38 +01:00
Stéphane Adjemian (Charybdis)
6c5d61355b
Updated dseries submodule (new implementation of @dates).
2021-01-15 12:46:02 +01:00
Willi Mutschler
52a57eaf60
MoM: Remove duplicate check in gradient helper function
2021-01-14 14:17:55 +01:00
Willi Mutschler
a697002a4e
MoM: Gradient-based optimizers can use analytical Jacobian for GMM
...
New option analytic_jacobian for mode_compute 1, 3, and 13
2021-01-14 10:03:39 +01:00
Sébastien Villemot
6639cd8a41
Merge branch 'MoM' of git.dynare.org:JohannesPfeifer/dynare
2021-01-13 15:59:05 +01:00
Sébastien Villemot
7476d741a2
Merge branch 'estimation_forecast' of git.dynare.org:JohannesPfeifer/dynare
2021-01-13 15:58:25 +01:00
Stéphane Adjemian (Odysseus)
f4508a6ca1
Revert "update jacob_element & hess_element for vector arguments"
...
This reverts commit 1975e467b5
.
2021-01-12 16:48:49 +01:00
Stéphane Adjemian (Odysseus)
47affc94e1
Revert "Matrix notation: fix bug in numerical Hessian of external functions"
...
This reverts commit 2acacf61f1
.
2021-01-12 16:48:21 +01:00
Stéphane Adjemian (Odysseus)
8fd18fa9ba
Merge remote-tracking branch enterprise into master.
2021-01-12 16:45:51 +01:00
Stéphane Adjemian (Odysseus)
0e1c9312e2
Merge remote-tracking branch 'Dynare/master' into enterprise
2021-01-11 11:06:55 +01:00
Johannes Pfeifer
ea03868a6b
mode_compute=0: run dyn_forecast after smoother when forecast > 0
2021-01-10 19:46:18 +01:00
Johannes Pfeifer
fbb1272164
Fix mode_compute=12 and filter out mode_compute=11
2021-01-10 17:30:35 +01:00
Sébastien Villemot
c397828eb7
Merge branch 'smoother2histval' of git.dynare.org:JohannesPfeifer/dynare
2021-01-08 19:02:44 +01:00