mimiqcircuits.operations.generating_list

Utilities for generating operation lists and trees.

Functions

attach_inheritance_tree_to_docstring(base, ...)

Attach an ASCII inheritance tree to a class or module docstring, wrapped in a proper Sphinx RST code-block so formatting is preserved.

generate_ascii_gate_tree_grouped(groups)

Classes

ANNOTATIONS()

Annotation-related operations.

CLASSICALOPERATIONS()

Classical operations.

GATES()

Gate operations.

InheritanceTree(base_class)

Class to generate and display an inheritance tree for classes that inherit from a base class.

KRAUSCHANNELS()

Kraus channel operations.

MEASUREMENTS()

Measurement operations.

OPERATIONS()

All supported quantum operations.

SIMPLEGATES()

Available quantum gates:

class mimiqcircuits.operations.generating_list.OPERATIONS[source]

Bases: object

All supported quantum operations. Use help(OPERATIONS) to view the hierarchy.

Operations Hierarchy:

Operation
    ├── AbstractAnnotation
    │   ├── Detector
    │   ├── ObservableInclude
    │   ├── QubitCoordinates
    │   ├── ShiftCoordinates
    │   └── Tick
    ├── AbstractClassical
    │   ├── And
    │   ├── Not
    │   ├── Or
    │   ├── ParityCheck
    │   ├── SetBit0
    │   ├── SetBit1
    │   └── Xor
    ├── AbstractMeasurement
    │   ├── Measure
    │   ├── MeasureReset
    │   ├── MeasureResetX
    │   ├── MeasureResetY
    │   ├── MeasureResetZ
    │   ├── MeasureX
    │   ├── MeasureXX
    │   ├── MeasureY
    │   ├── MeasureYY
    │   ├── MeasureZ
    │   └── MeasureZZ
    ├── AbstractOperator
    │   ├── DiagonalOp
    │   ├── Gate
    │   │   ├── Control
    │   │   │   ├── GateC3X
    │   │   │   ├── GateCCX
    │   │   │   ├── GateCH
    │   │   │   ├── GateCP
    │   │   │   ├── GateCRX
    │   │   │   ├── GateCRY
    │   │   │   ├── GateCRZ
    │   │   │   ├── GateCS
    │   │   │   ├── GateCSDG
    │   │   │   ├── GateCSWAP
    │   │   │   ├── GateCSX
    │   │   │   ├── GateCSXDG
    │   │   │   ├── GateCU
    │   │   │   ├── GateCX
    │   │   │   ├── GateCY
    │   │   │   └── GateCZ
    │   │   ├── Delay
    │   │   ├── Diffusion
    │   │   ├── GateCall
    │   │   ├── GateCustom
    │   │   ├── GateDCX
    │   │   ├── GateECR
    │   │   ├── GateH
    │   │   ├── GateHXY
    │   │   ├── GateHXZ
    │   │   ├── GateHYZ
    │   │   ├── GateID
    │   │   ├── GateISWAP
    │   │   ├── GateP
    │   │   ├── GateR
    │   │   ├── GateRNZ
    │   │   ├── GateRX
    │   │   ├── GateRXX
    │   │   ├── GateRY
    │   │   ├── GateRYY
    │   │   ├── GateRZ
    │   │   ├── GateRZX
    │   │   ├── GateRZZ
    │   │   ├── GateSWAP
    │   │   ├── GateU
    │   │   ├── GateU1
    │   │   ├── GateU2
    │   │   ├── GateU3
    │   │   ├── GateX
    │   │   ├── GateXXminusYY
    │   │   ├── GateXXplusYY
    │   │   ├── GateY
    │   │   ├── GateZ
    │   │   ├── Inverse
    │   │   │   ├── GateISWAPDG
    │   │   │   ├── GateSDG
    │   │   │   ├── GateSXDG
    │   │   │   ├── GateSYDG
    │   │   │   └── GateTDG
    │   │   ├── Parallel
    │   │   ├── PauliString
    │   │   ├── PhaseGradient
    │   │   ├── PolynomialOracle
    │   │   ├── Power
    │   │   │   ├── GateS
    │   │   │   ├── GateSX
    │   │   │   ├── GateSY
    │   │   │   └── GateT
    │   │   ├── QFT
    │   │   └── RPauli
    │   ├── Operator
    │   ├── Projector0
    │   ├── Projector00
    │   ├── Projector01
    │   ├── Projector1
    │   ├── Projector10
    │   ├── Projector11
    │   ├── ProjectorX0
    │   ├── ProjectorX1
    │   ├── ProjectorY0
    │   ├── ProjectorY1
    │   ├── ProjectorZ0
    │   ├── ProjectorZ1
    │   ├── RescaledGate
    │   ├── SigmaMinus
    │   └── SigmaPlus
    ├── Add
    ├── Amplitude
    ├── Barrier
    ├── Block
    ├── BondDim
    ├── ExpectationValue
    ├── IfStatement
    ├── Multiply
    ├── Pow
    ├── ReadoutErr
    ├── Repeat
    ├── SchmidtRank
    ├── VonNeumannEntropy
    └── krauschannel
        ├── AmplitudeDamping
        ├── Depolarizing
        ├── Depolarizing1
        ├── Depolarizing2
        ├── GeneralizedAmplitudeDamping
        ├── Kraus
        ├── MixedUnitary
        ├── PauliNoise
        ├── PauliX
        ├── PauliY
        ├── PauliZ
        ├── PhaseAmplitudeDamping
        ├── ProjectiveNoise
        ├── ProjectiveNoiseX
        ├── ProjectiveNoiseY
        ├── ProjectiveNoiseZ
        ├── Reset
        ├── ResetX
        ├── ResetY
        ├── ResetZ
        └── ThermalNoise
class mimiqcircuits.operations.generating_list.GATES[source]

Bases: object

Gate operations. Use help(GATES) to view the hierarchy.

Gate Hierarchy:

Gate
    ├── Control
    │   ├── GateC3X
    │   ├── GateCCX
    │   ├── GateCH
    │   ├── GateCP
    │   ├── GateCRX
    │   ├── GateCRY
    │   ├── GateCRZ
    │   ├── GateCS
    │   ├── GateCSDG
    │   ├── GateCSWAP
    │   ├── GateCSX
    │   ├── GateCSXDG
    │   ├── GateCU
    │   ├── GateCX
    │   ├── GateCY
    │   └── GateCZ
    ├── Delay
    ├── Diffusion
    ├── GateCall
    ├── GateCustom
    ├── GateDCX
    ├── GateECR
    ├── GateH
    ├── GateHXY
    ├── GateHXZ
    ├── GateHYZ
    ├── GateID
    ├── GateISWAP
    ├── GateP
    ├── GateR
    ├── GateRNZ
    ├── GateRX
    ├── GateRXX
    ├── GateRY
    ├── GateRYY
    ├── GateRZ
    ├── GateRZX
    ├── GateRZZ
    ├── GateSWAP
    ├── GateU
    ├── GateU1
    ├── GateU2
    ├── GateU3
    ├── GateX
    ├── GateXXminusYY
    ├── GateXXplusYY
    ├── GateY
    ├── GateZ
    ├── Inverse
    │   ├── GateISWAPDG
    │   ├── GateSDG
    │   ├── GateSXDG
    │   ├── GateSYDG
    │   └── GateTDG
    ├── Parallel
    ├── PauliString
    ├── PhaseGradient
    ├── PolynomialOracle
    ├── Power
    │   ├── GateS
    │   ├── GateSX
    │   ├── GateSY
    │   └── GateT
    ├── QFT
    └── RPauli
class mimiqcircuits.operations.generating_list.KRAUSCHANNELS[source]

Bases: object

Kraus channel operations. Use help(KRAUSCHANNELS) to view the hierarchy.

krauschannel Hierarchy:

krauschannel
    ├── AmplitudeDamping
    ├── Depolarizing
    ├── Depolarizing1
    ├── Depolarizing2
    ├── GeneralizedAmplitudeDamping
    ├── Kraus
    ├── MixedUnitary
    ├── PauliNoise
    ├── PauliX
    ├── PauliY
    ├── PauliZ
    ├── PhaseAmplitudeDamping
    ├── ProjectiveNoise
    ├── ProjectiveNoiseX
    ├── ProjectiveNoiseY
    ├── ProjectiveNoiseZ
    ├── Reset
    ├── ResetX
    ├── ResetY
    ├── ResetZ
    └── ThermalNoise
class mimiqcircuits.operations.generating_list.MEASUREMENTS[source]

Bases: object

Measurement operations. Use help(MEASUREMENTS) to view the hierarchy.

Measurement Hierarchy:

AbstractMeasurement
    ├── Measure
    ├── MeasureReset
    ├── MeasureResetX
    ├── MeasureResetY
    ├── MeasureResetZ
    ├── MeasureX
    ├── MeasureXX
    ├── MeasureY
    ├── MeasureYY
    ├── MeasureZ
    └── MeasureZZ
class mimiqcircuits.operations.generating_list.SIMPLEGATES[source]

Bases: object

Available quantum gates:

Available quantum gates:

*Single qubit gates*
├── GateH
├── GateID
├── GateS
├── GateSDG
├── GateSX
├── GateSXDG
├── GateSY
├── GateSYDG
├── GateT
├── GateTDG
├── GateX
├── GateY
└── GateZ

*Single qubit gates (parametric)*
├── GateP
├── GateR
├── GateRX
├── GateRY
├── GateRZ
├── GateU
├── GateU1
├── GateU2
└── GateU3

*Two qubit gates*
├── GateCH
├── GateCS
├── GateCSDG
├── GateCSX
├── GateCSXDG
├── GateCX
├── GateCY
├── GateCZ
├── GateDCX
├── GateECR
├── GateISWAP
└── GateSWAP

*Two qubit gates (parametric)*
├── GateCP
├── GateCRX
├── GateCRY
├── GateCRZ
├── GateCU
├── GateRXX
├── GateRYY
├── GateRZX
├── GateRZZ
├── GateXXminusYY
└── GateXXplusYY

*Multi-qubit gates (special)*
├── GateC3X
├── GateCCP
├── GateCCX
├── GateCSWAP
├── GateCustom
├── GateHXY
├── GateHXZ
└── GateHYZ