geqo.algorithms.algorithms

6.1.14. geqo.algorithms.algorithms#

Functions

controlledXGate(numberControls[, namePrefix])

Implement an `PauliX` gate, which is controlled by multiple qubits.

controlledXGateInternal(controls, ancilla, ...)

Internal function for the function `controlledXGate`.

findLongestRunSequence(seq, start, qubits[, ...])

This function scans through the given sequnce and picks out gates whose qubits are: 1.

getAllLongestRuns(sequence, numberQubits[, ...])

This function scans through the whole sequence in search of potential patterns.

getAllRuns(sequence, numberQubits, numberGates)

This function resembles the getAllLongestRuns function, except that it imposes a length constraint numberGates on the accumulated subsequences.

unitaryDecomposer(u[, decompose_givens])

This function decomposes an arbitrary unitary matrix u into an equivalent sequence with Toffoli, controlled-rotation, and controlled-phase gates

Classes

InversePCCM(name[, nameSpacePrefix])

This operation corresponds to the inverse of the phase-covariant cloning machine with a specified angle.

InverseQFT(numberQubits[, nameSpacePrefix])

This operation corresponds to the inverse of the quantum Fourier transform on a specified number of qubits.

PCCM(name[, nameSpacePrefix])

The circuit for a phase-covariant cloning machine with one free parameter, which is the angle of a controlled rotation in its circuit representation.

Pattern(name, inputSequence, outputSequence, ...)

This class helps create a database of patterns, which are used as replacements for parts of a circuit to reduce circuit depth.

PermuteQubits(targetOrder)

This class allows to define a unitary operation that corresponds to a permutation of qubits.

QFT(numberQubits[, nameSpacePrefix])

This operation corresponds to the quantum Fourier transform on a specified number of qubits.

QubitReversal(numberQubits)

This operation is reversing the order of qubits.