pygsti.optimize.wildcardopt
¶
Wildcard budget fitting routines
Module Contents¶
Functions¶
|
Uses repeated Nelder-Mead to optimize the wildcard budget. |
|
Uses CVXPY to optimize the wildcard budget. Includes only per-circuit constraints. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Uses CVXOPT to optimize the wildcard budget. Includes both aggregate and per-circuit constraints. |
|
Adds regularization of the L1 term around zero values of the budget. This doesn't seem to help much. |
|
Uses a barrier method (for convex optimization) to optimize the wildcard 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._get_critical_circuit_budgets(objfn, redbox_threshold)¶
- pygsti.optimize.wildcardopt._agg_dlogl(current_probs, objfn, two_dlogl_threshold)¶
- pygsti.optimize.wildcardopt._agg_dlogl_deriv(current_probs, objfn, percircuit_budget_deriv, probs_deriv_wrt_percircuit_budget)¶
- pygsti.optimize.wildcardopt._agg_dlogl_hessian(current_probs, objfn, percircuit_budget_deriv, probs_deriv_wrt_percircuit_budget)¶
- pygsti.optimize.wildcardopt._proxy_agg_dlogl(x, tvds, fn0s, percircuit_budget_deriv, two_dlogl_threshold)¶
- pygsti.optimize.wildcardopt._proxy_agg_dlogl_deriv(x, tvds, fn0s, percircuit_budget_deriv)¶
- pygsti.optimize.wildcardopt._proxy_agg_dlogl_hessian(x, tvds, fn0s, percircuit_budget_deriv)¶
- 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.
- pygsti.optimize.wildcardopt._compute_fd(x, fn, compute_hessian=True, eps=1e-07)¶