Hi Dynare Team
I am running into a block decomposition incompatibility issue when running a toolbox that was made to be used for older versions of Dynare (presumably Dynare 4.x); and I am running Dynare 6. The toolbox uses the change_type() command extensively for calibration purposes.
When running models that use change_type() to flip variables between parameters and endogenous variables (for calibration via homotopy), Dynare 6.x’s preprocessing fails during block decomposition with the following error:
Normalizing the dynamic model...
Normalization failed with cutoff, trying symbolic normalisation...
Could not normalise the dynamic model. Variable [VARIABLE NAME] is not in the maximum cardinality matching.
ERROR: Block decomposition requested but failed.
- There appears to be no command-line option to disable block decomposition in Dynare 6.x (unlike
block=falsein older versions); - Setting
options_.block = falsewithin the mod file does not affect preprocessing - The block decomposition is automatically attempted during pre-processing and cannot be bypassed.
So my questions are:
- Is there a way to disable block decomposition during preprocessing in Dynare 6?
- Are there known incompatibilities between
change_type()and Dynare 6’s block decomposition algorithm? - Would this be considered a regression from earlier Dynare versions, or is this an intentional design change?
- Are there recommended workarounds for large multi-country models that rely on
change_type()for calibration?
Thanks for your time, and DM me if you have any privacy concerns regarding any of the above!