Пример #1
0
class PulseHamiltonianSchema(BaseSchema):
    """Schema for PulseHamiltonian."""

    # Required properties.
    h_str = fields.List(fields.String(), validate=Length(min=1), required=True)
    dim_osc = fields.List(fields.Integer(validate=Range(min=1)), required=True)
    dim_qub = fields.List(fields.Integer(validate=Range(min=2)), required=True)
    vars = fields.Dict(validate=PatternProperties(
        {Regexp('^([a-z0-9])+$'): fields.InstructionParameter()}),
                       required=True)
Пример #2
0
class HistogramSchema(BaseSchema):
    """Example HistogramSchema schema with strict dict structure validation."""
    counts = fields.Nested(ObjSchema,
                           validate=PatternProperties({
                               Regexp('^0x([0-9A-Fa-f])+$'):
                               fields.Integer()
                           }))
Пример #3
0
class GateConfigSchema(BaseSchema):
    """Schema for GateConfig."""

    # Required properties.
    name = fields.String(required=True)
    parameters = fields.List(fields.String(), required=True)
    qasm_def = fields.String(required=True)

    # Optional properties.
    coupling_map = fields.List(fields.List(fields.Integer(),
                                           validate=Length(min=1)),
                               validate=Length(min=1))
    latency_map = fields.List(fields.List(
        fields.Integer(validate=OneOf([0, 1])), validate=Length(min=1)),
                              validate=Length(min=1))
    conditional = fields.Boolean()
    description = fields.String()
Пример #4
0
class CommandSchema(BaseSchema):
    """Schema for Command."""

    # Required properties.
    name = fields.String(required=True)

    # Optional properties.
    qubits = fields.List(fields.Integer(validate=Range(min=0)),
                         validate=Length(min=1))
    sequence = fields.Nested(PulseQobjInstructionSchema, many=True)
Пример #5
0
class GateSchema(BaseSchema):
    """Schema for Gate."""

    # Required properties.
    qubits = fields.List(fields.Integer(),
                         required=True,
                         validate=Length(min=1))
    gate = fields.String(required=True)
    parameters = fields.Nested(NduvSchema,
                               required=True,
                               many=True,
                               validate=Length(min=1))
Пример #6
0
class BackendConfigurationSchema(BaseSchema):
    """Schema for BackendConfiguration."""
    # Required properties.
    backend_name = fields.String(required=True)
    backend_version = fields.String(required=True,
                                    validate=Regexp("[0-9]+.[0-9]+.[0-9]+$"))
    n_qubits = fields.Integer(required=True, validate=Range(min=1))
    basis_gates = fields.List(fields.String(), required=True)
    gates = fields.Nested(GateConfigSchema, required=True, many=True)
    local = fields.Boolean(required=True)
    simulator = fields.Boolean(required=True)
    conditional = fields.Boolean(required=True)
    open_pulse = fields.Boolean(required=True)
    memory = fields.Boolean(required=True)
    max_shots = fields.Integer(required=True, validate=Range(min=1))
    coupling_map = fields.List(fields.List(fields.Integer(),
                                           validate=Length(min=1)),
                               validate=Length(min=1),
                               allow_none=True,
                               required=True)

    # Optional properties.
    max_experiments = fields.Integer(validate=Range(min=1))
    sample_name = fields.String()
    n_registers = fields.Integer(validate=Range(min=1))
    register_map = fields.List(fields.List(
        fields.Integer(validate=OneOf([0, 1])), validate=Length(min=1)),
                               validate=Length(min=1))
    configurable = fields.Boolean()
    credits_required = fields.Boolean()
    online_date = fields.DateTime()
    display_name = fields.String()
    description = fields.String()
    tags = fields.List(fields.String())
Пример #7
0
class PulseBackendConfigurationSchema(QasmBackendConfigurationSchema):
    """Schema for pulse backend"""
    # Required properties.
    open_pulse = fields.Boolean(required=True, validate=OneOf([True]))
    n_uchannels = fields.Integer(required=True, validate=Range(min=0))
    u_channel_lo = fields.List(
        fields.Nested(UchannelLOSchema,
                      validate=Length(min=1),
                      required=True,
                      many=True))
    meas_levels = fields.List(fields.Integer(),
                              validate=Length(min=1),
                              required=True)
    qubit_lo_range = fields.List(fields.List(
        fields.Float(validate=Range(min=0)), validate=Length(equal=2)),
                                 required=True)
    meas_lo_range = fields.List(fields.List(
        fields.Float(validate=Range(min=0)), validate=Length(equal=2)),
                                required=True)
    dt = fields.Float(required=True, validate=Range(min=0))  # pylint: disable=invalid-name
    dtm = fields.Float(required=True, validate=Range(min=0))
    rep_times = fields.List(fields.Integer(validate=Range(min=0)),
                            required=True)
    meas_kernels = fields.List(fields.String(), required=True)
    discriminators = fields.List(fields.String(), required=True)

    # Optional properties.
    meas_map = fields.List(
        fields.List(fields.Integer(), validate=Length(min=1)))
    channel_bandwidth = fields.List(
        fields.List(fields.Float(), validate=Length(equal=2)))
    acquisition_latency = fields.List(fields.List(fields.Integer()))
    conditional_latency = fields.List(fields.List(fields.Integer()))
    hamiltonian = PulseHamiltonianSchema()
Пример #8
0
class PulseDefaultsSchema(BaseSchema):
    """Schema for PulseDefaults."""

    # Required properties.
    qubit_freq_est = fields.List(fields.Number(), required=True, validate=Length(min=1))
    meas_freq_est = fields.List(fields.Number(), required=True, validate=Length(min=1))
    buffer = fields.Integer(required=True, validate=Range(min=0))
    pulse_library = fields.Nested(PulseLibraryItemSchema, required=True, many=True)
    cmd_def = fields.Nested(CommandSchema, many=True, required=True)

    # Optional properties.
    meas_kernel = fields.Nested(MeasurementKernelSchema)
    discriminator = fields.Nested(DiscriminatorSchema)
Пример #9
0
class UchannelLOSchema(BaseSchema):
    """Schema for uchannel LO."""

    # Required properties.
    q = fields.Integer(required=True, validate=Range(min=0))
    scale = fields.Complex(required=True)
Пример #10
0
class DogSchema(BaseSchema):
    """Example Dog schema."""
    barking_power = fields.Integer(required=True)