A class for serializing and deserializing programs and operations.
Inherits From: Serializer
cirq_google.serialization.CircuitSerializer()
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.
Attributes |
name
|
The name of the serializer.
|
Methods
deserialize
View source
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
View source
serialize(
program: cirq.AbstractCircuit,
msg: Optional[cirq_google.api.v2.program_pb2.Program
] = None,
*,
arg_function_language: Optional[str] = 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.
|
arg_function_language
|
The arg_function_language field from
Program.Language .
|
Raises |
NotImplementedError
|
If the program is of a type that is supported.
|