qsearch.unitaries

This module contains a list of predefined commonly used constant unitaries, and functions for generating commonly used unitaries.

qsearch.unitaries.cnot

Constant CNOT unitary

qsearch.unitaries.sqrt_cnot

Constant square root of CNOT unitary

qsearch.unitaries.swap

Constant 2 qubit swap unitary

qsearch.unitaries.toffoli

Constant toffoli unitary

qsearch.unitaries.fredkin

Constant fredkin unitary

qsearch.unitaries.peres

Constant peres unitary

qsearch.unitaries.logical_or

Constant logical or unitary

qsearch.unitaries.full_adder

Constant adder unitary

qsearch.unitaries.rot_x

Function to generate an X rotation by theta

Parameters:

theta (float) –

qsearch.unitaries.rot_x_jac

Function that returns the jacobian of rot_x()

Parameters:

theta (float) –

qsearch.unitaries.rot_y

Function to generate an Y rotation by theta

Parameters:

theta (float) –

qsearch.unitaries.rot_y_jac

Function that returns the jacobian of rot_y()

Parameters:

theta (float) –

qsearch.unitaries.rot_z

Function to generate an Z rotation by theta

Parameters:

theta (float) –

qsearch.unitaries.rot_z_jac

Function that returns the jacobian of rot_z()

Parameters:

theta (float) –

qsearch.unitaries.qft

Returns a n`x`n qft matrix.

Parameters:

n (int) –

qsearch.unitaries.identity

Returns a n`x`n identity matrix

Parameters:

n (int) –

qsearch.unitaries.general_swap

Returns the swap matrix for qudits of the specified size.

Parameters:

d (int) –

qsearch.unitaries.arbitrary_cnot

Returns a CNOT between any two qubits within the specified number of qubits

Parameters:
  • qudits (int) –

  • control (int) –

  • target (int) –

Module Contents

Functions

rot_z(theta)

rot_z_jac(theta)

rot_x(theta)

rot_x_jac(theta)

rot_y(theta)

rot_y_jac(theta)

qft(n)

identity(n)

general_swap([d])

arbitrary_cnot(qudits, control, target)

Attributes

cnot

sqrt_cnot

swap

toffoli

fredkin

peres

logical_or

full_adder

pauli_x

pauli_y

pauli_z

sqrt_x

qsearch.unitaries.cnot
qsearch.unitaries.sqrt_cnot
qsearch.unitaries.swap
qsearch.unitaries.toffoli
qsearch.unitaries.fredkin
qsearch.unitaries.peres
qsearch.unitaries.logical_or
qsearch.unitaries.full_adder
qsearch.unitaries.pauli_x
qsearch.unitaries.pauli_y
qsearch.unitaries.pauli_z
qsearch.unitaries.sqrt_x
qsearch.unitaries.rot_z(theta)
Parameters:

theta (float) –

qsearch.unitaries.rot_z_jac(theta)
Parameters:

theta (float) –

qsearch.unitaries.rot_x(theta)
Parameters:

theta (float) –

qsearch.unitaries.rot_x_jac(theta)
Parameters:

theta (float) –

qsearch.unitaries.rot_y(theta)
Parameters:

theta (float) –

qsearch.unitaries.rot_y_jac(theta)
Parameters:

theta (float) –

qsearch.unitaries.qft(n)
Parameters:

n (int) –

qsearch.unitaries.identity(n)
Parameters:

n (int) –

qsearch.unitaries.general_swap(d=2)
Parameters:

d (int) –

qsearch.unitaries.arbitrary_cnot(qudits, control, target)
Parameters:
  • qudits (int) –

  • control (int) –

  • target (int) –