supergrad.time_evolution.pulseshape.PulseWithDRAG#
- class supergrad.time_evolution.pulseshape.PulseWithDRAG(envelope: ~supergrad.time_evolution.pulseshape.PulseBase = <class 'supergrad.time_evolution.pulseshape.PulseCosine'>, length=None, amp=None, delay=0, modulate_wave=True, name: str = 'pulse_drag', **kwargs)[source]#
Creates pulse for single qubit operation.
- Parameters:
envelope – pulse envelope
delay – time delay for waiting other gate operations
drive_dir – 0 for X and pi/2 for Y
omega_d – driving frequency
drag – using the derivative removal by adiabatic gate
name – module name
- length#
the length of pulse shape
- amp#
the max amplitude
- omega_d#
the drive frequency
- __init__(envelope: ~supergrad.time_evolution.pulseshape.PulseBase = <class 'supergrad.time_evolution.pulseshape.PulseCosine'>, length=None, amp=None, delay=0, modulate_wave=True, name: str = 'pulse_drag', **kwargs)[source]#
Initializes the current module with the given name.
Subclasses should call this constructor before creating other modules or variables such that those modules are named correctly.
- Parameters:
name – An optional string name for the class. Must be a valid Python identifier. If
nameis not provided then the class name for the current instance is converted tolower_snake_caseand used instead.
Methods
__init__([envelope, length, amp, delay, ...])Initializes the current module with the given name.
create_envelope_pulse(t[, args])Create envelope pulse shape for various gate operations.
create_pulse(t[, args])Overload create_pulse function.
params_dict()Returns parameters keyed by name for this module and submodules.
state_dict()Returns state keyed by name for this module and submodules.
Attributes
pulse_endtimeThe time of last pulse frame