Skip to content

Covmat disperse - #492

Open
cmbant wants to merge 9 commits into
masterfrom
covmat-disperse
Open

cmbant wants to merge 9 commits into
masterfrom
covmat-disperse

Conversation

@cmbant

@cmbant cmbant commented Jun 1, 2026

Copy link
Copy Markdown
Member

This pull request introduces the ability to disperse initial chain starting points using the proposal covariance matrix (covmat) for correlated multivariate normal draws, rather than independent per-parameter dispersion. This is particularly useful for initializing MCMC chains in a way that respects parameter correlations, which can improve sampling efficiency (e.g. see #265). The implementation includes changes to cobaya/prior.py, cobaya/model.py, and the MCMC sampler itself, as well as documentation and configuration updates. Additionally, several minor improvements and code style cleanups are included.

New Feature: Disperse Initial Points Using Proposal Covmat

  • Added an option (disperse_initial_with_covmat) to the MCMC sampler to disperse initial points using the proposal covmat, controlled via the YAML config. If enabled and a covmat is provided, initial points are drawn from a correlated multivariate normal distribution. [1] [2] [3]
  • Implemented support in Prior.reference() and Model.get_valid_point() for an override_covmat parameter, which triggers correlated initial draws using the provided covariance matrix. [1] [2] [3] [4] [5]
  • Added a new method _reference_with_covmat in Prior to handle the logic for generating a reference point with a given covariance matrix, including documentation and robust handling of edge cases.

AI generated, tested by @raphkou (#491, thanks!)

@cmbant
cmbant requested a review from JesusTorrado July 24, 2026 12:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant