Factories

The gate factories generate noisy quantum gates stochastically and return them as as numpy matrices.

Theory

The two main factors that influence the distribution of noisy gates are the following. First, the device parameters for a specific quantum device, containing information such as the T1, T2 times. Second, the pulse shape used to execute a specific gate. While the pulse shape is independent of the qubit we act on, the device parameters are qubit specific. Thus, we choose to add the pulse shape as attribute of the gate factory, while the specific noise parameters are provided as method arguments when creating a gate.

Usage

The are two types of classes, namely the ones representing pure noise and the ones representing the noisy gates. The former do not need the pulse as argument, as they do not come from the execution of a gate, and thus the pulse does not matter.

from quantum_gates.factories import (
    BitflipFactory,
    DepolarizingFactory,
    RelaxationFactory
)

bitflip_factory = BitflipFactory()

tm = ...    # measurement time in ns
rout = ...  # readout error
bitflip_gate = bitflip_factory.construct(tm, rout)

In the latter, we specify the pulse shape used in the execution of the gates.

from quantum_gates.factories import (
    SingleQubitGateFactory,
    XFactory,
    SXFactory,
    CRFactory,
    CNOTFactory,
    CNOTInvFactory
)
from quantum_gates.pulses import GaussianPulse

pulse = GaussianPulse(loc=0.5, scale=0.5)
x_factory = XFactory(pulse)

phi = ...   # Phase of the drive defining axis of rotation on the Bloch sphere
p = ...     # Single-qubit depolarizing error probability
T1 = ...    # Qubit's amplitude damping time in ns
T2 = ...    # Qubit's dephasing time in ns
x_gate = x_factory.construct(phi, p, T1, T2)

Classes

The interface of the classes can be found in the source code.

BitflipFactory

Coming soon.

DepolarizingFactory

Coming soon.

RelaxationFactory

Coming soon.

SingleQubitGateFactory

Coming soon.

XFactory

Coming soon.

SXFactory

Coming soon.

CRFactory

Coming soon.

CNOTFactory

Coming soon.

CNOTInvFactory

Coming soon.