OpenConvertors are used to implement the conversion of the data model of the circuit. It should be noted that:
Run the following code to get Circuit
, namely PBProgram circuit model
, also known as QCompute circuit model
.
from QCompute import *
from pprint import pprint
from QCompute.Define import Settings
Settings.outputInfo = False
env = QEnv()
q = env.Q.createList(2)
X(q[0])
CX(q[0], q[1])
MeasureZ(*env.Q.toListPair())
# Generate PBProgram and output
env.publish()
pprint(env.program)
The QCompute SDK provides a one-way converter for implementing Circuit
to DrawConsole
.
from QCompute import *
from pprint import pprint
from QCompute.Define import Settings
Settings.outputInfo = False
env = QEnv()
q = env.Q.createList(2)
X(q[0])
CX(q[0], q[1])
MeasureZ(*env.Q.toListPair())
# Generate PBProgram
env.publish()
# Convert PBProgram to DrawConsole and output
DrawConsole = CircuitToDrawConsole().convert(env.program)
pprint(DrawConsole)
The QCompute SDK provides bidirectional converters for implementing Circuit
and InternalStruct
.
from QCompute import *
from pprint import pprint
from QCompute.Define import Settings
Settings.outputInfo = False
env = QEnv()
q = env.Q.createList(2)
X(q[0])
CX(q[0], q[1])
MeasureZ(*env.Q.toListPair())
# Generate PBProgram
env.publish()
pprint(env.program)
# Convert PBProgram to InternalStruct and output
circuitLineList = CircuitToInternalStruct().convert(env.program.body.circuit)
pprint(circuitLineList)
# Convert InternalStruct to PBProgram and output
circuit = InternalStructToCircuit().convert(circuitLineList)
pprint(circuit)
The QCompute SDK provides bidirectional converters for implementing Circuit and JSON circuit models.
from QCompute import *
from pprint import pprint
from QCompute.Define import Settings
Settings.outputInfo = False
env = QEnv()
q = env.Q.createList(2)
X(q[0])
CX(q[0], q[1])
MeasureZ(*env.Q.toListPair())
# Generate PBProgram
env.publish()
# Convert PBProgram to JSON and output
jsonStr = CircuitToJson().convert(env.program)
pprint(jsonStr)
# Convert JSON to PBProgram and output
circuit = JsonToCircuit().convert(jsonStr)
pprint(circuit)
The QCompute SDK provides bidirectional converters for implementing Circuit and QASM circuit models.
from QCompute import *
from pprint import pprint
from QCompute.Define import Settings
Settings.outputInfo = False
env = QEnv()
q = env.Q.createList(2)
X(q[0])
CX(q[0], q[1])
MeasureZ(*env.Q.toListPair())
# Generate PBProgram
env.publish()
# Convert PBProgram to QASM and output
qasmStr = CircuitToQasm().convert(env.program)
pprint(qasmStr)
# Convert QASM to PBProgram and output
circuit = QasmToCircuit().convert(qasmStr)
pprint(circuit)
The QCompute SDK provides a one-way converter for implementing Circuit to the Qobj circuit model used by the third-party open source simulator Aer.
from QCompute import *
from pprint import pprint
from QCompute.Define import Settings
Settings.outputInfo = False
env = QEnv()
q = env.Q.createList(2)
X(q[0])
CX(q[0], q[1])
MeasureZ(*env.Q.toListPair())
# Generate PBProgram
env.publish()
# Convert PBProgram to Qobj and output
qobj = CircuitToQobj().convert(env.program, 1024)
pprint(qobj)
The ConvertorIonQ is used to realize bidirectional conversion of QCompute circuit model to IonQ circuit model.
from QCompute import *
from pprint import pprint
from QCompute.Define import Settings
Settings.outputInfo = False
env = QEnv()
q = env.Q.createList(2)
X(q[0])
CX(q[0], q[1])
MeasureZ(*env.Q.toListPair())
# Generate PBProgram
env.publish()
# Convert PBProgram to IonQ-JSON and output
ionq_program = CircuitToIonQ().convert(env.program)
pprint(ionq_program)
# Convert IonQ-JSON to PBProgram and output
circuit = IonQToCircuit().convert(ionq_program)
pprint(circuit)
CircuitToIonQ().convert()
Used to convert PBProgram circuit model to JSON circuit model received by IonQ.
Fixed Gates: X - Y - Z - H - CX - S - SDG - T - TDG - SWAP - CCX
Rotation Gates: RX - RY - RZ
IonQToCircuit().convert()
Used to convert IonQ-JSON circuit model to PBProgram circuit model.
x - y - z - rx - ry - rz - h - not - cnot - s - si - t - ti - v - vi - xx - yy - zz - swap
The ConvertorXanaduSF is used to realize conversion of QCompute circuit model to Xanadu-StrawberryFields(SF) circuit model.The converter generates Xanadu-SF circuit objects to the Blackbird format.
CircuitToXanaduSF().convert()
The method is used to convert PBProgram circuit model to Blackbird circuit model.
Quantum gates supported in PBProgram circuits
Fixed Gate : X - H - CX - CZ
Rotation Gate : RX - RY
Input : PBProgram, TwoQubitsGate
TwoQubitsGate is used to select the conversion scheme of the two-qubit gates in the circuit.
The converter offers 3 options:
Output : Blackbird
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。