Base Class

class arline_quantum.hardware.hardware.Hardware(name, num_qubits, gate_set, qubit_connectivity=None, num_gates=None)

Bases: object

Quantum Hardware Configuration

An abstract quantum hardware configuration class

Parameters:
  • name (str) – name of configuration
  • num_qubits (int) – number of qubits
  • QubitConnectivity – qubit connectivity
  • gate_set (GateSet) – dictionary of gates
  • num_gates (dict number of gates is equal to infinity) – number of each type of gate, if num_gates[key] = -1,
add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(*args)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)

Note

Use hardware_by_name() function to create Hardware object from configuration file string.

arline_quantum.hardware.hardware_by_name(configuration)
arline_quantum.hardware.hardware_classes_from_module(module)
Parameters:module – python module to inspect
Returns:key – class name, value – hardware class
Return type:dict

Cliford T

Inheritance diagram of arline_quantum.hardware.basic_clifford_t
class arline_quantum.hardware.basic_clifford_t.CliffordTAll2All(num_qubits)

Bases: arline_quantum.hardware.basic_hardware.BasicHardware

Basic Fully Connected Quantum Hardware Configuration with Clifford + T Gate Set

Description:

qubit_connectivity : fully connected

gate_set : CliffordTGateSet

num_gates : infinity

gate_cost : equal, 1

gate_noise : equal, 0

qubit_cost : equal, 0

add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(gate_chain)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)

Google

Inheritance diagram of arline_quantum.hardware.basic_google
class arline_quantum.hardware.basic_google.GoogleAll2All(num_qubits)

Bases: arline_quantum.hardware.basic_hardware.BasicHardware

Basic Fully Connected Quantum Hardware Configuration with Google Gate Set

Description:

qubit_connectivity : fully connected

gate_set : GoogleGateSet

num_gates : infinity

gate_cost : equal, 1

gate_noise : equal, 0

qubit_cost : equal, 0

add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(gate_chain)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)

IBM

Inheritance diagram of arline_quantum.hardware.basic_ibm
class arline_quantum.hardware.basic_ibm.IbmAll2All(num_qubits)

Bases: arline_quantum.hardware.basic_hardware.BasicHardware

Basic Fully Connected Quantum Hardware Configuration with IBM Gate Set

Description:

qubit_connectivity : All2All

gate_set : IbmGateSet

num_gates : infinity

gate_cost : equal, 1

gate_noise : equal, 0

qubit_cost : equal, 0

add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(gate_chain)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)
class arline_quantum.hardware.basic_ibm.IbmRueschlikon

Bases: arline_quantum.hardware.basic_hardware.BasicHardware

Basic IBM Rueschlikon Quantum Hardware Configuration

Description:

qubit_connectivity : Rueschlikon

gate_set : IbmGateSet

num_gates : infinity

gate_cost : equal, 1

gate_noise : equal, 0

qubit_cost : equal, 0

add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(gate_chain)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)
class arline_quantum.hardware.basic_ibm.IbmRueschlikonSymmetrical

Bases: arline_quantum.hardware.basic_hardware.BasicHardware

Basic IBM Rueschlikon Symmetrical Quantum Hardware Configuration

Description:

qubit_connectivity : RueschlikonSymmetrical

gate_set : IbmGateSet

num_gates : infinity

gate_cost : equal, 1

gate_noise : equal, 0

qubit_cost : equal, 0

add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(gate_chain)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)

Rigetti

Inheritance diagram of arline_quantum.hardware.basic_rigetti
class arline_quantum.hardware.basic_rigetti.RigettiAgave

Bases: arline_quantum.hardware.basic_hardware.BasicHardware

Basic Rigetti Agave Quantum Hardware Configuration with Rigetti Gate Set and 8 Qubits

Description:

num_qubits : 8

qubit_connectivity : Agave

gate_set : RigettiGateSet

num_gates : infinity

gate_cost : equal, 1

gate_noise : equal, 0

qubit_cost : equal, 0

add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(gate_chain)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)
class arline_quantum.hardware.basic_rigetti.RigettiAgaveSymmetrical

Bases: arline_quantum.hardware.basic_hardware.BasicHardware

Basic Rigetti Agave Quantum Hardware Configuration with Rigetti Gate Set and 8 Qubits
and Symmetrical Connectivity

Description:

num_qubits : 8

qubit_connectivity : AgaveSymmetrical

gate_set : RigettiGateSet

num_gates : infinity

gate_cost : equal, 1

gate_noise : equal, 0

qubit_cost : equal, 0

add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(gate_chain)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)
class arline_quantum.hardware.basic_rigetti.RigettiAll2All(num_qubits)

Bases: arline_quantum.hardware.basic_hardware.BasicHardware

Basic Fully Connected Quantum Hardware Configuration with Rigetti Gate Set

Description:

qubit_connectivity : All2All

gate_set : RigettiGateSet

num_gates : infinity

gate_cost : equal, 1

gate_noise : equal, 0

qubit_cost : equal, 0

add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(gate_chain)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)
class arline_quantum.hardware.basic_rigetti.RigettiAspen

Bases: arline_quantum.hardware.basic_hardware.BasicHardware

Basic Rigetti Aspen Quantum Hardware Configuration with Rigetti Gate Set and 16 Qubits

Description:

num_qubits : 16

qubit_connectivity : Aspen

gate_set : RigettiGateSet

num_gates : infinity

gate_cost : equal, 1

gate_noise : equal, 0

qubit_cost : equal, 0

add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(gate_chain)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)
class arline_quantum.hardware.basic_rigetti.RigettiAspenSymmetrical

Bases: arline_quantum.hardware.basic_hardware.BasicHardware

Basic Rigetti Aspen Quantum Hardware Configuration with Rigetti Gate Set and 16 Qubits

Description:

num_qubits : 16

qubit_connectivity : AspenSymmetrical

gate_set : RigettiGateSet

num_gates : infinity

gate_cost : equal, 1

gate_noise : equal, 0

qubit_cost : equal, 0

add_qreg_mapping(qreg_name, qreg_size)
calculate_gate_chain_cost(gate_chain)
calculate_gate_chain_noise(gate_chain)
convert_to_cirq_hardware()
convert_to_nx_graph()
convert_to_qiskit_hardware()
copy()
num_qubits
print_config()

Print Configuration

qreg_qubit_index(qreg_name, qreg_qubit)