# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: quantum/pulse/v1/grape.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'quantum/pulse/v1/grape.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from qubitos.proto.quantum.common.v1 import common_pb2 as quantum_dot_common_dot_v1_dot_common__pb2
from qubitos.proto.quantum.pulse.v1 import hamiltonian_pb2 as quantum_dot_pulse_dot_v1_dot_hamiltonian__pb2
from qubitos.proto.quantum.pulse.v1 import pulse_pb2 as quantum_dot_pulse_dot_v1_dot_pulse__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cquantum/pulse/v1/grape.proto\x12\x10quantum.pulse.v1\x1a\x1equantum/common/v1/common.proto\x1a\"quantum/pulse/v1/hamiltonian.proto\x1a\x1cquantum/pulse/v1/pulse.proto\"\xfa\x04\n\x0fOptimizeRequest\x12.\n\x05trace\x18\x01 \x01(\x0b\x32\x1f.quantum.common.v1.TraceContext\x12=\n\x12system_hamiltonian\x18\x02 \x01(\x0b\x32!.quantum.pulse.v1.HamiltonianSpec\x12/\n\x0btarget_gate\x18\x03 \x01(\x0e\x32\x1a.quantum.pulse.v1.GateType\x12\x1c\n\x14target_qubit_indices\x18\x04 \x03(\x05\x12\x16\n\x0erotation_angle\x18\x05 \x01(\x01\x12\x1b\n\x13\x63ustom_unitary_json\x18\x06 \x01(\t\x12\x17\n\x0ftarget_fidelity\x18\x07 \x01(\x01\x12\x16\n\x0emax_iterations\x18\x08 \x01(\x05\x12\x16\n\x0enum_time_steps\x18\t \x01(\x05\x12\x13\n\x0b\x64uration_ns\x18\n \x01(\x05\x12\x15\n\rlearning_rate\x18\x0b \x01(\x01\x12\x13\n\x0brandom_seed\x18\x0c \x01(\x05\x12/\n\x07options\x18\r \x01(\x0b\x32\x1e.quantum.pulse.v1.GRAPEOptions\x12\x19\n\x11max_amplitude_mhz\x18\x0e \x01(\x01\x12\x12\n\ntimeout_ms\x18\x0f \x01(\x05\x12\x1f\n\x17\x63\x61libration_fingerprint\x18\x10 \x01(\t\x12-\n\x08\x64uration\x18\x11 \x01(\x0b\x32\x1b.quantum.pulse.v1.TimePoint\x12\x34\n\nawg_config\x18\x12 \x01(\x0b\x32 .quantum.pulse.v1.AWGClockConfigJ\x04\x08\x32\x10\x65\"\xa5\x03\n\x0cGRAPEOptions\x12\x11\n\toptimizer\x18\x01 \x01(\t\x12\x14\n\x0clbfgs_memory\x18\x02 \x01(\x05\x12\x1b\n\x13learning_rate_decay\x18\x03 \x01(\x01\x12\x16\n\x0e\x64\x65\x63\x61y_interval\x18\x04 \x01(\x05\x12\x1c\n\x14l2_amplitude_penalty\x18\x05 \x01(\x01\x12\x1a\n\x12smoothness_penalty\x18\x06 \x01(\x01\x12\x1b\n\x13\x62\x61ndwidth_limit_mhz\x18\x07 \x01(\x01\x12\x1d\n\x15\x63onvergence_threshold\x18\x08 \x01(\x01\x12\x1a\n\x12\x63onvergence_window\x18\t \x01(\x05\x12\x1a\n\x12gradient_clip_norm\x18\n \x01(\x01\x12\x18\n\x10initial_pulse_id\x18\x0b \x01(\t\x12\x1a\n\x12initial_guess_type\x18\x0c \x01(\t\x12\x1b\n\x13include_decoherence\x18\r \x01(\x08\x12\x17\n\x0finclude_leakage\x18\x0e \x01(\x08\x12\x17\n\x0ftransmon_levels\x18\x0f \x01(\x05J\x04\x08\x32\x10\x65\"\x86\x03\n\x10OptimizeResponse\x12.\n\x05trace\x18\x01 \x01(\x0b\x32\x1f.quantum.common.v1.TraceContext\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\'\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x18.quantum.common.v1.Error\x12\x35\n\x0foptimized_pulse\x18\x04 \x01(\x0b\x32\x1c.quantum.pulse.v1.PulseShape\x12\x19\n\x11\x61\x63hieved_fidelity\x18\x05 \x01(\x01\x12\x17\n\x0fiterations_used\x18\x06 \x01(\x05\x12\x1a\n\x12\x63onvergence_reason\x18\x07 \x01(\t\x12\x18\n\x10\x66idelity_history\x18\x08 \x03(\x01\x12\x16\n\x0egradient_norms\x18\t \x03(\x01\x12!\n\x19\x66inal_regularization_cost\x18\n \x01(\x01\x12\x14\n\x0cwall_time_ms\x18\x0b \x01(\x03\x12\x10\n\x08warnings\x18\x0c \x03(\tJ\x04\x08\x32\x10\x65\"\'\n\rCancelRequest\x12\x10\n\x08trace_id\x18\x01 \x01(\tJ\x04\x08\x32\x10\x65\"e\n\x0e\x43\x61ncelResponse\x12\x11\n\tcancelled\x18\x01 \x01(\x08\x12:\n\x0epartial_result\x18\x02 \x01(\x0b\x32\".quantum.pulse.v1.OptimizeResponseJ\x04\x08\x32\x10\x65\x32\xae\x01\n\x0cGRAPEService\x12Q\n\x08Optimize\x12!.quantum.pulse.v1.OptimizeRequest\x1a\".quantum.pulse.v1.OptimizeResponse\x12K\n\x06\x43\x61ncel\x12\x1f.quantum.pulse.v1.CancelRequest\x1a .quantum.pulse.v1.CancelResponseB\x17\n\x13io.qubitos.pulse.v1P\x01\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'quantum.pulse.v1.grape_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\023io.qubitos.pulse.v1P\001'
  _globals['_OPTIMIZEREQUEST']._serialized_start=149
  _globals['_OPTIMIZEREQUEST']._serialized_end=783
  _globals['_GRAPEOPTIONS']._serialized_start=786
  _globals['_GRAPEOPTIONS']._serialized_end=1207
  _globals['_OPTIMIZERESPONSE']._serialized_start=1210
  _globals['_OPTIMIZERESPONSE']._serialized_end=1600
  _globals['_CANCELREQUEST']._serialized_start=1602
  _globals['_CANCELREQUEST']._serialized_end=1641
  _globals['_CANCELRESPONSE']._serialized_start=1643
  _globals['_CANCELRESPONSE']._serialized_end=1744
  _globals['_GRAPESERVICE']._serialized_start=1747
  _globals['_GRAPESERVICE']._serialized_end=1921
# @@protoc_insertion_point(module_scope)
