dynare/mex/sources
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
..
block_kalman_filter Enable -Wunused-parameter for C++ MEX 2022-07-05 12:12:53 +02:00
block_trust_region Design and performance improvement to solve_algo={12,14} 2022-11-30 14:47:57 +01:00
bytecode Bytecode MEX: fix compilation under GCC ⩾ 11 2022-07-29 14:30:45 +02:00
cycle_reduction Fix cycle reduction: 2022-10-11 12:11:30 +02:00
disclyap_fast Tighten input sanity checks of various MEX files 2022-03-18 22:49:46 +01:00
folded_to_unfolded_dr Implements `local_state_space_iteration_fortran`, the Fortran replacement of `local_state_space_iteration_k` (Ref #1802) 2021-09-22 16:28:46 +02:00
gensylv Tighten input sanity checks of various MEX files 2022-03-18 22:49:46 +01:00
k_order_mean Tighten input sanity checks of various MEX files 2022-03-18 22:49:46 +01:00
k_order_perturbation Enable -Wunused-parameter for C++ MEX 2022-07-05 12:12:53 +02:00
k_order_simul Tighten input sanity checks of various MEX files 2022-03-18 22:49:46 +01:00
k_order_welfare k_order_welfare MEX: check number of arguments 2022-07-05 11:55:40 +02:00
kalman_steady_state Use secure URL for link to GNU licenses 2021-06-09 17:35:05 +02:00
kronecker Tighten input sanity checks of various MEX files 2022-03-18 22:49:46 +01:00
libkordersim Local state-space iteration at order 3: multi-thread 3rd-order version with and without pruning 2022-08-30 14:06:19 +02:00
local_state_space_iterations Local state-space iteration at order 3: multi-thread 3rd-order version with and without pruning 2022-08-30 14:06:19 +02:00
logarithmic_reduction logarithmic_reduction.m: use positive penalty add-on 2022-10-11 16:13:03 +02:00
mjdgges Tighten input sanity checks of various MEX files 2022-03-18 22:49:46 +01:00
ms-sbvar Use secure URL for link to GNU licenses 2021-06-09 17:35:05 +02:00
num_procs Enable -Wunused-parameter for C++ MEX 2022-07-05 12:12:53 +02:00
perfect_foresight_problem Use operator""s to replace some calls to std::string constructor 2022-06-22 12:51:08 +02:00
riccati_update Implements a Fortran update of the states variance-covariance matrix for the Kalman filter 2022-11-14 16:24:46 +00:00
sobol Use Unicode copyright symbol (in UTF-8 encoding) in all source files 2022-04-13 14:54:25 +02:00
Makefile.am Implements a Fortran update of the states variance-covariance matrix for the Kalman filter 2022-11-14 16:24:46 +00:00
blas_lapack.F08 Implements a logarithmic reduction Fortran routine and the associated test 2022-10-11 12:11:06 +02:00
defines.F08 Convert mjdgges MEX to Fortran 2008 2020-01-09 09:23:07 +01:00
dynblas.h Use secure URL for link to GNU licenses 2021-06-09 17:35:05 +02:00
dynlapack.h Use secure URL for link to GNU licenses 2021-06-09 17:35:05 +02:00
dynmex.h Use secure URL for link to GNU licenses 2021-06-09 17:35:05 +02:00
dynumfpack.h Use secure URL for link to GNU licenses 2021-06-09 17:35:05 +02:00
matlab_mex.F08 Implements a cycle reduction Fortran routine and the associated test. 2022-10-03 14:38:12 +02:00
pthread.F08 pthread Fortran interface: fix internal type for representing pthread_t structure 2022-02-04 12:33:19 +01:00