From 9e6d4b51086cb1a8a9e24d2334e283afd8769357 Mon Sep 17 00:00:00 2001 From: guomanmin Date: Mon, 22 Jan 2024 14:07:42 -0800 Subject: [PATCH 1/9] feat: add newly added schema from quera --- .../quera/quera_ahs_paradigm_properties_v1.py | 177 +++++++++++++++++- .../test_quera_ahs_paradigm_properties_v1.py | 38 ++++ .../test_quera_device_capabilities_v1.py | 41 ++++ 3 files changed, 255 insertions(+), 1 deletion(-) diff --git a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py index 3dae84ef..52894650 100644 --- a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py +++ b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py @@ -126,19 +126,147 @@ class PerformanceLattice(BaseModel): Attributes: positionErrorAbs (Decimal): Error between target and actual site position (measured in meters) + sitePositionError (Decimal): Systematic, pattern-dependent error + between specified and actual lattice site positions (measured in meters) + atomPositionError (Decimal): Random error in the atom position during + coherent evolution as a result of thermal motion (measured in meters) + fillingErrorTypical (Decimal): Typical probability of failing to occupy a site specified + by user as 'filled'. Upper bound that includes the pattern-dependence and site position + dependence. Normalized to 1. + fillingErrorWorst (Decimal): Worst-case probability of failing to occupy a site specified + by user as 'filled'. These probabilities are dependent on the pattern and site position + within the pattern. Normalized to 1. + vacancyErrorTypical (Decimal): Typical probability of erroneously filling a site specified + by user as 'unfilled'. These probabilities can be dependent on the pattern and site position + within the pattern, and can change slightly with time. Normalized to 1. + vacancyErrorWorst (Decimal): Worst-case probability of erroneously filling a site specified by user + as 'unfilled'. Upper bound that includes the pattern-dependence, site position dependence and + time-variation of this probability. Normalized to 1. + atomLossProbabilityTypical (Decimal): Typical Probability of atom loss from a filled site between the + first and second image. These probabilities can be dependent on the pattern and site position within + the pattern, and can change slightly with time. Normalized to 1. + atomLossProbabilityWorst (Decimal): Worst-case probability of atom loss from a filled site between the first + and second image. Upper bound that includes the pattern-dependence, site position dependence and time-variation + of this probability. Normalized to 1. + atomCaptureProbabilityTypical (Decimal): Typical probability of atom capture into an empty site between the + first and second image.These probabilities can be dependent on the pattern and site position within the + pattern, and can change slightly with time. Normalized to 1. + atomCaptureProbabilityWorst (Decimal): Worst-case probability of atom capture from a filled site between + the first and second image. Upper bound that includes the pattern-dependence, site position dependence + and time-variation of this probability. Normalized to 1. + atomDetectionErrorFalsePositiveTypical (Decimal): Typical probability of a false-positive atom detection error. + These probabilities can be dependent on the pattern and site position within the pattern, and can change + slightly with time. Normalized to 1. + atomDetectionErrorFalsePositiveWorst (Decimal): Worst-case probability of a false-positive atom detection error. + Upper bound that includes the pattern-dependence, site position dependence and time-variation of this probability. + Normalized to 1. + atomDetectionErrorFalseNegativeTypical (Decimal): Typical probability of a false-negative atom detection error. + These probabilities can be dependent on the pattern and site position within the pattern, and can change slightly + with time. Normalized to 1. + atomDetectionErrorFalseNegativeWorst (Decimal): Worst-case probability of a false-negative atom detection error. + Upper bound that includes the pattern-dependence, site position dependence and time-variation of this probability. + Normalized to 1. """ positionErrorAbs: Decimal + sitePositionError: Decimal + atomPositionError: Decimal + fillingErrorTypical: Decimal + fillingErrorWorst: Decimal + vacancyErrorTypical: Decimal + vacancyErrorWorst: Decimal + atomLossProbabilityTypical: Decimal + atomLossProbabilityWorst: Decimal + atomCaptureProbabilityTypical: Decimal + atomCaptureProbabilityWorst: Decimal + atomDetectionErrorFalsePositiveTypical: Decimal + atomDetectionErrorFalsePositiveWorst: Decimal + atomDetectionErrorFalseNegativeTypical: Decimal + atomDetectionErrorFalseNegativeWorst: Decimal + + +class RabiCorrection(BaseModel): + """ + Parameters determining the limitations of the global driving field + Attributes: + rampTime (Decimal): the ramp time (measured in s) + rabiCorrection (Decimal): the fraction of the expected rabi oscillation frequency. Normalized to the + range [0.0, 1.0] + """ + + rampTime: Decimal + rabiCorrection: Decimal class PerformanceRydbergGlobal(BaseModel): """ Parameters determining the limitations of the global driving field Attributes: - rabiFrequencyErrorRel (Decimal): random error in the Rabi frequency, relative (unitless) + rabiFrequencyErrorRel (Decimal): Total error in the Rabi frequency due to inhomogeneity and variations in time, + relative (unitless) + rabiFrequencyGlobalErrorRel (Decimal): RMS Rabi frequency variation in time as a relative value. (unitless) + rabiFrequencyInhomogeneityRel (Decimal): RMS Rabi frequency inhomogeneity over the user region, relative (unitless) + groundDetectionError (Decimal): Probability of mis-detecting a ground-state atom as a Rydberg-state atom (unitless) + rydbergDetectionError (Decimal): Probability of mis-detecting a Rydberg-state atom as a ground-state atom (unitless) + groundPrepError (Decimal): Probability of failing to initialize an atom in the ground state prior to + user-programmed coherent evolution, in the absense of any local detuning pattern. Normalized to 1 + rydbergPrepErrorBest (Decimal): Probability of failing to initialize an atom in the Rydberg state by an optimal + (for that site) user specified pi-pulse from the ground state at maximum Rabi frequency, in the absense of any local + detuning pattern. Normalized to 1. + rydbergPrepErrorWorst (Decimal): Worst-case probability of failing to initialize an atom in the Rydberg state by a user + specified pi-pulse from the ground state at maximum Rabi frequency, optimized for a different site, in the absense + of any local detuning pattern. Normalized to 1. + T1Single (Decimal): Typical lifetime of the Rydberg state for a single non-interacting qubit in the absense of drive, + as measured by a pi-wait-pi protocol (measured in s) + T1Ensemble (Decimal): Lifetime of the Rydberg state for an ensemble of non-interacting qubits distributed over + the user region, in the absense of drive, as measured by a pi-wait-pi protocol (measured in s) + T2StarSingle (Decimal): Typical dephasing time of a single non-interacting qubit in the absense of drive, as measured by + a Ramsey protocol. Includes coherent and incoherent processes. (measured in s) + T2StarEnsemble (Decimal): Dephasing time of an ensemble of non-interacting qubits distributed over the user region, in + the absense of drive, as measured by a Ramsey protocol. Includes coherent and incoherent processes. (measured in s) + T2EchoSingle (Decimal): Typical dephasing time of a single non-interacting qubit in the absense of drive, as measured by a + spin-echo dynamical decoupling protocol. This measurement isolates the effects of incoherent processes (measured in s) + T2EchoEnsemble (Decimal): Dephasing time of an ensemble of non-interacting qubits distributed over the user region, in the absense + of drive, as measured by a spin-echo dynamical decoupling protocol. This measurement isolates the effects + of incoherent processes. (measured in s) + T2RabiSingle (Decimal): Typical decoherence time of a single driven qubit, as measured by a Rabi oscillation protocol with variable + pulse duration a maximum Rabi frequency. Includes coherent and incoherent processes.(measured in s) + T2RabiEnsemble (Decimal): Decoherence time of an ensemble of non-interacting driven qubits distributed over the user region, as measured + by a Rabi oscillation protocol with variable pulse duration at maximum Rabi frequency. Includes + coherent and incoherent processes. (measured in s) + T2BlockadedRabiSingle (Decimal): Typical decoherence time of a single pair of driven blockaded qubits, as measured by a Rabi oscillation + protocol with variable pulse duration a maximum Rabi frequency. Includes coherent and incoherent processes. (measured in s) + T2BlockadedRabiEnsemble (Decimal): Decoherence time of an ensemble of pairs of driven blockaded qubits distributed over the user region + (different pairs do not interact with each other), as measured by a Rabi oscillation protocol with variable pulse duration at + maximum Rabi frequency. Includes coherent and incoherent processes. (measured in s) + detuningError (Decimal): Systematic error from specified value of the global detuning averaged over the user + region. (measured in rad/s) + detuningInhomogeneity (Decimal): RMS inhomogeneity of the detuning over the user region. (measured in rad/s) + rabiAmplitudeRampCorrection (List[RabiCorrection]): dynamic correction curve of effective single-qubit + on-resonant Rabi oscillation frequency driven by a triangular amplitude waveform, relative """ rabiFrequencyErrorRel: Decimal + rabiFrequencyGlobalErrorRel: Decimal + rabiFrequencyInhomogeneityRel: Decimal + groundDetectionError: Decimal + rydbergDetectionError: Decimal + groundPrepError: Decimal + rydbergPrepErrorBest: Decimal + rydbergPrepErrorWorst: Decimal + T1Single: Decimal + T1Ensemble: Decimal + T2StarSingle: Decimal + T2StarEnsemble: Decimal + T2EchoSingle: Decimal + T2EchoEnsemble: Decimal + T2RabiSingle: Decimal + T2RabiEnsemble: Decimal + T2BlockadedRabiSingle: Decimal + T2BlockadedRabiEnsemble: Decimal + detuningError: Decimal + detuningInhomogeneity: Decimal + rabiAmplitudeRampCorrection: List[RabiCorrection] class PerformanceRydberg(BaseModel): @@ -213,10 +341,57 @@ class QueraAhsParadigmProperties(BraketSchemaBase): ... "performance": { ... "lattice":{ ... "positionErrorAbs": 0.025e-6, + ... "sitePositionError": 0.025e-6, + ... "atomPositionError": 0.025e-6, + ... "fillingErrorTypical": 0.005, + ... "fillingErrorWorst": 0.01, + ... "vacancyErrorTypical": 0.005, + ... "vacancyErrorWorst": 0.005, + ... "atomLossProbabilityTypical": 0.01, + ... "atomLossProbabilityWorst": 0.01, + ... "atomCaptureProbabilityTypical": 0.01, + ... "atomCaptureProbabilityWorst": 0.01, + ... "atomDetectionErrorFalsePositiveTypical": 0.01, + ... "atomDetectionErrorFalsePositiveWorst": 0.01, + ... "atomDetectionErrorFalseNegativeTypical": 0.01, + ... "atomDetectionErrorFalseNegativeWorst": 0.01, ... }, ... "performanceRydberg":{ ... "performanceRydbergGlobal":{ ... "rabiFrequencyErrorRel:": 0.01, + ... "rabiFrequencyGlobalErrorRel": 0.01, + ... "rabiFrequencyInhomogeneityRel": 0.01, + ... "groundDetectionError": 0.01, + ... "rydbergDetectionError":0.1, + ... "groundPrepError": 0.01, + ... "rydbergPrepErrorBest": 0.05, + ... "rydbergPrepErrorWorst": 0.05, + ... "T1Single": 100e-6, + ... "T1Ensemble": 100e-6, + ... "T2StarSingle": 5e-6, + ... "T2StarEnsemble": 5e-6, + ... "T2EchoSingle": 5e-6, + ... "T2EchoEnsemble": 5e-6, + ... "T2RabiSingle": 5e-6, + ... "T2RabiEnsemble": 5e-6, + ... "T2BlockadedRabiSingle":5e-6, + ... "T2BlockadedRabiEnsemble": 5e-6, + ... "detuningError": 1e6, + ... "detuningInhomogeneity": 1e6, + ... "rabiAmplitudeRampCorrection":[ + ... { + ... "rampTime":50e-9, + ... "rabiCorrection": 0.92 + ... }, + ... { + ... "rampTime": 75e-9, + ... "rabiCorrection": 0.97 + ... }, + ... { + ... "rampTime": 100e-9, + ... "rabiCorrection": 1.00 + ... } + ... ] ... }, ... }, ... }, diff --git a/test/unit_tests/braket/device_schema/quera/test_quera_ahs_paradigm_properties_v1.py b/test/unit_tests/braket/device_schema/quera/test_quera_ahs_paradigm_properties_v1.py index 5d7c847f..ab6eeda0 100644 --- a/test/unit_tests/braket/device_schema/quera/test_quera_ahs_paradigm_properties_v1.py +++ b/test/unit_tests/braket/device_schema/quera/test_quera_ahs_paradigm_properties_v1.py @@ -65,10 +65,48 @@ def valid_input(): "performance": { "lattice": { "positionErrorAbs": 0.025e-6, + "sitePositionError": 0.025e-6, + "atomPositionError": 0.025e-6, + "fillingErrorTypical": 0.005, + "fillingErrorWorst": 0.01, + "vacancyErrorTypical": 0.005, + "vacancyErrorWorst": 0.005, + "atomLossProbabilityTypical": 0.01, + "atomLossProbabilityWorst": 0.01, + "atomCaptureProbabilityTypical": 0.01, + "atomCaptureProbabilityWorst": 0.01, + "atomDetectionErrorFalsePositiveTypical": 0.01, + "atomDetectionErrorFalsePositiveWorst": 0.01, + "atomDetectionErrorFalseNegativeTypical": 0.01, + "atomDetectionErrorFalseNegativeWorst": 0.01, }, "rydberg": { "rydbergGlobal": { "rabiFrequencyErrorRel": 0.01, + "rabiFrequencyGlobalErrorRel": 0.01, + "rabiFrequencyInhomogeneityRel": 0.01, + "groundDetectionError": 0.01, + "rydbergDetectionError": 0.1, + "groundPrepError": 0.01, + "rydbergPrepErrorBest": 0.05, + "rydbergPrepErrorWorst": 0.05, + "T1Single": 100e-6, + "T1Ensemble": 100e-6, + "T2StarSingle": 5e-6, + "T2StarEnsemble": 5e-6, + "T2EchoSingle": 5e-6, + "T2EchoEnsemble": 5e-6, + "T2RabiSingle": 5e-6, + "T2RabiEnsemble": 5e-6, + "T2BlockadedRabiSingle": 5e-6, + "T2BlockadedRabiEnsemble": 5e-6, + "detuningError": 1e6, + "detuningInhomogeneity": 1e6, + "rabiAmplitudeRampCorrection": [ + {"rampTime": 50e-9, "rabiCorrection": 0.92}, + {"rampTime": 75e-9, "rabiCorrection": 0.97}, + {"rampTime": 100e-9, "rabiCorrection": 1.00}, + ], }, }, }, diff --git a/test/unit_tests/braket/device_schema/quera/test_quera_device_capabilities_v1.py b/test/unit_tests/braket/device_schema/quera/test_quera_device_capabilities_v1.py index 6745698f..6f496ee5 100644 --- a/test/unit_tests/braket/device_schema/quera/test_quera_device_capabilities_v1.py +++ b/test/unit_tests/braket/device_schema/quera/test_quera_device_capabilities_v1.py @@ -105,6 +105,20 @@ def valid_input(): "performance": { "lattice": { "positionErrorAbs": 0.025e-6, + "sitePositionError": 0.025e-6, + "atomPositionError": 0.025e-6, + "fillingErrorTypical": 0.005, + "fillingErrorWorst": 0.01, + "vacancyErrorTypical": 0.005, + "vacancyErrorWorst": 0.005, + "atomLossProbabilityTypical": 0.01, + "atomLossProbabilityWorst": 0.01, + "atomCaptureProbabilityTypical": 0.01, + "atomCaptureProbabilityWorst": 0.01, + "atomDetectionErrorFalsePositiveTypical": 0.01, + "atomDetectionErrorFalsePositiveWorst": 0.01, + "atomDetectionErrorFalseNegativeTypical": 0.01, + "atomDetectionErrorFalseNegativeWorst": 0.01, }, "rydberg": { "rydbergGlobal": { @@ -116,6 +130,33 @@ def valid_input(): "omegaTau": 10, "singleQubitFidelity": 0.95, "twoQubitFidelity": 0.95, + "rabiFrequencyGlobalErrorRel": 0.01, + "rabiFrequencyInhomogeneityRel": 0.01, + "groundDetectionError": 0.01, + "rydbergDetectionError": 0.1, + "groundPrepError": 0.01, + "rydbergPrepErrorBest": 0.05, + "rydbergPrepErrorWorst": 0.05, + "T1Single": 100e-6, + "T1Ensemble": 100e-6, + "T2StarSingle": 5e-6, + "T2StarEnsemble": 5e-6, + "T2EchoSingle": 5e-6, + "T2EchoEnsemble": 5e-6, + "T2RabiSingle": 5e-6, + "T2RabiEnsemble": 5e-6, + "T2BlockadedRabiSingle": 5e-6, + "T2BlockadedRabiEnsemble": 5e-6, + "detuningError": 1e6, + "detuningInhomogeneity": 1e6, + "rabiAmplitudeRampCorrection": [ + { + "rampTime": 50e-9, + "rabiCorrection": 0.92, + }, + {"rampTime": 75e-9, "rabiCorrection": 0.97}, + {"rampTime": 100e-9, "rabiCorrection": 1.00}, + ], }, "rydbergLocal": { "detuningDynamicRange": 10, From aafa7c77efc6de9c27cd2bda79a00e3cfa1e8d34 Mon Sep 17 00:00:00 2001 From: guomanmin Date: Mon, 22 Jan 2024 17:17:46 -0800 Subject: [PATCH 2/9] address comments on missing updates and using built-in list --- .../quera/quera_ahs_paradigm_properties_v1.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py index 52894650..ddde15f7 100644 --- a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py +++ b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py @@ -124,18 +124,19 @@ class PerformanceLattice(BaseModel): """ Uncertainties of atomic site arrangements Attributes: - positionErrorAbs (Decimal): Error between target and actual site - position (measured in meters) + positionErrorAbs (Decimal): Total error of the atom position during + coherent evolution relative to the lab frame, and combines lattice + site position and thermal atom position errors (measured in meters) sitePositionError (Decimal): Systematic, pattern-dependent error between specified and actual lattice site positions (measured in meters) atomPositionError (Decimal): Random error in the atom position during coherent evolution as a result of thermal motion (measured in meters) fillingErrorTypical (Decimal): Typical probability of failing to occupy a site specified - by user as 'filled'. Upper bound that includes the pattern-dependence and site position - dependence. Normalized to 1. - fillingErrorWorst (Decimal): Worst-case probability of failing to occupy a site specified by user as 'filled'. These probabilities are dependent on the pattern and site position within the pattern. Normalized to 1. + fillingErrorWorst (Decimal): Worst-case probability of failing to occupy a site specified + by user as 'filled'. Upper bound that includes the pattern-dependence and site position + dependence. Normalized to 1. vacancyErrorTypical (Decimal): Typical probability of erroneously filling a site specified by user as 'unfilled'. These probabilities can be dependent on the pattern and site position within the pattern, and can change slightly with time. Normalized to 1. @@ -266,7 +267,7 @@ class PerformanceRydbergGlobal(BaseModel): T2BlockadedRabiEnsemble: Decimal detuningError: Decimal detuningInhomogeneity: Decimal - rabiAmplitudeRampCorrection: List[RabiCorrection] + rabiAmplitudeRampCorrection: [RabiCorrection] class PerformanceRydberg(BaseModel): From e05b43895c7bc98ddc2c8369eb05c2ecd7be5b36 Mon Sep 17 00:00:00 2001 From: guomanmin Date: Tue, 23 Jan 2024 13:45:10 -0800 Subject: [PATCH 3/9] limit docstring to be <100 chars, corrected docstring for RabiCorrection, and revert to using List with import --- .../quera/quera_ahs_paradigm_properties_v1.py | 172 ++++++++++-------- 1 file changed, 97 insertions(+), 75 deletions(-) diff --git a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py index ddde15f7..c9428763 100644 --- a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py +++ b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py @@ -12,7 +12,7 @@ # language governing permissions and limitations under the License. from decimal import Decimal -from typing import Tuple +from typing import List, Tuple from pydantic import BaseModel, Field @@ -138,35 +138,38 @@ class PerformanceLattice(BaseModel): by user as 'filled'. Upper bound that includes the pattern-dependence and site position dependence. Normalized to 1. vacancyErrorTypical (Decimal): Typical probability of erroneously filling a site specified - by user as 'unfilled'. These probabilities can be dependent on the pattern and site position - within the pattern, and can change slightly with time. Normalized to 1. - vacancyErrorWorst (Decimal): Worst-case probability of erroneously filling a site specified by user - as 'unfilled'. Upper bound that includes the pattern-dependence, site position dependence and - time-variation of this probability. Normalized to 1. - atomLossProbabilityTypical (Decimal): Typical Probability of atom loss from a filled site between the - first and second image. These probabilities can be dependent on the pattern and site position within - the pattern, and can change slightly with time. Normalized to 1. - atomLossProbabilityWorst (Decimal): Worst-case probability of atom loss from a filled site between the first - and second image. Upper bound that includes the pattern-dependence, site position dependence and time-variation - of this probability. Normalized to 1. - atomCaptureProbabilityTypical (Decimal): Typical probability of atom capture into an empty site between the - first and second image.These probabilities can be dependent on the pattern and site position within the - pattern, and can change slightly with time. Normalized to 1. - atomCaptureProbabilityWorst (Decimal): Worst-case probability of atom capture from a filled site between - the first and second image. Upper bound that includes the pattern-dependence, site position dependence - and time-variation of this probability. Normalized to 1. - atomDetectionErrorFalsePositiveTypical (Decimal): Typical probability of a false-positive atom detection error. - These probabilities can be dependent on the pattern and site position within the pattern, and can change - slightly with time. Normalized to 1. - atomDetectionErrorFalsePositiveWorst (Decimal): Worst-case probability of a false-positive atom detection error. - Upper bound that includes the pattern-dependence, site position dependence and time-variation of this probability. - Normalized to 1. - atomDetectionErrorFalseNegativeTypical (Decimal): Typical probability of a false-negative atom detection error. - These probabilities can be dependent on the pattern and site position within the pattern, and can change slightly - with time. Normalized to 1. - atomDetectionErrorFalseNegativeWorst (Decimal): Worst-case probability of a false-negative atom detection error. - Upper bound that includes the pattern-dependence, site position dependence and time-variation of this probability. + by user as 'unfilled'. These probabilities can be dependent on the pattern and site + position within the pattern, and can change slightly with time. Normalized to 1. + vacancyErrorWorst (Decimal): Worst-case probability of erroneously filling a site specified + by user as 'unfilled'. Upper bound that includes the pattern-dependence, site position + dependence and time-variation of this probability. Normalized to 1. + atomLossProbabilityTypical (Decimal): Typical Probability of atom loss from a filled site + between the first and second image. These probabilities can be dependent on the pattern + and site position within the pattern, and can change slightly with time. Normalized to + 1. + atomLossProbabilityWorst (Decimal): Worst-case probability of atom loss from a filled site + between the first and second image. Upper bound that includes the pattern-dependence, + site position dependence and time-variation of this probability. Normalized to 1. + atomCaptureProbabilityTypical (Decimal): Typical probability of atom capture into an empty + site between the first and second image.These probabilities can be dependent on the + pattern and site position within the pattern, and can change slightly with time. Normalized to 1. + atomCaptureProbabilityWorst (Decimal): Worst-case probability of atom capture from a filled + site between the first and second image. Upper bound that includes the pattern- + dependence, site position dependence and time-variation of this probability. Normalized + to 1. + atomDetectionErrorFalsePositiveTypical (Decimal): Typical probability of a false-positive + atom detection error. These probabilities can be dependent on the pattern and site + position within the pattern, and can change slightly with time. Normalized to 1. + atomDetectionErrorFalsePositiveWorst (Decimal): Worst-case probability of a false-positive + atom detection error. Upper bound that includes the pattern-dependence, site position + dependence and time-variation of this probability. Normalized to 1. + atomDetectionErrorFalseNegativeTypical (Decimal): Typical probability of a false-negative + atom detection error. These probabilities can be dependent on the pattern and site + position within the pattern, and can change slightly with time. Normalized to 1. + atomDetectionErrorFalseNegativeWorst (Decimal): Worst-case probability of a false-negative + atom detection error. Upper bound that includes the pattern-dependence, site position + dependence and time-variation of this probability. Normalized to 1. """ positionErrorAbs: Decimal @@ -188,11 +191,12 @@ class PerformanceLattice(BaseModel): class RabiCorrection(BaseModel): """ - Parameters determining the limitations of the global driving field + Correction factors for calculating the fraction of the expected Rabi oscillation frequency as a + function of ramp time, in the absence of any local detuning pattern. Attributes: - rampTime (Decimal): the ramp time (measured in s) - rabiCorrection (Decimal): the fraction of the expected rabi oscillation frequency. Normalized to the - range [0.0, 1.0] + rampTime (Decimal): The ramp time. (measured in s) + rabiCorrection (Decimal): The fraction of the expected rabi oscillation frequency. + Normalized to the range [0.0, 1.0]. """ rampTime: Decimal @@ -203,48 +207,66 @@ class PerformanceRydbergGlobal(BaseModel): """ Parameters determining the limitations of the global driving field Attributes: - rabiFrequencyErrorRel (Decimal): Total error in the Rabi frequency due to inhomogeneity and variations in time, - relative (unitless) - rabiFrequencyGlobalErrorRel (Decimal): RMS Rabi frequency variation in time as a relative value. (unitless) - rabiFrequencyInhomogeneityRel (Decimal): RMS Rabi frequency inhomogeneity over the user region, relative (unitless) - groundDetectionError (Decimal): Probability of mis-detecting a ground-state atom as a Rydberg-state atom (unitless) - rydbergDetectionError (Decimal): Probability of mis-detecting a Rydberg-state atom as a ground-state atom (unitless) - groundPrepError (Decimal): Probability of failing to initialize an atom in the ground state prior to - user-programmed coherent evolution, in the absense of any local detuning pattern. Normalized to 1 - rydbergPrepErrorBest (Decimal): Probability of failing to initialize an atom in the Rydberg state by an optimal - (for that site) user specified pi-pulse from the ground state at maximum Rabi frequency, in the absense of any local - detuning pattern. Normalized to 1. - rydbergPrepErrorWorst (Decimal): Worst-case probability of failing to initialize an atom in the Rydberg state by a user - specified pi-pulse from the ground state at maximum Rabi frequency, optimized for a different site, in the absense - of any local detuning pattern. Normalized to 1. - T1Single (Decimal): Typical lifetime of the Rydberg state for a single non-interacting qubit in the absense of drive, - as measured by a pi-wait-pi protocol (measured in s) - T1Ensemble (Decimal): Lifetime of the Rydberg state for an ensemble of non-interacting qubits distributed over - the user region, in the absense of drive, as measured by a pi-wait-pi protocol (measured in s) - T2StarSingle (Decimal): Typical dephasing time of a single non-interacting qubit in the absense of drive, as measured by - a Ramsey protocol. Includes coherent and incoherent processes. (measured in s) - T2StarEnsemble (Decimal): Dephasing time of an ensemble of non-interacting qubits distributed over the user region, in - the absense of drive, as measured by a Ramsey protocol. Includes coherent and incoherent processes. (measured in s) - T2EchoSingle (Decimal): Typical dephasing time of a single non-interacting qubit in the absense of drive, as measured by a - spin-echo dynamical decoupling protocol. This measurement isolates the effects of incoherent processes (measured in s) - T2EchoEnsemble (Decimal): Dephasing time of an ensemble of non-interacting qubits distributed over the user region, in the absense - of drive, as measured by a spin-echo dynamical decoupling protocol. This measurement isolates the effects - of incoherent processes. (measured in s) - T2RabiSingle (Decimal): Typical decoherence time of a single driven qubit, as measured by a Rabi oscillation protocol with variable - pulse duration a maximum Rabi frequency. Includes coherent and incoherent processes.(measured in s) - T2RabiEnsemble (Decimal): Decoherence time of an ensemble of non-interacting driven qubits distributed over the user region, as measured - by a Rabi oscillation protocol with variable pulse duration at maximum Rabi frequency. Includes - coherent and incoherent processes. (measured in s) - T2BlockadedRabiSingle (Decimal): Typical decoherence time of a single pair of driven blockaded qubits, as measured by a Rabi oscillation - protocol with variable pulse duration a maximum Rabi frequency. Includes coherent and incoherent processes. (measured in s) - T2BlockadedRabiEnsemble (Decimal): Decoherence time of an ensemble of pairs of driven blockaded qubits distributed over the user region - (different pairs do not interact with each other), as measured by a Rabi oscillation protocol with variable pulse duration at + rabiFrequencyErrorRel (Decimal): Total error in the Rabi frequency due to inhomogeneity and + variations in time, relative. (unitless) + rabiFrequencyGlobalErrorRel (Decimal): RMS Rabi frequency variation in time as a relative + value. (unitless) + rabiFrequencyInhomogeneityRel (Decimal): RMS Rabi frequency inhomogeneity over the user + region, relative. (unitless) + groundDetectionError (Decimal): Probability of mis-detecting a ground-state atom as a + Rydberg-state atom. (unitless) + rydbergDetectionError (Decimal): Probability of mis-detecting a Rydberg-state atom as a + ground-state atom. (unitless) + groundPrepError (Decimal): Probability of failing to initialize an atom in the ground state + prior to user-programmed coherent evolution, in the absense of any local detuning + pattern. Normalized to 1. + rydbergPrepErrorBest (Decimal): Probability of failing to initialize an atom in the Rydberg + state by an optimal (for that site) user specified pi-pulse from the ground state at + maximum Rabi frequency, in the absense of any local detuning pattern. Normalized to 1. + rydbergPrepErrorWorst (Decimal): Worst-case probability of failing to initialize an atom in + the Rydberg state by a user specified pi-pulse from the ground state at maximum Rabi + frequency, optimized for a different site, in the absense of any local detuning + pattern. Normalized to 1. + T1Single (Decimal): Typical lifetime of the Rydberg state for a single non-interacting + qubit in the absense of drive, as measured by a pi-wait-pi protocol. (measured in s) + T1Ensemble (Decimal): Lifetime of the Rydberg state for an ensemble of non-interacting + qubits distributed over the user region, in the absense of drive, as measured by a + pi-wait-pi protocol. (measured in s) + T2StarSingle (Decimal): Typical dephasing time of a single non-interacting qubit in the + absense of drive, as measured by a Ramsey protocol. Includes coherent and incoherent + processes. (measured in s) + T2StarEnsemble (Decimal): Dephasing time of an ensemble of non-interacting qubits + distributed over the user region, in the absense of drive, as measured by a Ramsey + protocol. Includes coherent and incoherent processes. (measured in s) + T2EchoSingle (Decimal): Typical dephasing time of a single non-interacting qubit in the + absense of drive, as measured by a spin-echo dynamical decoupling protocol. This + measurement isolates the effects of incoherent processes. (measured in s) + T2EchoEnsemble (Decimal): Dephasing time of an ensemble of non-interacting qubits + distributed over the user region, in the absense of drive, as measured by a spin-echo + dynamical decoupling protocol. This measurement isolates the effects of incoherent + processes. (measured in s) + T2RabiSingle (Decimal): Typical decoherence time of a single driven qubit, as measured by a + Rabi oscillation protocol with variable pulse duration a maximum Rabi frequency. + Includes coherent and incoherent processes. (measured in s) + T2RabiEnsemble (Decimal): Decoherence time of an ensemble of non-interacting driven qubits + distributed over the user region, as measured by a Rabi oscillation protocol with + variable pulse duration at maximum Rabi frequency. Includes coherent and incoherent + processes. (measured in s) + T2BlockadedRabiSingle (Decimal): Typical decoherence time of a single pair of driven + blockaded qubits, as measured by a Rabi oscillation protocol with variable pulse + duration a maximum Rabi frequency. Includes coherent and incoherent processes. + (measured in s) + T2BlockadedRabiEnsemble (Decimal): Decoherence time of an ensemble of pairs of driven + blockaded qubits distributed over the user region (different pairs do not interact with + each other), as measured by a Rabi oscillation protocol with variable pulse duration at maximum Rabi frequency. Includes coherent and incoherent processes. (measured in s) - detuningError (Decimal): Systematic error from specified value of the global detuning averaged over the user - region. (measured in rad/s) - detuningInhomogeneity (Decimal): RMS inhomogeneity of the detuning over the user region. (measured in rad/s) - rabiAmplitudeRampCorrection (List[RabiCorrection]): dynamic correction curve of effective single-qubit - on-resonant Rabi oscillation frequency driven by a triangular amplitude waveform, relative + detuningError (Decimal): Systematic error from specified value of the global detuning + averaged over the user region. (measured in rad/s) + detuningInhomogeneity (Decimal): RMS inhomogeneity of the detuning over the user region. + (measured in rad/s) + rabiAmplitudeRampCorrection (List[RabiCorrection]): dynamic correction curve of effective + single-qubit on-resonant Rabi oscillation frequency driven by a triangular amplitude + waveform, relative. """ rabiFrequencyErrorRel: Decimal @@ -267,7 +289,7 @@ class PerformanceRydbergGlobal(BaseModel): T2BlockadedRabiEnsemble: Decimal detuningError: Decimal detuningInhomogeneity: Decimal - rabiAmplitudeRampCorrection: [RabiCorrection] + rabiAmplitudeRampCorrection: List[RabiCorrection] class PerformanceRydberg(BaseModel): From 7ddce416fde93192aacdf91f3360f62b7320cefe Mon Sep 17 00:00:00 2001 From: guomanmin Date: Tue, 23 Jan 2024 14:32:39 -0800 Subject: [PATCH 4/9] use Annotated[Decimal, Field(ge=0, le=1)] for fields that are expected to be normalized to 1. --- .../quera/quera_ahs_paradigm_properties_v1.py | 145 ++++++++++-------- 1 file changed, 77 insertions(+), 68 deletions(-) diff --git a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py index c9428763..51b82abf 100644 --- a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py +++ b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py @@ -12,7 +12,7 @@ # language governing permissions and limitations under the License. from decimal import Decimal -from typing import List, Tuple +from typing import Annotated, List, Tuple from pydantic import BaseModel, Field @@ -126,67 +126,74 @@ class PerformanceLattice(BaseModel): Attributes: positionErrorAbs (Decimal): Total error of the atom position during coherent evolution relative to the lab frame, and combines lattice - site position and thermal atom position errors (measured in meters) + site position and thermal atom position errors. (measured in meters) sitePositionError (Decimal): Systematic, pattern-dependent error - between specified and actual lattice site positions (measured in meters) + between specified and actual lattice site positions. (measured in meters) atomPositionError (Decimal): Random error in the atom position during - coherent evolution as a result of thermal motion (measured in meters) - fillingErrorTypical (Decimal): Typical probability of failing to occupy a site specified - by user as 'filled'. These probabilities are dependent on the pattern and site position - within the pattern. Normalized to 1. - fillingErrorWorst (Decimal): Worst-case probability of failing to occupy a site specified - by user as 'filled'. Upper bound that includes the pattern-dependence and site position - dependence. Normalized to 1. - vacancyErrorTypical (Decimal): Typical probability of erroneously filling a site specified - by user as 'unfilled'. These probabilities can be dependent on the pattern and site - position within the pattern, and can change slightly with time. Normalized to 1. - vacancyErrorWorst (Decimal): Worst-case probability of erroneously filling a site specified - by user as 'unfilled'. Upper bound that includes the pattern-dependence, site position - dependence and time-variation of this probability. Normalized to 1. - atomLossProbabilityTypical (Decimal): Typical Probability of atom loss from a filled site - between the first and second image. These probabilities can be dependent on the pattern - and site position within the pattern, and can change slightly with time. Normalized to - 1. - atomLossProbabilityWorst (Decimal): Worst-case probability of atom loss from a filled site - between the first and second image. Upper bound that includes the pattern-dependence, - site position dependence and time-variation of this probability. Normalized to 1. - atomCaptureProbabilityTypical (Decimal): Typical probability of atom capture into an empty - site between the first and second image.These probabilities can be dependent on the - pattern and site position within the pattern, and can change slightly with time. + coherent evolution as a result of thermal motion. (measured in meters) + fillingErrorTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical probability of failing + to occupy a site specified by user as 'filled'. These probabilities are dependent on + the pattern and site position within the pattern. Normalized to 1. + fillingErrorWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case probability of + failing to occupy a site specified by user as 'filled'. Upper bound that includes the + pattern-dependence and site position dependence. Normalized to 1. + vacancyErrorTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical probability of + erroneously filling a site specified by user as 'unfilled'. These probabilities can be + dependent on the pattern and site position within the pattern, and can change slightly + with time. Normalized to 1. + vacancyErrorWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case probability of + erroneously filling a site specified by user as 'unfilled'. Upper bound that includes + the pattern-dependence, site position dependence and time-variation of this + probability. Normalized to 1. + atomLossProbabilityTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical Probability of + atom loss from a filled site between the first and second image. These probabilities + can be dependent on the pattern and site position within the pattern, and can change + slightly with time. Normalized to 1. + atomLossProbabilityWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case probability of + atom loss from a filled site between the first and second image. Upper bound that + includes the pattern-dependence, site position dependence and time-variation of this + probability. Normalized to 1. + atomCaptureProbabilityTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical probability + of atom capture into an empty site between the first and second image.These + probabilities can be dependent on the pattern and site position within the pattern, and + can change slightly with time. Normalized to 1. + atomCaptureProbabilityWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case probability + of atom capture from a filled site between the first and second image. Upper bound that + includes the pattern-dependence, site position dependence and time-variation of this + probability. Normalized to 1. + atomDetectionErrorFalsePositiveTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical + probability of a false-positive atom detection error. These probabilities can be + dependent on the pattern and site position within the pattern, and can change slightly + with time. Normalized to 1. + atomDetectionErrorFalsePositiveWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case + probability of a false-positive atom detection error. Upper bound that includes the + pattern-dependence, site position dependence and time-variation of this probability. + Normalized to 1. + atomDetectionErrorFalseNegativeTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical + probability of a false-negative atom detection error. These probabilities can be + dependent on the pattern and site position within the pattern, and can change slightly + with time. Normalized to 1. + atomDetectionErrorFalseNegativeWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case + probability of a false-negative atom detection error. Upper bound that includes the + pattern-dependence, site position dependence and time-variation of this probability. Normalized to 1. - atomCaptureProbabilityWorst (Decimal): Worst-case probability of atom capture from a filled - site between the first and second image. Upper bound that includes the pattern- - dependence, site position dependence and time-variation of this probability. Normalized - to 1. - atomDetectionErrorFalsePositiveTypical (Decimal): Typical probability of a false-positive - atom detection error. These probabilities can be dependent on the pattern and site - position within the pattern, and can change slightly with time. Normalized to 1. - atomDetectionErrorFalsePositiveWorst (Decimal): Worst-case probability of a false-positive - atom detection error. Upper bound that includes the pattern-dependence, site position - dependence and time-variation of this probability. Normalized to 1. - atomDetectionErrorFalseNegativeTypical (Decimal): Typical probability of a false-negative - atom detection error. These probabilities can be dependent on the pattern and site - position within the pattern, and can change slightly with time. Normalized to 1. - atomDetectionErrorFalseNegativeWorst (Decimal): Worst-case probability of a false-negative - atom detection error. Upper bound that includes the pattern-dependence, site position - dependence and time-variation of this probability. Normalized to 1. """ positionErrorAbs: Decimal sitePositionError: Decimal atomPositionError: Decimal - fillingErrorTypical: Decimal - fillingErrorWorst: Decimal - vacancyErrorTypical: Decimal - vacancyErrorWorst: Decimal - atomLossProbabilityTypical: Decimal - atomLossProbabilityWorst: Decimal - atomCaptureProbabilityTypical: Decimal - atomCaptureProbabilityWorst: Decimal - atomDetectionErrorFalsePositiveTypical: Decimal - atomDetectionErrorFalsePositiveWorst: Decimal - atomDetectionErrorFalseNegativeTypical: Decimal - atomDetectionErrorFalseNegativeWorst: Decimal + fillingErrorTypical: Annotated[Decimal, Field(ge=0, le=1)] + fillingErrorWorst: Annotated[Decimal, Field(ge=0, le=1)] + vacancyErrorTypical: Annotated[Decimal, Field(ge=0, le=1)] + vacancyErrorWorst: Annotated[Decimal, Field(ge=0, le=1)] + atomLossProbabilityTypical: Annotated[Decimal, Field(ge=0, le=1)] + atomLossProbabilityWorst: Annotated[Decimal, Field(ge=0, le=1)] + atomCaptureProbabilityTypical: Annotated[Decimal, Field(ge=0, le=1)] + atomCaptureProbabilityWorst: Annotated[Decimal, Field(ge=0, le=1)] + atomDetectionErrorFalsePositiveTypical: Annotated[Decimal, Field(ge=0, le=1)] + atomDetectionErrorFalsePositiveWorst: Annotated[Decimal, Field(ge=0, le=1)] + atomDetectionErrorFalseNegativeTypical: Annotated[Decimal, Field(ge=0, le=1)] + atomDetectionErrorFalseNegativeWorst: Annotated[Decimal, Field(ge=0, le=1)] class RabiCorrection(BaseModel): @@ -195,12 +202,12 @@ class RabiCorrection(BaseModel): function of ramp time, in the absence of any local detuning pattern. Attributes: rampTime (Decimal): The ramp time. (measured in s) - rabiCorrection (Decimal): The fraction of the expected rabi oscillation frequency. - Normalized to the range [0.0, 1.0]. + rabiCorrection (Annotated[Decimal, Field(ge=0.0, le=1.0)]): The fraction of the expected + rabi oscillation frequency. Normalized to the range [0.0, 1.0]. """ rampTime: Decimal - rabiCorrection: Decimal + rabiCorrection: Annotated[Decimal, Field(ge=0.0, le=1.0)] class PerformanceRydbergGlobal(BaseModel): @@ -217,16 +224,18 @@ class PerformanceRydbergGlobal(BaseModel): Rydberg-state atom. (unitless) rydbergDetectionError (Decimal): Probability of mis-detecting a Rydberg-state atom as a ground-state atom. (unitless) - groundPrepError (Decimal): Probability of failing to initialize an atom in the ground state + groundPrepError (Annotated[Decimal, Field(ge=0, le=1)]): Probability of failing to + initialize an atom in the ground state prior to user-programmed coherent evolution, in the absense of any local detuning pattern. Normalized to 1. - rydbergPrepErrorBest (Decimal): Probability of failing to initialize an atom in the Rydberg - state by an optimal (for that site) user specified pi-pulse from the ground state at - maximum Rabi frequency, in the absense of any local detuning pattern. Normalized to 1. - rydbergPrepErrorWorst (Decimal): Worst-case probability of failing to initialize an atom in - the Rydberg state by a user specified pi-pulse from the ground state at maximum Rabi - frequency, optimized for a different site, in the absense of any local detuning - pattern. Normalized to 1. + rydbergPrepErrorBest (Annotated[Decimal, Field(ge=0, le=1)]): Probability of failing to + initialize an atom in the Rydberg state by an optimal (for that site) user specified + pi-pulse from the ground state at maximum Rabi frequency, in the absense of any local + detuning pattern. Normalized to 1. + rydbergPrepErrorWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case probability of + failing to initialize an atom in the Rydberg state by a user specified pi-pulse from + the ground state at maximum Rabi frequency, optimized for a different site, in the + absense of any local detuning pattern. Normalized to 1. T1Single (Decimal): Typical lifetime of the Rydberg state for a single non-interacting qubit in the absense of drive, as measured by a pi-wait-pi protocol. (measured in s) T1Ensemble (Decimal): Lifetime of the Rydberg state for an ensemble of non-interacting @@ -274,9 +283,9 @@ class PerformanceRydbergGlobal(BaseModel): rabiFrequencyInhomogeneityRel: Decimal groundDetectionError: Decimal rydbergDetectionError: Decimal - groundPrepError: Decimal - rydbergPrepErrorBest: Decimal - rydbergPrepErrorWorst: Decimal + groundPrepError: Annotated[Decimal, Field(ge=0, le=1)] + rydbergPrepErrorBest: Annotated[Decimal, Field(ge=0, le=1)] + rydbergPrepErrorWorst: Annotated[Decimal, Field(ge=0, le=1)] T1Single: Decimal T1Ensemble: Decimal T2StarSingle: Decimal From 9315eb32aa9c322db751d04cf6df9160062f00ca Mon Sep 17 00:00:00 2001 From: guomanmin Date: Mon, 29 Jan 2024 10:55:23 -0800 Subject: [PATCH 5/9] address formatting and typo issues --- .../quera/quera_ahs_paradigm_properties_v1.py | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py index 51b82abf..a1df5926 100644 --- a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py +++ b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py @@ -145,7 +145,7 @@ class PerformanceLattice(BaseModel): erroneously filling a site specified by user as 'unfilled'. Upper bound that includes the pattern-dependence, site position dependence and time-variation of this probability. Normalized to 1. - atomLossProbabilityTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical Probability of + atomLossProbabilityTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical probability of atom loss from a filled site between the first and second image. These probabilities can be dependent on the pattern and site position within the pattern, and can change slightly with time. Normalized to 1. @@ -154,7 +154,7 @@ class PerformanceLattice(BaseModel): includes the pattern-dependence, site position dependence and time-variation of this probability. Normalized to 1. atomCaptureProbabilityTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical probability - of atom capture into an empty site between the first and second image.These + of atom capture into an empty site between the first and second image. These probabilities can be dependent on the pattern and site position within the pattern, and can change slightly with time. Normalized to 1. atomCaptureProbabilityWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case probability @@ -225,33 +225,32 @@ class PerformanceRydbergGlobal(BaseModel): rydbergDetectionError (Decimal): Probability of mis-detecting a Rydberg-state atom as a ground-state atom. (unitless) groundPrepError (Annotated[Decimal, Field(ge=0, le=1)]): Probability of failing to - initialize an atom in the ground state - prior to user-programmed coherent evolution, in the absense of any local detuning - pattern. Normalized to 1. + initialize an atom in the ground state prior to user-programmed coherent evolution, in + the absence of any local detuning pattern. Normalized to 1. rydbergPrepErrorBest (Annotated[Decimal, Field(ge=0, le=1)]): Probability of failing to initialize an atom in the Rydberg state by an optimal (for that site) user specified - pi-pulse from the ground state at maximum Rabi frequency, in the absense of any local + pi-pulse from the ground state at maximum Rabi frequency, in the absence of any local detuning pattern. Normalized to 1. rydbergPrepErrorWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case probability of failing to initialize an atom in the Rydberg state by a user specified pi-pulse from the ground state at maximum Rabi frequency, optimized for a different site, in the - absense of any local detuning pattern. Normalized to 1. + absence of any local detuning pattern. Normalized to 1. T1Single (Decimal): Typical lifetime of the Rydberg state for a single non-interacting - qubit in the absense of drive, as measured by a pi-wait-pi protocol. (measured in s) + qubit in the absence of drive, as measured by a pi-wait-pi protocol. (measured in s) T1Ensemble (Decimal): Lifetime of the Rydberg state for an ensemble of non-interacting - qubits distributed over the user region, in the absense of drive, as measured by a + qubits distributed over the user region, in the absence of drive, as measured by a pi-wait-pi protocol. (measured in s) T2StarSingle (Decimal): Typical dephasing time of a single non-interacting qubit in the - absense of drive, as measured by a Ramsey protocol. Includes coherent and incoherent + absence of drive, as measured by a Ramsey protocol. Includes coherent and incoherent processes. (measured in s) T2StarEnsemble (Decimal): Dephasing time of an ensemble of non-interacting qubits - distributed over the user region, in the absense of drive, as measured by a Ramsey + distributed over the user region, in the absence of drive, as measured by a Ramsey protocol. Includes coherent and incoherent processes. (measured in s) T2EchoSingle (Decimal): Typical dephasing time of a single non-interacting qubit in the - absense of drive, as measured by a spin-echo dynamical decoupling protocol. This + absence of drive, as measured by a spin-echo dynamical decoupling protocol. This measurement isolates the effects of incoherent processes. (measured in s) T2EchoEnsemble (Decimal): Dephasing time of an ensemble of non-interacting qubits - distributed over the user region, in the absense of drive, as measured by a spin-echo + distributed over the user region, in the absence of drive, as measured by a spin-echo dynamical decoupling protocol. This measurement isolates the effects of incoherent processes. (measured in s) T2RabiSingle (Decimal): Typical decoherence time of a single driven qubit, as measured by a From 4a7a2215c2a8e621d6a642d6c65759ab782f7bca Mon Sep 17 00:00:00 2001 From: guomanmin Date: Mon, 29 Jan 2024 11:10:28 -0800 Subject: [PATCH 6/9] expand "relative" --- .../device_schema/quera/quera_ahs_paradigm_properties_v1.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py index a1df5926..3c226eb7 100644 --- a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py +++ b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py @@ -215,11 +215,11 @@ class PerformanceRydbergGlobal(BaseModel): Parameters determining the limitations of the global driving field Attributes: rabiFrequencyErrorRel (Decimal): Total error in the Rabi frequency due to inhomogeneity and - variations in time, relative. (unitless) + variations in time, relative to the specified value. (unitless) rabiFrequencyGlobalErrorRel (Decimal): RMS Rabi frequency variation in time as a relative value. (unitless) rabiFrequencyInhomogeneityRel (Decimal): RMS Rabi frequency inhomogeneity over the user - region, relative. (unitless) + region, relative to the specified value. (unitless) groundDetectionError (Decimal): Probability of mis-detecting a ground-state atom as a Rydberg-state atom. (unitless) rydbergDetectionError (Decimal): Probability of mis-detecting a Rydberg-state atom as a @@ -274,7 +274,7 @@ class PerformanceRydbergGlobal(BaseModel): (measured in rad/s) rabiAmplitudeRampCorrection (List[RabiCorrection]): dynamic correction curve of effective single-qubit on-resonant Rabi oscillation frequency driven by a triangular amplitude - waveform, relative. + waveform, relative to the specified value. """ rabiFrequencyErrorRel: Decimal From 281d953cbf35cb62f0f7758e21c6c3dcde14fec2 Mon Sep 17 00:00:00 2001 From: guomanmin Date: Mon, 29 Jan 2024 11:20:37 -0800 Subject: [PATCH 7/9] update groundDetectionError and rydbergDetectionError type --- .../quera/quera_ahs_paradigm_properties_v1.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py index 3c226eb7..1d17c2a6 100644 --- a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py +++ b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py @@ -220,10 +220,10 @@ class PerformanceRydbergGlobal(BaseModel): value. (unitless) rabiFrequencyInhomogeneityRel (Decimal): RMS Rabi frequency inhomogeneity over the user region, relative to the specified value. (unitless) - groundDetectionError (Decimal): Probability of mis-detecting a ground-state atom as a - Rydberg-state atom. (unitless) - rydbergDetectionError (Decimal): Probability of mis-detecting a Rydberg-state atom as a - ground-state atom. (unitless) + groundDetectionError (Annotated[Decimal, Field(ge=0, le=1)]): Probability of mis-detecting + a ground-state atom as a Rydberg-state atom. (unitless) + rydbergDetectionError (Annotated[Decimal, Field(ge=0, le=1)]): Probability of mis-detecting + a Rydberg-state atom as a ground-state atom. (unitless) groundPrepError (Annotated[Decimal, Field(ge=0, le=1)]): Probability of failing to initialize an atom in the ground state prior to user-programmed coherent evolution, in the absence of any local detuning pattern. Normalized to 1. @@ -280,8 +280,8 @@ class PerformanceRydbergGlobal(BaseModel): rabiFrequencyErrorRel: Decimal rabiFrequencyGlobalErrorRel: Decimal rabiFrequencyInhomogeneityRel: Decimal - groundDetectionError: Decimal - rydbergDetectionError: Decimal + groundDetectionError: Annotated[Decimal, Field(ge=0, le=1)] + rydbergDetectionError: Annotated[Decimal, Field(ge=0, le=1)] groundPrepError: Annotated[Decimal, Field(ge=0, le=1)] rydbergPrepErrorBest: Annotated[Decimal, Field(ge=0, le=1)] rydbergPrepErrorWorst: Annotated[Decimal, Field(ge=0, le=1)] From 0a6fd4c57c7846a4408ae48a9cf47dee7887e8e9 Mon Sep 17 00:00:00 2001 From: guomanmin Date: Mon, 29 Jan 2024 11:51:19 -0800 Subject: [PATCH 8/9] formatting via tox -e black --- doc/conf.py | 1 + src/braket/device_schema/blackbird_device_action_properties.py | 1 - .../continuous_variable_qpu_paradigm_properties_v1.py | 1 - src/braket/device_schema/device_connectivity.py | 1 - src/braket/device_schema/device_execution_window.py | 1 - src/braket/device_schema/device_service_properties_v1.py | 1 - src/braket/device_schema/dwave/dwave_device_capabilities_v1.py | 1 - src/braket/device_schema/dwave/dwave_provider_properties_v1.py | 1 - .../device_schema/gate_model_qpu_paradigm_properties_v1.py | 1 - src/braket/device_schema/ionq/ionq_device_capabilities_v1.py | 1 - src/braket/device_schema/jaqcd_device_action_properties.py | 1 - src/braket/device_schema/openqasm_device_action_properties.py | 1 - .../device_schema/quera/quera_ahs_paradigm_properties_v1.py | 2 +- .../simulators/gate_model_simulator_paradigm_properties_v1.py | 1 - 14 files changed, 2 insertions(+), 13 deletions(-) diff --git a/doc/conf.py b/doc/conf.py index 6915a275..37bf865f 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -1,4 +1,5 @@ """Sphinx configuration.""" + import datetime import pkg_resources diff --git a/src/braket/device_schema/blackbird_device_action_properties.py b/src/braket/device_schema/blackbird_device_action_properties.py index b4696f36..a8c8720d 100644 --- a/src/braket/device_schema/blackbird_device_action_properties.py +++ b/src/braket/device_schema/blackbird_device_action_properties.py @@ -20,7 +20,6 @@ class BlackbirdDeviceActionProperties(DeviceActionProperties): - """ Defines the schema for properties for the actions that can be supported by devices that accept Blackbird IR. diff --git a/src/braket/device_schema/continuous_variable_qpu_paradigm_properties_v1.py b/src/braket/device_schema/continuous_variable_qpu_paradigm_properties_v1.py index 6e2bbccf..1de4bc7c 100644 --- a/src/braket/device_schema/continuous_variable_qpu_paradigm_properties_v1.py +++ b/src/braket/device_schema/continuous_variable_qpu_paradigm_properties_v1.py @@ -19,7 +19,6 @@ class ContinuousVariableQpuParadigmProperties(BraketSchemaBase): - """ This class defines the properties that are specific to continuous variable (CV) devices diff --git a/src/braket/device_schema/device_connectivity.py b/src/braket/device_schema/device_connectivity.py index c4dca8b5..3986e0ab 100644 --- a/src/braket/device_schema/device_connectivity.py +++ b/src/braket/device_schema/device_connectivity.py @@ -15,7 +15,6 @@ class DeviceConnectivity(BaseModel): - """ This schema defines the common properties that need to be existent if a connection is defined. diff --git a/src/braket/device_schema/device_execution_window.py b/src/braket/device_schema/device_execution_window.py index f5364ec6..05a8dec5 100644 --- a/src/braket/device_schema/device_execution_window.py +++ b/src/braket/device_schema/device_execution_window.py @@ -48,7 +48,6 @@ class ExecutionDay(str, Enum): class DeviceExecutionWindow(BaseModel): - """ This class defines when a device can execute a given task. diff --git a/src/braket/device_schema/device_service_properties_v1.py b/src/braket/device_schema/device_service_properties_v1.py index a6bc626b..4d89fe10 100644 --- a/src/braket/device_schema/device_service_properties_v1.py +++ b/src/braket/device_schema/device_service_properties_v1.py @@ -21,7 +21,6 @@ class DeviceCost(BaseModel): - """ This class provides the details on the cost of a device. diff --git a/src/braket/device_schema/dwave/dwave_device_capabilities_v1.py b/src/braket/device_schema/dwave/dwave_device_capabilities_v1.py index 9f840afd..20650d8a 100644 --- a/src/braket/device_schema/dwave/dwave_device_capabilities_v1.py +++ b/src/braket/device_schema/dwave/dwave_device_capabilities_v1.py @@ -19,7 +19,6 @@ class DwaveDeviceCapabilities(DeviceCapabilities, BraketSchemaBase): - """ These are the capabilities specific to D-Wave device diff --git a/src/braket/device_schema/dwave/dwave_provider_properties_v1.py b/src/braket/device_schema/dwave/dwave_provider_properties_v1.py index d3555034..e9c8e3d4 100644 --- a/src/braket/device_schema/dwave/dwave_provider_properties_v1.py +++ b/src/braket/device_schema/dwave/dwave_provider_properties_v1.py @@ -19,7 +19,6 @@ class DwaveProviderProperties(BraketSchemaBase): - """ This defines the properties specific to D-Wave device diff --git a/src/braket/device_schema/gate_model_qpu_paradigm_properties_v1.py b/src/braket/device_schema/gate_model_qpu_paradigm_properties_v1.py index 8992d00c..b4f3d8f9 100644 --- a/src/braket/device_schema/gate_model_qpu_paradigm_properties_v1.py +++ b/src/braket/device_schema/gate_model_qpu_paradigm_properties_v1.py @@ -20,7 +20,6 @@ class GateModelQpuParadigmProperties(BraketSchemaBase): - """ This class defines the properties that are specific to gate model devices diff --git a/src/braket/device_schema/ionq/ionq_device_capabilities_v1.py b/src/braket/device_schema/ionq/ionq_device_capabilities_v1.py index 72cd67dd..187f63bb 100644 --- a/src/braket/device_schema/ionq/ionq_device_capabilities_v1.py +++ b/src/braket/device_schema/ionq/ionq_device_capabilities_v1.py @@ -45,7 +45,6 @@ def _dumps_with_provider(payload: dict, **kwargs): class IonqDeviceCapabilities(BraketSchemaBase, DeviceCapabilities): - """ This defines the capabilities of an IonQ device. diff --git a/src/braket/device_schema/jaqcd_device_action_properties.py b/src/braket/device_schema/jaqcd_device_action_properties.py index bf741871..e161ab7c 100644 --- a/src/braket/device_schema/jaqcd_device_action_properties.py +++ b/src/braket/device_schema/jaqcd_device_action_properties.py @@ -20,7 +20,6 @@ class JaqcdDeviceActionProperties(DeviceActionProperties): - """ Defines the schema for properties for the actions that can be supported by JAQCD devices. diff --git a/src/braket/device_schema/openqasm_device_action_properties.py b/src/braket/device_schema/openqasm_device_action_properties.py index a75f7403..40b45b44 100644 --- a/src/braket/device_schema/openqasm_device_action_properties.py +++ b/src/braket/device_schema/openqasm_device_action_properties.py @@ -21,7 +21,6 @@ class OpenQASMDeviceActionProperties(DeviceActionProperties): - """ Defines the schema for properties for the actions that can be supported by OpenQASM devices. diff --git a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py index 1d17c2a6..4caa9d1f 100644 --- a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py +++ b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py @@ -164,7 +164,7 @@ class PerformanceLattice(BaseModel): atomDetectionErrorFalsePositiveTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical probability of a false-positive atom detection error. These probabilities can be dependent on the pattern and site position within the pattern, and can change slightly - with time. Normalized to 1. + with time. Normalized to 1. atomDetectionErrorFalsePositiveWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case probability of a false-positive atom detection error. Upper bound that includes the pattern-dependence, site position dependence and time-variation of this probability. diff --git a/src/braket/device_schema/simulators/gate_model_simulator_paradigm_properties_v1.py b/src/braket/device_schema/simulators/gate_model_simulator_paradigm_properties_v1.py index 1377f3b6..4c28b215 100644 --- a/src/braket/device_schema/simulators/gate_model_simulator_paradigm_properties_v1.py +++ b/src/braket/device_schema/simulators/gate_model_simulator_paradigm_properties_v1.py @@ -17,7 +17,6 @@ class GateModelSimulatorParadigmProperties(BraketSchemaBase): - """ This class defines the properties that are specific to simulator device From 03b0ec3c58c84088f7611470461ba79ac9a94257 Mon Sep 17 00:00:00 2001 From: guomanmin Date: Mon, 29 Jan 2024 14:10:47 -0800 Subject: [PATCH 9/9] formatting issue --- .../device_schema/quera/quera_ahs_paradigm_properties_v1.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py index 4caa9d1f..1d17c2a6 100644 --- a/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py +++ b/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py @@ -164,7 +164,7 @@ class PerformanceLattice(BaseModel): atomDetectionErrorFalsePositiveTypical (Annotated[Decimal, Field(ge=0, le=1)]): Typical probability of a false-positive atom detection error. These probabilities can be dependent on the pattern and site position within the pattern, and can change slightly - with time. Normalized to 1. + with time. Normalized to 1. atomDetectionErrorFalsePositiveWorst (Annotated[Decimal, Field(ge=0, le=1)]): Worst-case probability of a false-positive atom detection error. Upper bound that includes the pattern-dependence, site position dependence and time-variation of this probability.