pygsti.algorithms.directx

Functions for generating Direct-(LGST, MC2GST, MLGST) models

Module Contents

Functions

model_with_lgst_circuit_estimates(circuits_to_estimate, dataset, prep_fiducials, meas_fiducials, target_model, include_target_ops=True, op_label_aliases=None, guess_model_for_gauge=None, circuit_labels=None, svd_truncate_to=None, verbosity=0)

Constructs a model that contains LGST estimates for circuits_to_estimate.

direct_lgst_model(circuit_to_estimate, circuit_label, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, verbosity=0)

Constructs a model of LGST estimates for target gates and circuit_to_estimate.

direct_lgst_models(circuits, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, verbosity=0)

Constructs a dictionary with keys == circuits and values == Direct-LGST Models.

direct_mc2gst_model(circuit_to_estimate, circuit_label, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, min_prob_clip_for_weighting=0.0001, prob_clip_interval=(-1000000.0, 1000000.0), verbosity=0)

Constructs a model of LSGST estimates for target gates and circuit_to_estimate.

direct_mc2gst_models(circuits, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, min_prob_clip_for_weighting=0.0001, prob_clip_interval=(-1000000.0, 1000000.0), verbosity=0)

Constructs a dictionary with keys == circuits and values == Direct-LSGST Models.

direct_mlgst_model(circuit_to_estimate, circuit_label, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, min_prob_clip=1e-06, prob_clip_interval=(-1000000.0, 1000000.0), verbosity=0)

Constructs a model of MLEGST estimates for target gates and circuit_to_estimate.

direct_mlgst_models(circuits, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, min_prob_clip=1e-06, prob_clip_interval=(-1000000.0, 1000000.0), verbosity=0)

Constructs a dictionary with keys == circuits and values == Direct-MLEGST Models.

focused_mc2gst_model(circuit_to_estimate, circuit_label, dataset, prep_fiducials, meas_fiducials, start_model, op_label_aliases=None, min_prob_clip_for_weighting=0.0001, prob_clip_interval=(-1000000.0, 1000000.0), verbosity=0)

Constructs a model containing a single LSGST estimate of circuit_to_estimate.

focused_mc2gst_models(circuits, dataset, prep_fiducials, meas_fiducials, start_model, op_label_aliases=None, min_prob_clip_for_weighting=0.0001, prob_clip_interval=(-1000000.0, 1000000.0), verbosity=0)

Constructs a dictionary with keys == circuits and values == Focused-LSGST Models.

pygsti.algorithms.directx.model_with_lgst_circuit_estimates(circuits_to_estimate, dataset, prep_fiducials, meas_fiducials, target_model, include_target_ops=True, op_label_aliases=None, guess_model_for_gauge=None, circuit_labels=None, svd_truncate_to=None, verbosity=0)

Constructs a model that contains LGST estimates for circuits_to_estimate.

For each circuit in circuits_to_estimate, the constructed model contains the LGST estimate for s as separate gate, labeled either by the corresponding element of circuit_labels or by the tuple of s itself.

Parameters
  • circuits_to_estimate (list of Circuits or tuples) – The circuits to estimate using LGST

  • dataset (DataSet) – The data to use for LGST

  • prep_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective preparation.

  • meas_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective measurement.

  • target_model (Model) – A model used by LGST to specify which operation labels should be estimated, a guess for which gauge these estimates should be returned in, and used to simplify circuits.

  • include_target_ops (bool, optional) – If True, the operation labels in target_model will be included in the returned model.

  • op_label_aliases (dictionary, optional) – Dictionary whose keys are operation label “aliases” and whose values are tuples corresponding to what that operation label should be expanded into before querying the dataset. Defaults to the empty dictionary (no aliases defined) e.g. opLabelAliases[‘Gx^3’] = (‘Gx’,’Gx’,’Gx’)

  • guess_model_for_gauge (Model, optional) – A model used to compute a gauge transformation that is applied to the LGST estimates. This gauge transformation is computed such that if the estimated gates matched the model given, then the gate matrices would match, i.e. the gauge would be the same as the model supplied. Defaults to the target_model.

  • circuit_labels (list of strings, optional) – A list of labels in one-to-one correspondence with the circuit in circuits_to_estimate. These labels are the keys to access the operation matrices in the returned Model, i.e. op_matrix = returned_model[op_label]

  • svd_truncate_to (int, optional) – The Hilbert space dimension to truncate the operation matrices to using a SVD to keep only the largest svdToTruncateTo singular values of the I_tildle LGST matrix. Zero means no truncation. Defaults to dimension of target_model.

  • verbosity (int, optional) – Verbosity value to send to run_lgst(…) call.

Returns

Model – A model containing LGST estimates for all the requested circuits and possibly the gates in target_model.

pygsti.algorithms.directx.direct_lgst_model(circuit_to_estimate, circuit_label, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, verbosity=0)

Constructs a model of LGST estimates for target gates and circuit_to_estimate.

Parameters
  • circuit_to_estimate (Circuit or tuple) – The single circuit to estimate using LGST

  • circuit_label (string) – The label for the estimate of circuit_to_estimate. i.e. op_matrix = returned_model[op_label]

  • dataset (DataSet) – The data to use for LGST

  • prep_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective preparation.

  • meas_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective measurement.

  • target_model (Model) – The target model used by LGST to extract operation labels and an initial gauge

  • op_label_aliases (dictionary, optional) – Dictionary whose keys are operation label “aliases” and whose values are tuples corresponding to what that operation label should be expanded into before querying the dataset. Defaults to the empty dictionary (no aliases defined) e.g. opLabelAliases[‘Gx^3’] = (‘Gx’,’Gx’,’Gx’)

  • svd_truncate_to (int, optional) – The Hilbert space dimension to truncate the operation matrices to using a SVD to keep only the largest svdToTruncateTo singular values of the I_tildle LGST matrix. Zero means no truncation. Defaults to dimension of target_model.

  • verbosity (int, optional) – Verbosity value to send to run_lgst(…) call.

Returns

Model – A model containing LGST estimates of circuit_to_estimate and the gates of target_model.

pygsti.algorithms.directx.direct_lgst_models(circuits, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, verbosity=0)

Constructs a dictionary with keys == circuits and values == Direct-LGST Models.

Parameters
  • circuits (list of Circuit or tuple objects) – The circuits to estimate using LGST. The elements of this list are the keys of the returned dictionary.

  • dataset (DataSet) – The data to use for all LGST estimates.

  • prep_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective preparation.

  • meas_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective measurement.

  • target_model (Model) – The target model used by LGST to extract operation labels and an initial gauge

  • op_label_aliases (dictionary, optional) – Dictionary whose keys are operation label “aliases” and whose values are tuples corresponding to what that operation label should be expanded into before querying the dataset. Defaults to the empty dictionary (no aliases defined) e.g. opLabelAliases[‘Gx^3’] = (‘Gx’,’Gx’,’Gx’)

  • svd_truncate_to (int, optional) – The Hilbert space dimension to truncate the operation matrices to using a SVD to keep only the largest svdToTruncateTo singular values of the I_tildle LGST matrix. Zero means no truncation. Defaults to dimension of target_model.

  • verbosity (int, optional) – Verbosity value to send to run_lgst(…) call.

Returns

dict – A dictionary that relates each circuit to a Model containing the LGST estimate of that circuit’s action (as a SPAM-less operation sequence) stored under the operation label “GsigmaLbl”, along with LGST estimates of the gates in target_model.

pygsti.algorithms.directx.direct_mc2gst_model(circuit_to_estimate, circuit_label, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, min_prob_clip_for_weighting=0.0001, prob_clip_interval=(- 1000000.0, 1000000.0), verbosity=0)

Constructs a model of LSGST estimates for target gates and circuit_to_estimate.

Starting with a Direct-LGST estimate for circuit_to_estimate, runs LSGST using the same strings that LGST would have used to estimate circuit_to_estimate and each of the target gates. That is, LSGST is run with strings of the form:

  1. prep_fiducial

  2. meas_fiducial

  3. prep_fiducial + meas_fiducial

  4. prep_fiducial + single_gate + meas_fiducial

  5. prep_fiducial + circuit_to_estimate + meas_fiducial

and the resulting Model estimate is returned.

Parameters
  • circuit_to_estimate (Circuit) – The single circuit to estimate using LSGST

  • circuit_label (string) – The label for the estimate of circuit_to_estimate. i.e. op_matrix = returned_mode[op_label]

  • dataset (DataSet) – The data to use for LGST

  • prep_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective preparation.

  • meas_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective measurement.

  • target_model (Model) – The target model used by LGST to extract operation labels and an initial gauge

  • op_label_aliases (dictionary, optional) – Dictionary whose keys are operation label “aliases” and whose values are tuples corresponding to what that operation label should be expanded into before querying the dataset. Defaults to the empty dictionary (no aliases defined) e.g. opLabelAliases[‘Gx^3’] = (‘Gx’,’Gx’,’Gx’)

  • svd_truncate_to (int, optional) – The Hilbert space dimension to truncate the operation matrices to using a SVD to keep only the largest svdToTruncateTo singular values of the I_tildle LGST matrix. Zero means no truncation. Defaults to dimension of target_model.

  • min_prob_clip_for_weighting (float, optional) – defines the clipping interval for the statistical weight used within the chi^2 function (see chi2fn).

  • prob_clip_interval (2-tuple, optional) – (min,max) to clip probabilities to within Model probability computation routines (see Model.bulk_fill_probs)

  • verbosity (int, optional) – Verbosity value to send to run_lgst(…) and do_mc2gst(…) calls.

Returns

Model – A model containing LSGST estimates of circuit_to_estimate and the gates of target_model.

pygsti.algorithms.directx.direct_mc2gst_models(circuits, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, min_prob_clip_for_weighting=0.0001, prob_clip_interval=(- 1000000.0, 1000000.0), verbosity=0)

Constructs a dictionary with keys == circuits and values == Direct-LSGST Models.

Parameters
  • circuits (list of Circuit or tuple objects) – The circuits to estimate using LSGST. The elements of this list are the keys of the returned dictionary.

  • dataset (DataSet) – The data to use for all LGST and LSGST estimates.

  • prep_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective preparation.

  • meas_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective measurement.

  • target_model (Model) – The target model used by LGST to extract operation labels and an initial gauge

  • op_label_aliases (dictionary, optional) – Dictionary whose keys are operation label “aliases” and whose values are tuples corresponding to what that operation label should be expanded into before querying the dataset. Defaults to the empty dictionary (no aliases defined) e.g. opLabelAliases[‘Gx^3’] = (‘Gx’,’Gx’,’Gx’)

  • svd_truncate_to (int, optional) – The Hilbert space dimension to truncate the operation matrices to using a SVD to keep only the largest svdToTruncateTo singular values of the I_tildle LGST matrix. Zero means no truncation. Defaults to dimension of target_model.

  • min_prob_clip_for_weighting (float, optional) – defines the clipping interval for the statistical weight used within the chi^2 function (see chi2fn).

  • prob_clip_interval (2-tuple, optional) – (min,max) to clip probabilities to within Model probability computation routines (see Model.bulk_fill_probs)

  • verbosity (int, optional) – Verbosity value to send to run_lgst(…) and do_mc2gst(…) calls.

Returns

dict – A dictionary that relates each circuit to a Model containing the LGST estimate of that circuit’s action (as a SPAM-less operation sequence) stored under the operation label “GsigmaLbl”, along with LSGST estimates of the gates in target_model.

pygsti.algorithms.directx.direct_mlgst_model(circuit_to_estimate, circuit_label, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, min_prob_clip=1e-06, prob_clip_interval=(- 1000000.0, 1000000.0), verbosity=0)

Constructs a model of MLEGST estimates for target gates and circuit_to_estimate.

Starting with a Direct-LGST estimate for circuit_to_estimate, runs MLEGST using the same strings that LGST would have used to estimate circuit_to_estimate and each of the target gates. That is, MLEGST is run with strings of the form:

  1. prep_fiducial

  2. meas_fiducial

  3. prep_fiducial + meas_fiducial

  4. prep_fiducial + singleGate + meas_fiducial

  5. prep_fiducial + circuit_to_estimate + meas_fiducial

and the resulting Model estimate is returned.

Parameters
  • circuit_to_estimate (Circuit or tuple) – The single circuit to estimate using LSGST

  • circuit_label (string) – The label for the estimate of circuit_to_estimate. i.e. op_matrix = returned_model[op_label]

  • dataset (DataSet) – The data to use for LGST

  • prep_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective preparation.

  • meas_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective measurement.

  • target_model (Model) – The target model used by LGST to extract operation labels and an initial gauge

  • op_label_aliases (dictionary, optional) – Dictionary whose keys are operation label “aliases” and whose values are tuples corresponding to what that operation label should be expanded into before querying the dataset. Defaults to the empty dictionary (no aliases defined) e.g. opLabelAliases[‘Gx^3’] = (‘Gx’,’Gx’,’Gx’)

  • svd_truncate_to (int, optional) – The Hilbert space dimension to truncate the operation matrices to using a SVD to keep only the largest svdToTruncateTo singular values of the I_tildle LGST matrix. Zero means no truncation. Defaults to dimension of target_model.

  • min_prob_clip (float, optional) – defines the minimum probability “patch point” used within the logl function.

  • prob_clip_interval (2-tuple, optional) – (min,max) to clip probabilities to within Model probability computation routines (see Model.bulk_fill_probs)

  • verbosity (int, optional) – Verbosity value to send to run_lgst(…) and do_mlgst(…) calls.

Returns

Model – A model containing MLEGST estimates of circuit_to_estimate and the gates of target_model.

pygsti.algorithms.directx.direct_mlgst_models(circuits, dataset, prep_fiducials, meas_fiducials, target_model, op_label_aliases=None, svd_truncate_to=None, min_prob_clip=1e-06, prob_clip_interval=(- 1000000.0, 1000000.0), verbosity=0)

Constructs a dictionary with keys == circuits and values == Direct-MLEGST Models.

Parameters
  • circuits (list of Circuit or tuple objects) – The circuits to estimate using MLEGST. The elements of this list are the keys of the returned dictionary.

  • dataset (DataSet) – The data to use for all LGST and LSGST estimates.

  • prep_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective preparation.

  • meas_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective measurement.

  • target_model (Model) – The target model used by LGST to extract operation labels and an initial gauge

  • op_label_aliases (dictionary, optional) – Dictionary whose keys are operation label “aliases” and whose values are tuples corresponding to what that operation label should be expanded into before querying the dataset. Defaults to the empty dictionary (no aliases defined) e.g. opLabelAliases[‘Gx^3’] = (‘Gx’,’Gx’,’Gx’)

  • svd_truncate_to (int, optional) – The Hilbert space dimension to truncate the operation matrices to using a SVD to keep only the largest svdToTruncateTo singular values of the I_tildle LGST matrix. Zero means no truncation. Defaults to dimension of target_model.

  • min_prob_clip (float, optional) – defines the minimum probability “patch point” used within the logl function.

  • prob_clip_interval (2-tuple, optional) – (min,max) to clip probabilities to within Model probability computation routines (see Model.bulk_fill_probs)

  • verbosity (int, optional) – Verbosity value to send to run_lgst(…) and do_mlgst(…) calls.

Returns

dict – A dictionary that relates each circuit to a Model containing the LGST estimate of that circuit’s action (as a SPAM-less operation sequence) stored under the operation label “GsigmaLbl”, along with MLEGST estimates of the gates in target_model.

pygsti.algorithms.directx.focused_mc2gst_model(circuit_to_estimate, circuit_label, dataset, prep_fiducials, meas_fiducials, start_model, op_label_aliases=None, min_prob_clip_for_weighting=0.0001, prob_clip_interval=(- 1000000.0, 1000000.0), verbosity=0)

Constructs a model containing a single LSGST estimate of circuit_to_estimate.

Starting with start_model, run LSGST with the same circuits that LGST would use to estimate circuit_to_estimate. That is, LSGST is run with strings of the form: prep_fiducial + circuit_to_estimate + meas_fiducial and return the resulting Model.

Parameters
  • circuit_to_estimate (Circuit or tuple) – The single circuit to estimate using LSGST

  • circuit_label (string) – The label for the estimate of circuit_to_estimate. i.e. op_matrix = returned_model[op_label]

  • dataset (DataSet) – The data to use for LGST

  • prep_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective preparation.

  • meas_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective measurement.

  • start_model (Model) – The model to seed LSGST with. Often times obtained via LGST.

  • op_label_aliases (dictionary, optional) – Dictionary whose keys are operation label “aliases” and whose values are tuples corresponding to what that operation label should be expanded into before querying the dataset. Defaults to the empty dictionary (no aliases defined) e.g. opLabelAliases[‘Gx^3’] = (‘Gx’,’Gx’,’Gx’)

  • min_prob_clip_for_weighting (float, optional) – defines the clipping interval for the statistical weight used within the chi^2 function (see chi2fn).

  • prob_clip_interval (2-tuple, optional) – (min,max) to clip probabilities to within Model probability computation routines (see Model.bulk_fill_probs)

  • verbosity (int, optional) – Verbosity value to send do_mc2gst(…) call.

Returns

Model – A model containing LSGST estimate of circuit_to_estimate.

pygsti.algorithms.directx.focused_mc2gst_models(circuits, dataset, prep_fiducials, meas_fiducials, start_model, op_label_aliases=None, min_prob_clip_for_weighting=0.0001, prob_clip_interval=(- 1000000.0, 1000000.0), verbosity=0)

Constructs a dictionary with keys == circuits and values == Focused-LSGST Models.

Parameters
  • circuits (list of Circuit or tuple objects) – The circuits to estimate using LSGST. The elements of this list are the keys of the returned dictionary.

  • dataset (DataSet) – The data to use for all LGST and LSGST estimates.

  • prep_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective preparation.

  • meas_fiducials (list of Circuits) – Fiducial circuits used to construct an informationally complete effective measurement.

  • start_model (Model) – The model to seed LSGST with. Often times obtained via LGST.

  • op_label_aliases (dictionary, optional) – Dictionary whose keys are operation label “aliases” and whose values are tuples corresponding to what that operation label should be expanded into before querying the dataset. Defaults to the empty dictionary (no aliases defined) e.g. opLabelAliases[‘Gx^3’] = (‘Gx’,’Gx’,’Gx’)

  • min_prob_clip_for_weighting (float, optional) – defines the clipping interval for the statistical weight used within the chi^2 function (see chi2fn).

  • prob_clip_interval (2-tuple, optional) – (min,max) to clip probabilities to within Model probability computation routines (see Model.bulk_fill_probs)

  • verbosity (int, optional) – Verbosity value to send to do_mc2gst(…) call.

Returns

dict – A dictionary that relates each circuit to a Model containing the LSGST estimate of that circuit’s action, stored under the operation label “GsigmaLbl”.