romtools.workflows.inverse.full_covariance_newton#

Natural-coordinate Newton support for full-covariance Gaussian VI/MF-VI.

This module augments the full-covariance score-function implementation with a second-order curvature model in (mu, svec(Sigma)) coordinates. Newton steps can be formed in ordinary coordinates or in locally Fisher-whitened coordinates; the latter is selected with newton_metric='natural'.

Functions

estimate_mf_ordinary_hessian(state, mean, ...)

estimate_ordinary_hessian(optimizer_samples, ...)

Estimate full-covariance ELBO curvature using log-joint score terms.

mf_vi_with_auto_rom(*args, **kwargs)

Run auto-GP full-covariance MF-VI with natural-coordinate Newton.

run_mf_vi(*args, **kwargs)

Run full-covariance MF-VI with multifidelity Newton curvature.

run_vi(*args, **kwargs)

Run full-covariance VI with score-function Newton curvature.

romtools.workflows.inverse.full_covariance_newton.estimate_ordinary_hessian(optimizer_samples, mean, cholesky, scaled_log_joint_terms, baseline_method, elbo_scaling_factor)[source]#

Estimate full-covariance ELBO curvature using log-joint score terms.

The optional joint entropy strategy affects the gradient estimator. Newton curvature follows the existing romtools split estimator: log-joint score curvature plus analytic Gaussian-entropy curvature.

Parameters:
  • optimizer_samples (ndarray)

  • mean (ndarray)

  • cholesky (ndarray)

  • scaled_log_joint_terms (ndarray)

  • baseline_method (str)

  • elbo_scaling_factor (float)

Return type:

ndarray

romtools.workflows.inverse.full_covariance_newton.mf_vi_with_auto_rom(*args, **kwargs)[source]#

Run auto-GP full-covariance MF-VI with natural-coordinate Newton.

romtools.workflows.inverse.full_covariance_newton.run_mf_vi(*args, **kwargs)[source]#

Run full-covariance MF-VI with multifidelity Newton curvature.

romtools.workflows.inverse.full_covariance_newton.run_vi(*args, **kwargs)[source]#

Run full-covariance VI with score-function Newton curvature.