mimiqcircuits.operations.barrier

Barrier operation.

Classes

Barrier(*args)

Barrier operation.

class mimiqcircuits.operations.barrier.Barrier(*args)[source]

Bases: Operation

Barrier operation.

A barrier is a special operation that does not affect the quantum state or the execution of a circuit, but it prevents compression or optimization operation from being applied across it.

Examples

Adding Barrier operation to the Circuit (The args can be: range, list, tuple, set or int)

>>> from mimiqcircuits import *
>>> c= Circuit()
>>> c.push(Barrier(1), 1)
2-qubit circuit with 1 instruction:
└── Barrier @ q[1]
>>> from mimiqcircuits import *
>>> c= Circuit()
>>> c.push(Barrier(1), range(0,4))
4-qubit circuit with 4 instructions:
├── Barrier @ q[0]
├── Barrier @ q[1]
├── Barrier @ q[2]
└── Barrier @ q[3]

Adding Barrier to the circuit as a multi-qubits gate

>>> from mimiqcircuits import *
>>> c= Circuit()
>>> c.push(Barrier(5),1,2,3,4,5)
6-qubit circuit with 1 instruction:
└── Barrier @ q[1:5]
__init__(num_qubits)[source]

Initialize a barrier operation

Parameters:

num_qubits – number of qubits the barrier will cover

Raises:

ValueError – if num_qubits is less than 1

inverse()[source]
power(p)[source]
control(num_qubits)[source]
iswrapper()[source]
asciiwidth(qubits, bits, zvars)[source]
static isunitary()[source]

Check if the class represents a unitary operator.

By default, this method returns False unless explicitly overridden in a subclass.