qibosoq.components package¶
Helper objects.
Submodules¶
qibosoq.components.base module¶
Various helper objects.
- class qibosoq.components.base.Config(relaxation_time: float = 100, ro_time_of_flight: int = 200, reps: int = 1000, soft_avgs: int = 1, average: bool = True)[source]¶
Bases:
object
General RFSoC Configuration.
- class qibosoq.components.base.OperationCode(value)[source]¶
Bases:
IntEnum
Available operations.
- EXECUTE_PULSE_SEQUENCE = 1¶
- EXECUTE_PULSE_SEQUENCE_RAW = 2¶
- EXECUTE_SWEEPS = 3¶
- class qibosoq.components.base.Qubit(bias: float | None = None, dac: int | None = None)[source]¶
Bases:
object
Qubit object, storing flux information.
- class qibosoq.components.base.Parameter(value)[source]¶
-
Available parameters for sweepers.
- FREQUENCY = 'freq'¶
- AMPLITUDE = 'gain'¶
- RELATIVE_PHASE = 'phase'¶
- DELAY = 't'¶
- BIAS = 'bias'¶
- DURATION = 'duration'¶
qibosoq.components.pulses module¶
Pulses objects.
- class qibosoq.components.pulses.Element(type: str, frequency: float, start_delay: float, duration: float, adc: int, dac: int)[source]¶
Bases:
object
Abstract common oject for pulses and measurements.
- class qibosoq.components.pulses.Measurement(type: str, frequency: float, start_delay: float, duration: float, adc: int, dac: int)[source]¶
Bases:
Element
Measurement without pulse.
- class qibosoq.components.pulses.Pulse(type: str, frequency: float, start_delay: float, duration: float, adc: int, dac: int, amplitude: float, relative_phase: int, name: str)[source]¶
Bases:
Element
Abstract Pulse object.
- class qibosoq.components.pulses.Rectangular(type: str, frequency: float, start_delay: float, duration: float, adc: int, dac: int, amplitude: float, relative_phase: int, name: str, shape: str = 'rectangular')[source]¶
Bases:
Pulse
Rectangular pulse.
- class qibosoq.components.pulses.Gaussian(type: str, frequency: float, start_delay: float, duration: float, adc: int, dac: int, amplitude: float, relative_phase: int, name: str, rel_sigma: float, shape: str = 'gaussian')[source]¶
Bases:
Pulse
Gaussian pulse.
- class qibosoq.components.pulses.Drag(type: str, frequency: float, start_delay: float, duration: float, adc: int, dac: int, amplitude: float, relative_phase: int, name: str, rel_sigma: float, beta: float, shape: str = 'drag')[source]¶
Bases:
Pulse
Drag pulse.
- class qibosoq.components.pulses.FlatTop(type: str, frequency: float, start_delay: float, duration: float, adc: int, dac: int, amplitude: float, relative_phase: int, name: str, rel_sigma: float, shape: str = 'flattop')[source]¶
Bases:
Pulse
FlatTop pulse.
- class qibosoq.components.pulses.FluxExponential(type: str, frequency: float, start_delay: float, duration: float, adc: int, dac: int, amplitude: float, relative_phase: int, name: str, tau: float, upsilon: float, weight: float, shape: str = 'fluxexponential')[source]¶
Bases:
Pulse
Flux pulse with exponential rising edge to correct distortions.
- class qibosoq.components.pulses.Hann(type: str, frequency: float, start_delay: float, duration: float, adc: int, dac: int, amplitude: float, relative_phase: int, name: str, shape: str = 'hann')[source]¶
Bases:
Pulse
Hann function.
- class qibosoq.components.pulses.Arbitrary(type: str, frequency: float, start_delay: float, duration: float, adc: int, dac: int, amplitude: float, relative_phase: int, name: str, i_values: List[float], q_values: List[float], shape: str = 'arbitrary')[source]¶
Bases:
Pulse
Custom pulse.
- class qibosoq.components.pulses.Shape(value)[source]¶
Bases:
Enum
Map shape names to the corresponding objects.
- RECTANGULAR = <class 'qibosoq.components.pulses.Rectangular'>¶
- GAUSSIAN = <class 'qibosoq.components.pulses.Gaussian'>¶
- DRAG = <class 'qibosoq.components.pulses.Drag'>¶
- HANN = <class 'qibosoq.components.pulses.Hann'>¶
- FLUXEXPONENTIAL = <class 'qibosoq.components.pulses.FluxExponential'>¶
- FLATTOP = <class 'qibosoq.components.pulses.FlatTop'>¶
- ARBITRARY = <class 'qibosoq.components.pulses.Arbitrary'>¶