pyquil.external.rpcq module¶
Models and functions that support the use of the quilc rpcq server.
- class pyquil.external.rpcq.CompilerISA(qubits: dict[str, ~pyquil.external.rpcq.Qubit] = <factory>, edges: dict[str, ~pyquil.external.rpcq.Edge] = <factory>)[source]¶
Bases:
objectCompilerISA class for representing the instruction set architecture of a quantum processor.
- dict(by_alias=False)[source]¶
Return a dictionary representation of the CompilerISA.
Deprecated since version 4.6.2: No longer requires serialization of RPCQ objects and is dropping Pydantic as a dependency.
- classmethod parse_file(filename: str)[source]¶
Parse a JSON file into a CompilerISA object.
Deprecated since version 4.6.2: No longer requires serialization of RPCQ objects and is dropping Pydantic as a dependency.
- class pyquil.external.rpcq.Edge(ids: list[int], dead: bool | None = False, gates: list[~pyquil.external.rpcq.GateInfo] = <factory>)[source]¶
Bases:
objectEdge class for representing a connection between two qubits.
- dead: bool | None = False¶
- dict()[source]¶
Return a dictionary representation of the Edge.
Deprecated since version 4.6.2: No longer requires serialization of RPCQ objects and is dropping Pydantic as a dependency.
- ids: list[int]¶
- class pyquil.external.rpcq.GateInfo(operator: str | None = None, duration: float | None = None, fidelity: float | None = None, parameters: list[float | str] = <factory>, arguments: list[int | str] = <factory>, operator_type: ~typing.Literal['gate'] = 'gate')[source]¶
Bases:
OperatorGateInfo class for representing a quantum gate operation.
- arguments: list[int | str]¶
- dict()[source]¶
Return a dictionary representation of the GateInfo.
Deprecated since version 4.6.2: No longer requires serialization of RPCQ objects and is dropping Pydantic as a dependency.
- operator_type: Literal['gate'] = 'gate'¶
- parameters: list[float | str]¶
- class pyquil.external.rpcq.MeasureInfo(operator: str | None = None, duration: float | None = None, fidelity: float | None = None, qubit: str | int | None = None, target: str | int | None = None, operator_type: Literal['measure'] = 'measure')[source]¶
Bases:
OperatorMeasureInfo class for representing a measurement operation.
- dict()[source]¶
Return a dictionary representation of the MeasureInfo.
Deprecated since version 4.7: No longer requires serialization of RPCQ objects and is dropping Pydantic as a dependency.
- operator_type: Literal['measure'] = 'measure'¶
- classmethod parse_obj(dictionary: dict)[source]¶
Parse a dictionary into a MeasureInfo object.
Deprecated since version 4.6.2: No longer requires serialization of RPCQ objects and is dropping Pydantic as a dependency.
- qubit: str | int | None = None¶
- target: str | int | None = None¶
- class pyquil.external.rpcq.Operator(operator: str | None = None, duration: float | None = None, fidelity: float | None = None)[source]¶
Bases:
objectOperator class for representing a quantum gate or measurement.
- dict()[source]¶
Return a dictionary representation of the Operator.
Deprecated since version 4.6.2: No longer requires serialization of RPCQ objects and is dropping Pydantic as a dependency.
- duration: float | None = None¶
- fidelity: float | None = None¶
- operator: str | None = None¶
- class pyquil.external.rpcq.Qubit(id: int, dead: bool | None = False, gates: list[~pyquil.external.rpcq.GateInfo | ~pyquil.external.rpcq.MeasureInfo] = <factory>)[source]¶
Bases:
objectQubit class for representing a qubit in a quantum processor.
- dead: bool | None = False¶
- dict()[source]¶
Return a dictionary representation of the Qubit.
Deprecated since version 4.6.2: No longer requires serialization of RPCQ objects and is dropping Pydantic as a dependency.
- gates: list[GateInfo | MeasureInfo]¶
- id: int¶
- class pyquil.external.rpcq.Supported1QGate[source]¶
Bases:
objectSupported 1Q gates.
- I = 'I'¶
- MEASURE = 'MEASURE'¶
- RX = 'RX'¶
- RZ = 'RZ'¶
- WILDCARD = 'WILDCARD'¶
- class pyquil.external.rpcq.Supported2QGate[source]¶
Bases:
objectSupported 2Q gates.
- CPHASE = 'CPHASE'¶
- CZ = 'CZ'¶
- ISWAP = 'ISWAP'¶
- WILDCARD = 'WILDCARD'¶
- XY = 'XY'¶
- pyquil.external.rpcq.add_edge(quantum_processor: CompilerISA, qubit1: int, qubit2: int) Edge[source]¶
Add an Edge between two qubit IDs.
- pyquil.external.rpcq.add_qubit(quantum_processor: CompilerISA, node_id: int) Qubit[source]¶
Add a qubit to the quantum processor ISA.
- pyquil.external.rpcq.compiler_isa_to_target_quantum_processor(compiler_isa: CompilerISA) TargetDevice[source]¶
Convert a CompilerISA object to a TargetQuantumProcessor object.
- pyquil.external.rpcq.get_edge(quantum_processor: CompilerISA, qubit1: int, qubit2: int) Edge | None[source]¶
Get an Edge between two qubit IDs.
- pyquil.external.rpcq.get_qubit(quantum_processor: CompilerISA, node_id: int) Qubit | None[source]¶
Get a qubit from the quantum processor ISA.