supergrad.time_evolution.pulseshape.PulseWithDRAG

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 name is not provided then the class name for the current instance is converted to lower_snake_case and 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_endtime

The time of last pulse frame