Get started with OBP
Die Seide is noch nich ibersetzt worn. Se guggen de englsche Originalversion.
Package versions
The code on this page was developed using the following requirements. We recommend using these versions or newer.
qiskit[all]~=2.3.0
qiskit-ibm-runtime~=0.43.1
qiskit-addon-utils~=0.3.0
qiskit-addon-obp~=0.3.0
When you prepare a quantum workload with operator backpropagation (OBP), first you must make a selection of "circuit slices", and second, you should specify a truncation threshold or "error budget" to remove terms with small coefficients in the backpropagated operator as well as set an upper bound to the overall size of the backpropagated operator. During backpropagation, the number of terms in the operator of an -qubit circuit will approach quickly in the worst-case scenario. This guide demonstrates the steps involved in applying OBP to a quantum workload.
The main component of the qiskit-addons-obp package is the backpropagate() function. It ingests arguments for the final observable to reconstruct, a set of circuit slices to compute classically, and, optionally, a TruncationErrorBudget or OperatorBudget to provide constraints on the truncation that is done. Once these are specified, the classically computed backpropagated operator is calculated iteratively by applying the gates from each slice, , in the following way:
where is the total number of slices and represents a single slice of the circuit. This example uses the qiskit-addons-utils package to prepare the circuit slices as well as generate the example circuit.
To begin, consider the time evolution of a Heisenberg XYZ chain. This Hamiltonian has the form
and the expectation value to measure will be