cirq_google.serialization.CircuitSerializer

A class for serializing and deserializing programs and operations.

Inherits From: Serializer

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.

This class is more performant than the previous SerializableGateSet at the cost of some extendability.

gate_set_name The name used to identify the gate set.

Methods

deserialize

View source

Deserialize a Circuit from a cirq_google.api.v2.Program.

Args
proto A dictionary representing a cirq_google.api.v2.Program proto.
device If the proto is for a schedule, a device is required Otherwise optional.

Returns
The deserialized Circuit, with a device if device was not None.

serialize

View source

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.