quantum_launcher.base.translator#

Module providing Translation between different universal quantum computers

Summary#

Classes:

CirqTranslation

Translation class for Cirq

QiskitTranslation

Translation class for Qiskit

Translation

Translation layer for circuits written in different languages

Functions:

transpile_circuit

Makes circuit compatible with cirq

Reference#

class quantum_launcher.base.translator.Translation[source]#

Bases: ABC

Translation layer for circuits written in different languages

basis_gates: list[str] = []#
language: str = 'None'#
circuit_object#

alias of type

language_name_mapping: dict[str, Translation] = {'cirq': <quantum_launcher.base.translator.CirqTranslation object>, 'qiskit': <quantum_launcher.base.translator.QiskitTranslation object>}#
circuit_class_mapping: dict[type, Translation] = {<class 'cirq.circuits.circuit.Circuit'>: <quantum_launcher.base.translator.CirqTranslation object>, <class 'qiskit.circuit.quantumcircuit.QuantumCircuit'>: <quantum_launcher.base.translator.QiskitTranslation object>}#
abstractmethod to_qasm(circuit: Any) str[source]#

Translation from given circuit into qasm (as a string)

abstractmethod from_qasm(qasm: str) Any[source]#

Translation given in qasm (as a string) circuit into language specific object

static get_translation(circuit: Any, language: str) Any[source]#

Transpiles circuit into given languages basis_gates, translates it to qasm, and from qasm into desired languages object.

class quantum_launcher.base.translator.CirqTranslation[source]#

Bases: Translation

Translation class for Cirq

basis_gates: list[str] = ['x', 'y', 'z', 'cx', 'h', 'rx', 'ry', 'rz']#
language: str = 'cirq'#
circuit_object#

alias of Circuit

to_qasm(circuit: Circuit) str[source]#

Translation from given circuit into qasm (as a string)

from_qasm(qasm: str) Circuit[source]#

Translation given in qasm (as a string) circuit into language specific object

class quantum_launcher.base.translator.QiskitTranslation[source]#

Bases: Translation

Translation class for Qiskit

basis_gates: list[str] = ['x', 'y', 'z', 'cx', 'h', 'rx', 'ry', 'rz', 'u']#
language: str = 'qiskit'#
circuit_object#

alias of QuantumCircuit

to_qasm(circuit: QuantumCircuit) str[source]#

Translation from given circuit into qasm (as a string)

from_qasm(qasm: str) QuantumCircuit[source]#

Translation given in qasm (as a string) circuit into language specific object

quantum_launcher.base.translator.transpile_circuit(qc: QuantumCircuit, basis_gates: list[str]) QuantumCircuit[source]#

Makes circuit compatible with cirq

Parameters:

qc (qiskit.QuantumCircuit) – circuit

Returns:

transpiled circuit

Return type:

qiskit.QuantumCircuit