Base Class

class arline_quantum.gate_sets.gate_set.GateSet(name, gate_list)

Bases: object

Gate Set

Class to represent quantum Gate Set

Parameters:
  • gate_list (Gate) – dictionary of gates
  • name (str) – name of gate set
add_gate(gate)

Add gate into gate set

Returns:
check_max_num_qubits()

Check max number of qubits for Gate Set

Return type:int
static from_gate_names(gate_names)
gate_by_name(gate_name)
Returns:gate class by name
Return type:dict
gates_by_name
gates_by_qasm_name
get_gate_list_str()
get_gate_names()
Returns:the list of gate names
Return type:list
get_gate_set_size()

Get gate set size

Returns:size of Gate Set
Return type:int
is_discrete_gate_set()

Check if all gates are discrete

Return type:bool
reduce_gate_set(num_qubits)

Generate new gate set with only gates with number of cubits less than num_qubits

Parameters:num_qubits (int) – border value for qubit number
to_qiskit_name()

Gate Sets

Inheritance diagram of arline_quantum.gate_sets.clifford_t
class arline_quantum.gate_sets.clifford_t.CliffordTGateSet

Bases: arline_quantum.gate_sets.gate_set.GateSet

Clifford + T Gate Set

Note

This is Universal Gate Set

Description:

Discrete Gate Set

[H, S, Sd, Cnot, T, Td]

add_gate(gate)

Add gate into gate set

Returns:
check_max_num_qubits()

Check max number of qubits for Gate Set

Return type:int
static from_gate_names(gate_names)
gate_by_name(gate_name)
Returns:gate class by name
Return type:dict
gates_by_name
gates_by_qasm_name
get_gate_list_str()
get_gate_names()
Returns:the list of gate names
Return type:list
get_gate_set_size()

Get gate set size

Returns:size of Gate Set
Return type:int
is_discrete_gate_set()

Check if all gates are discrete

Return type:bool
reduce_gate_set(num_qubits)

Generate new gate set with only gates with number of cubits less than num_qubits

Parameters:num_qubits (int) – border value for qubit number
to_qiskit_name()
Inheritance diagram of arline_quantum.gate_sets.google
class arline_quantum.gate_sets.google.GoogleGateSet

Bases: arline_quantum.gate_sets.gate_set.GateSet

Google Gate Set

Description:

Continuous Gate Set

[R, Rz, Cz]

add_gate(gate)

Add gate into gate set

Returns:
check_max_num_qubits()

Check max number of qubits for Gate Set

Return type:int
static from_gate_names(gate_names)
gate_by_name(gate_name)
Returns:gate class by name
Return type:dict
gates_by_name
gates_by_qasm_name
get_gate_list_str()
get_gate_names()
Returns:the list of gate names
Return type:list
get_gate_set_size()

Get gate set size

Returns:size of Gate Set
Return type:int
is_discrete_gate_set()

Check if all gates are discrete

Return type:bool
reduce_gate_set(num_qubits)

Generate new gate set with only gates with number of cubits less than num_qubits

Parameters:num_qubits (int) – border value for qubit number
to_qiskit_name()
Inheritance diagram of arline_quantum.gate_sets.ibm
class arline_quantum.gate_sets.ibm.IbmGateSet

Bases: arline_quantum.gate_sets.gate_set.GateSet

IBM Gate Set

Description:

IBM Gate Set

[U1, U2, U3, Cnot, I]

add_gate(gate)

Add gate into gate set

Returns:
check_max_num_qubits()

Check max number of qubits for Gate Set

Return type:int
static from_gate_names(gate_names)
gate_by_name(gate_name)
Returns:gate class by name
Return type:dict
gates_by_name
gates_by_qasm_name
get_gate_list_str()
get_gate_names()
Returns:the list of gate names
Return type:list
get_gate_set_size()

Get gate set size

Returns:size of Gate Set
Return type:int
is_discrete_gate_set()

Check if all gates are discrete

Return type:bool
reduce_gate_set(num_qubits)

Generate new gate set with only gates with number of cubits less than num_qubits

Parameters:num_qubits (int) – border value for qubit number
to_qiskit_name()
Inheritance diagram of arline_quantum.gate_sets.rigetti
class arline_quantum.gate_sets.rigetti.RigettiGateSet

Bases: arline_quantum.gate_sets.gate_set.GateSet

Rigetti Gate Set

Description:

Continuous Gate Set

[Cz, Rx, Rz]

add_gate(gate)

Add gate into gate set

Returns:
check_max_num_qubits()

Check max number of qubits for Gate Set

Return type:int
static from_gate_names(gate_names)
gate_by_name(gate_name)
Returns:gate class by name
Return type:dict
gates_by_name
gates_by_qasm_name
get_gate_list_str()
get_gate_names()
Returns:the list of gate names
Return type:list
get_gate_set_size()

Get gate set size

Returns:size of Gate Set
Return type:int
is_discrete_gate_set()

Check if all gates are discrete

Return type:bool
reduce_gate_set(num_qubits)

Generate new gate set with only gates with number of cubits less than num_qubits

Parameters:num_qubits (int) – border value for qubit number
to_qiskit_name()