cirq_google.serialization.CircuitSerializer
A class for serializing and deserializing programs and operations.
Inherits From: Serializer
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.
Args |
USE_CONSTANTS_TABLE_FOR_MOMENTS
|
Temporary feature flag to enable
serialization of duplicate moments as entries in the constant table.
This flag will soon become the default and disappear as soon as
deserialization of this field is deployed.
|
USE_CONSTANTS_TABLE_FOR_MOMENTS
|
Temporary feature flag to enable
serialization of duplicate operations as entries in the constant table.
This flag will soon become the default and disappear as soon as
deserialization of this field is deployed.
|
op_serializer
|
Optional custom serializer for serializing unknown gates.
|
op_deserializer
|
Optional custom deserializer for deserializing unknown gates.
|
tag_serializer
|
Optional custom serializer for serializing unknown tags.
|
tag_deserializer
|
Optional custom deserializer for deserializing unknown tags.
|
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
) -> 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.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-04-15 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-15 UTC."],[],[]]