Skip to content

v0.6.0

Compare
Choose a tag to compare
@kylegulshen kylegulshen released this 11 Jun 22:05
· 47 commits to master since this release
f7232d7

Breaking Changes

  • operator_estimation.py is entirely replaced. All changes from (gh-135) except where stated otherwise.

  • operator_estimation.py -> observable_estimation.py (gh-138)

  • pyquil.operator_estimation dependencies replaced with forest.benchmarking.observable_estimation (gh-129,132,133,134,135)

  • operator_estimation.TomographyExperiment.out_op -> observable_estimation.ObservablesExperiment.out_observable

  • operator_estimation.measure_observables -> observable_estimation.estimate_observables

  • operator_estimation.group_experiments -> observable_estimation.group_settings

  • utils.all_pauli_terms -> utils.all_traceless_pauli_terms

  • DFEData and DFEEstimate dataclasses removed in favor of ExperimentResult and tuple of results respectively (gh-134).

  • plotting moved out of qubit_spectroscopy; instead, use fit_*_results() to get a lmfit.model.ModelResult and pass this into analysis.fitting.make_figure()

  • pandas.DataFrame is no longer used in randomized_benchmarking (gh-133), qubit_spectroscopy (gh-129), and robust_phase_estimation (gh-135). These now make use of observable_estimation.ObservablesExperiment, and as such the API has changed substantially. Please refer to example notebooks for new usage.

  • pandas.DataFrame methods removed from quantum_volume. See examples notebook for alternative usage (gh-136).

  • utils.determine_simultaneous_grouping() removed in favor of similar functionality in observable_estimation.group_settings

  • SIC state helpers removed from utils

  • default utils.str_to_pauli_term now associates left-most character of input pauli_str with qubit 0. If qubit_labels are provided then the qubits label the characters in order.

  • utils.all_pauli_*_terms -> utils.all_traceless_pauli_*_terms to reflect fact that identity term is not included.

  • utils.pauli_basis_pauli_basis_measurements removed

Improvements and Changes

  • analysis.fitting has been expanded to hold each fit model used in qubit_spectroscopy and randomized_benchmarking (gh-133, gh-129)

  • RX(angle) for arbitrary angle now supported by basic_compile

  • observable_estimation.estimate_observables (formerly pyquil.operator_estimation.measure_observables) has been decomposed into separate steps:

    • generate_experiment_programs(), which converts and experiment into a list of programs
    • optional symmetrization, which expands each program into a group of programs that accomplish symmetrization
    • data collection and optional consolidate_symmetrization_outputs() which collects data used for estimates
    • calibrate_observable_estimates() which can be used to update estimates after collecting calibration data
  • plotting.state_process.plot_pauli_transfer_matrix() now automatically casts input to np.real_if_close (gh-132)

  • _state_tomo_settings() no longer includes all-Identity term (gh-132).

Bugfixes

  • t2 experiments now implement correct echo sequence (gh-129)