MIMIQ Circuits version 0.8.2 is in early development. Check out our website at www.qperfect.io or contact us at constact@qperfect.io

Circuit Execution on MIMIQ#

Understanding sampling and executions#

Executions on MIMIQ are carried out in different ways depending on the type of the circuit submitted. There are three fundamental cases based on the presence of non-unitary operations such as Measure, IfStatement, or Reset.

No non-unitary operations#

In this case the circuit is executed only once and the final state is sampled as many times as specified by the number of samples (nsamples) parameter of the execution. The sampled value of all the qubits is returned (in the obvious ordering).

No mid-circuit measurements and no non-unitary operations#

In this case the circuit is executed only once again, and the final state is sampled as many times as specified by nsamples, but only the sampled value of all the classical bits used in the circuit is returned (usually the targets of the measurements at the end of the circuit).

Mid-circuit measurements or non-unitary operations#

In this case the circuit is executed nsamples times, and the final state is sampled only once per run. The sampled value of all the classical bits used in the circuit is returned.

Fidelity and Error estimates#

Since we allow for the execution of circuits on MIMIQ with non exact methods, we return always a fidelity estimate for each execution.

Fidelity in this case is defined as the squared modulus of the overlap between the final state obtained by the execution and the ideal one. It is a number between 0 and 1, where 1 means that the final state is exactly the one we wanted to obtain.

The fidelity will always be 1.0 for exact methods, but it can be less than that for non exact methods.

In the case of MPS methods, the number returned is an estimate of the actual fidelity of the state. More specifically, it is a lower bound for the fidelity, meaning that the actual fidelity will always be larger or equal to the number reported.

The average multiqubit error estimate is the higher bound of the error done in average when applying a two qubit gate.

Timings#

Name

Description

apply

Time used to apply all the unitaries of the circuit to the initial state. It also includes the time to allocate the initial state.

compression

Time used to compress the circuit or convert it into a format that is more efficient for the execution on MIMIQ.

sample

Time used to sample the final state of the circuit.

amplitudes

Time used to retrieve the amplitudes of the final state of the circuit.

total

Time elapsed from the start of the execution to the end

When reading these timings consider that sampling only account for the time needed to sample the final state. If a circuit needs to be executed multiple time to obtain such samples, the “sample” time will be zero. The contrary is true for the “apply” time, which is the sum of the apply time for all the executions of the circuit.