Module: cirq.experiments.grid_parallel_two_qubit_xeb

Parallel two-qubit cross-entropy benchmarking on a grid.

Cross-entropy benchmarking is a method of estimating the fidelity of quantum gates by executing random quantum circuits containing those gates. This experiment performs cross-entropy benchmarking of a two-qubit gate applied to connected pairs of grid qubits. The qubit pairs are benchmarked in parallel by executing circuits that act on many pairs simultaneously.

Classes

class GridParallelXEBCircuitParameters: Parameters describing a circuit used in a grid parallel XEB experiment.

class GridParallelXEBMetadata: Metadata for a grid parallel XEB experiment.

class GridParallelXEBMetadataParameters: Parameters describing metadata for a grid parallel XEB experiment.

class GridParallelXEBResultsParameters: Parameters describing results from a grid parallel XEB experiment.

class GridParallelXEBTrialResultParameters: Parameters describing a trial result from a grid parallel XEB experiment.

Functions

collect_grid_parallel_two_qubit_xeb_data(...): Collect data for a grid parallel two-qubit XEB experiment.

compute_grid_parallel_two_qubit_xeb_results(...): Compute grid parallel two-qubit XEB results from experimental data.

load(...): Load an object from a JSON file.

save(...): Save an object to filesystem as a JSON file.

Type Aliases

GridQubitPair: The central part of internal API.

DEFAULT_BASE_DIR '/home/kbuilder/cirq-results/grid-parallel-two-qubit-xeb'
LAYER_A Instance of cirq.experiments.GridInteractionLayer
LAYER_B Instance of cirq.experiments.GridInteractionLayer
LAYER_C Instance of cirq.experiments.GridInteractionLayer
LAYER_D Instance of cirq.experiments.GridInteractionLayer
SINGLE_QUBIT_GATES [cirq.PhasedXZGate(axis_phase_exponent=0.0, x_exponent=0.5, z_exponent=0.0), cirq.PhasedXZGate(axis_phase_exponent=0.0, x_exponent=0.5, z_exponent=0.25), cirq.PhasedXZGate(axis_phase_exponent=0.0, x_exponent=0.5, z_exponent=0.5), cirq.PhasedXZGate(axis_phase_exponent=0.0, x_exponent=0.5, z_exponent=0.75), cirq.PhasedXZGate(axis_phase_exponent=0.0, x_exponent=0.5, z_exponent=1.0), cirq.PhasedXZGate(axis_phase_exponent=0.0, x_exponent=0.5, z_exponent=1.25), cirq.PhasedXZGate(axis_phase_exponent=0.0, x_exponent=0.5, z_exponent=1.5), cirq.PhasedXZGate(axis_phase_exponent=0.0, x_exponent=0.5, z_exponent=1.75), cirq.PhasedXZGate(axis_phase_exponent=0.25, x_exponent=0.5, z_exponent=0.0), cirq.PhasedXZGate(axis_phase_exponent=0.25, x_exponent=0.5, z_exponent=0.25), cirq.PhasedXZGate(axis_phase_exponent=0.25, x_exponent=0.5, z_exponent=0.5), cirq.PhasedXZGate(axis_phase_exponent=0.25, x_exponent=0.5, z_exponent=0.75), cirq.PhasedXZGate(axis_phase_exponent=0.25, x_exponent=0.5, z_exponent=1.0), cirq.PhasedXZGate(axis_phase_exponent=0.25, x_exponent=0.5, z_exponent=1.25), cirq.PhasedXZGate(axis_phase_exponent=0.25, x_exponent=0.5, z_exponent=1.5), cirq.PhasedXZGate(axis_phase_exponent=0.25, x_exponent=0.5, z_exponent=1.75), cirq.PhasedXZGate(axis_phase_exponent=0.5, x_exponent=0.5, z_exponent=0.0), cirq.PhasedXZGate(axis_phase_exponent=0.5, x_exponent=0.5, z_exponent=0.25), cirq.PhasedXZGate(axis_phase_exponent=0.5, x_exponent=0.5, z_exponent=0.5), cirq.PhasedXZGate(axis_phase_exponent=0.5, x_exponent=0.5, z_exponent=0.75), cirq.PhasedXZGate(axis_phase_exponent=0.5, x_exponent=0.5, z_exponent=1.0), cirq.PhasedXZGate(axis_phase_exponent=0.5, x_exponent=0.5, z_exponent=1.25), cirq.PhasedXZGate(axis_phase_exponent=0.5, x_exponent=0.5, z_exponent=1.5), cirq.PhasedXZGate(axis_phase_exponent=0.5, x_exponent=0.5, z_exponent=1.75), cirq.PhasedXZGate(axis_phase_exponent=0.75, x_exponent=0.5, z_exponent=0.0), cirq.PhasedXZGate(axis_phase_exponent=0.75, x_exponent=0.5, z_exponent=0.25), cirq.PhasedXZGate(axis_phase_exponent=0.75, x_exponent=0.5, z_exponent=0.5), cirq.PhasedXZGate(axis_phase_exponent=0.75, x_exponent=0.5, z_exponent=0.75), cirq.PhasedXZGate(axis_phase_exponent=0.75, x_exponent=0.5, z_exponent=1.0), cirq.PhasedXZGate(axis_phase_exponent=0.75, x_exponent=0.5, z_exponent=1.25), cirq.PhasedXZGate(axis_phase_exponent=0.75, x_exponent=0.5, z_exponent=1.5), cirq.PhasedXZGate(axis_phase_exponent=0.75, x_exponent=0.5, z_exponent=1.75), cirq.PhasedXZGate(axis_phase_exponent=1.0, x_exponent=0.5, z_exponent=0.0), cirq.PhasedXZGate(axis_phase_exponent=1.0, x_exponent=0.5, z_exponent=0.25), cirq.PhasedXZGate(axis_phase_exponent=1.0, x_exponent=0.5, z_exponent=0.5), cirq.PhasedXZGate(axis_phase_exponent=1.0, x_exponent=0.5, z_exponent=0.75), cirq.PhasedXZGate(axis_phase_exponent=1.0, x_exponent=0.5, z_exponent=1.0), cirq.PhasedXZGate(axis_phase_exponent=1.0, x_exponent=0.5, z_exponent=1.25), cirq.PhasedXZGate(axis_phase_exponent=1.0, x_exponent=0.5, z_exponent=1.5), cirq.PhasedXZGate(axis_phase_exponent=1.0, x_exponent=0.5, z_exponent=1.75), cirq.PhasedXZGate(axis_phase_exponent=1.25, x_exponent=0.5, z_exponent=0.0), cirq.PhasedXZGate(axis_phase_exponent=1.25, x_exponent=0.5, z_exponent=0.25), cirq.PhasedXZGate(axis_phase_exponent=1.25, x_exponent=0.5, z_exponent=0.5), cirq.PhasedXZGate(axis_phase_exponent=1.25, x_exponent=0.5, z_exponent=0.75), cirq.PhasedXZGate(axis_phase_exponent=1.25, x_exponent=0.5, z_exponent=1.0), cirq.PhasedXZGate(axis_phase_exponent=1.25, x_exponent=0.5, z_exponent=1.25), cirq.PhasedXZGate(axis_phase_exponent=1.25, x_exponent=0.5, z_exponent=1.5), cirq.PhasedXZGate(axis_phase_exponent=1.25, x_exponent=0.5, z_exponent=1.75), cirq.PhasedXZGate(axis_phase_exponent=1.5, x_exponent=0.5, z_exponent=0.0), cirq.PhasedXZGate(axis_phase_exponent=1.5, x_exponent=0.5, z_exponent=0.25), cirq.PhasedXZGate(axis_phase_exponent=1.5, x_exponent=0.5, z_exponent=0.5), cirq.PhasedXZGate(axis_phase_exponent=1.5, x_exponent=0.5, z_exponent=0.75), cirq.PhasedXZGate(axis_phase_exponent=1.5, x_exponent=0.5, z_exponent=1.0), cirq.PhasedXZGate(axis_phase_exponent=1.5, x_exponent=0.5, z_exponent=1.25), cirq.PhasedXZGate(axis_phase_exponent=1.5, x_exponent=0.5, z_exponent=1.5), cirq.PhasedXZGate(axis_phase_exponent=1.5, x_exponent=0.5, z_exponent=1.75), cirq.PhasedXZGate(axis_phase_exponent=1.75, x_exponent=0.5, z_exponent=0.0), cirq.PhasedXZGate(axis_phase_exponent=1.75, x_exponent=0.5, z_exponent=0.25), cirq.PhasedXZGate(axis_phase_exponent=1.75, x_exponent=0.5, z_exponent=0.5), cirq.PhasedXZGate(axis_phase_exponent=1.75, x_exponent=0.5, z_exponent=0.75), cirq.PhasedXZGate(axis_phase_exponent=1.75, x_exponent=0.5, z_exponent=1.0), cirq.PhasedXZGate(axis_phase_exponent=1.75, x_exponent=0.5, z_exponent=1.25), cirq.PhasedXZGate(axis_phase_exponent=1.75, x_exponent=0.5, z_exponent=1.5), cirq.PhasedXZGate(axis_phase_exponent=1.75, x_exponent=0.5, z_exponent=1.75)]
TYPE_CHECKING False