A class for serializing and deserializing programs and operations.
Inherits From: Serializer
View aliases
Main aliases
cirq_google.CircuitSerializer
, cirq_google.serialization.circuit_serializer.CircuitSerializer
cirq_google.serialization.CircuitSerializer(
USE_CONSTANTS_TABLE_FOR_MOMENTS=False,
USE_CONSTANTS_TABLE_FOR_OPERATIONS=False,
op_serializer: Optional[cirq_google.serialization.op_serializer.OpSerializer
] = None,
op_deserializer: Optional[cirq_google.serialization.op_deserializer.OpDeserializer
] = None,
tag_serializer: Optional[cirq_google.serialization.tag_serializer.TagSerializer
] = None,
tag_deserializer: Optional[cirq_google.serialization.tag_deserializer.TagDeserializer
] = None
)
This class is for serializing cirq_google.api.v2. protos using one
message type per gate type. It serializes qubits by adding a field
into the constants table. Usage is by passing a cirq.Circuit
to the serialize()
method of the class, which will produce a
Program
proto. Likewise, the deserialize
method will produce
a cirq.Circuit
object from a Program
proto.
Methods
deserialize
deserialize(
proto: cirq_google.api.v2.program_pb2.Program
) -> cirq.Circuit
Deserialize a Circuit from a cirq_google.api.v2.Program.
Args | |
---|---|
proto
|
A dictionary representing a cirq_google.api.v2.Program proto. |
Returns | |
---|---|
The deserialized Circuit |
Raises | |
---|---|
ValueError
|
If the given proto has no language or the language gate set mismatches that specified in as the name of this serialized gate set. Also if deserializing a schedule is attempted. |
NotImplementedError
|
If the program proto does not contain a circuit or schedule. |
serialize
serialize(
program: cirq.AbstractCircuit,
msg: Optional[cirq_google.api.v2.program_pb2.Program
] = None
) -> cirq_google.api.v2.program_pb2.Program
Serialize a Circuit to cirq_google.api.v2.Program proto.
Args | |
---|---|
program
|
The Circuit to serialize. |
msg
|
An optional proto object to populate with the serialization results. |
Raises | |
---|---|
NotImplementedError
|
If the program is of a type that is supported. |