pygsti.optimize.wildcardopt

Wildcard budget fitting routines

Module Contents

Functions

optimize_wildcard_budget_neldermead(budget, L1weights, ...)

Uses repeated Nelder-Mead to optimize the wildcard budget.

optimize_wildcard_budget_percircuit_only_cvxpy(budget, ...)

Uses CVXPY to optimize the wildcard budget. Includes only per-circuit constraints.

optimize_wildcard_bisect_alpha(budget, objfn, ...[, ...])

optimize_wildcard_budget_cvxopt(budget, L1weights, ...)

Uses CVXOPT to optimize the wildcard budget. Includes both aggregate and per-circuit constraints.

optimize_wildcard_budget_cvxopt_zeroreg(budget, ...[, ...])

Adds regularization of the L1 term around zero values of the budget. This doesn't seem to help much.

optimize_wildcard_budget_barrier(budget, L1weights, ...)

Uses a barrier method (for convex optimization) to optimize the wildcard budget.

NewtonSolve(initial_x, fn[, fn_with_derivs, dx_tol, ...])

optimize_wildcard_budget_cvxopt_smoothed(budget, ...)

Uses a smooted version of the objective function. Doesn't seem to help much.

pygsti.optimize.wildcardopt.optimize_wildcard_budget_neldermead(budget, L1weights, wildcard_objfn, two_dlogl_threshold, redbox_threshold, printer, smart_init=True, max_outer_iters=10, initial_eta=10.0)

Uses repeated Nelder-Mead to optimize the wildcard budget. Includes both aggregate and per-circuit constraints.

pygsti.optimize.wildcardopt.optimize_wildcard_budget_percircuit_only_cvxpy(budget, L1weights, objfn, redbox_threshold, printer)

Uses CVXPY to optimize the wildcard budget. Includes only per-circuit constraints.

pygsti.optimize.wildcardopt.optimize_wildcard_bisect_alpha(budget, objfn, two_dlogl_threshold, redbox_threshold, printer, guess=0.1, tol=0.001)
pygsti.optimize.wildcardopt.optimize_wildcard_budget_cvxopt(budget, L1weights, objfn, two_dlogl_threshold, redbox_threshold, printer, abs_tol=1e-05, rel_tol=1e-05, max_iters=50)

Uses CVXOPT to optimize the wildcard budget. Includes both aggregate and per-circuit constraints.

pygsti.optimize.wildcardopt.optimize_wildcard_budget_cvxopt_zeroreg(budget, L1weights, objfn, two_dlogl_threshold, redbox_threshold, printer, abs_tol=1e-05, rel_tol=1e-05, max_iters=50, small=1e-06)

Adds regularization of the L1 term around zero values of the budget. This doesn’t seem to help much.

pygsti.optimize.wildcardopt.optimize_wildcard_budget_barrier(budget, L1weights, objfn, two_dlogl_threshold, redbox_threshold, printer, tol=1e-07, max_iters=50, num_steps=3, save_debugplot_data=False)

Uses a barrier method (for convex optimization) to optimize the wildcard budget. Includes both aggregate and per-circuit constraints.

pygsti.optimize.wildcardopt.NewtonSolve(initial_x, fn, fn_with_derivs=None, dx_tol=1e-06, max_iters=20, printer=None, lmbda=0.0)
pygsti.optimize.wildcardopt.optimize_wildcard_budget_cvxopt_smoothed(budget, L1weights, objfn, two_dlogl_threshold, redbox_threshold, printer, abs_tol=1e-05, rel_tol=1e-05, max_iters=50)

Uses a smooted version of the objective function. Doesn’t seem to help much.

The thinking here was to eliminate the 2nd derivative discontinuities of the original problem.