You're reading the documentation of the v0.9. For the latest released version, please have a look at v0.11.
Qiskit converter
Overview
Note
Qiskit is not listed as a Perceval dependency. Users wishing to use Qiskit shall install it by themselves.
Qiskit is an opensource quantum development library. A Qiskit QuantumCircuit
can be
converted to an equivalent Perceval Processor
using QiskitConverter
.
Minimal code:
>>> import qiskit
>>> from perceval.converters import QiskitConverter
>>> from perceval.components import catalog
>>> # Create a Quantum Circuit (the following is pure Qiskit syntax):
>>> qc = qiskit.QuantumCircuit(2)
>>> qc.h(0)
>>> qc.cx(0, 1)
>>> print(qc.draw())
┌───┐
q_0: ┤ H ├──■──
└───┘┌─┴─┐
q_1: ─────┤ X ├
└───┘
>>> # Then convert the Quantum Circuit with Perceval QiskitConvertor
>>> qiskit_convertor = QiskitConverter(catalog)
>>> perceval_processor = qiskit_convertor.convert(qc)
See also:
Class reference
- class perceval.converters.qiskit_converter.QiskitConverter(catalog, backend_name='SLOS', source=<perceval.components.source.Source object>)
Qiskit quantum circuit to perceval processor converter.
- Parameters:
catalog – a component library to use for the conversion. It must contain CNOT gates.
backend_name (
str
) – backend name used in the converted processor (default SLOS)source (
Source
) – the source used as input for the converted processor (default perfect source).
- convert(qc, use_postselection=True)
Convert a qiskit quantum circuit into a Processor.
- Parameters:
qc (qiskit.QuantumCircuit) – quantum-based qiskit circuit
use_postselection (
bool
) – when True, uses a postprocessed CNOT as the last gate. Otherwise, uses only heralded CNOT
- Return type:
- Returns:
the converted processor