supergrad.time_evolution.pulseshape.PulseErf

supergrad.time_evolution.pulseshape.PulseErf#

class supergrad.time_evolution.pulseshape.PulseErf(length=None, amp=None, delay=0, modulate_wave=False, name: str = 'pulse_erf', **kwargs)[source]#

Creates error function up/down pulse, integral 1.

Both up and down parts are erf style, controlled by sigma. the erf function is truncated at sigma=-cutoff(as t=0) and sigma=+cutoff(as t=tmax) The pulse is nearly flat in the middle if sigma is small.

Parameters:
  • length – the length of pulse

  • amp – the amplitude of pulse

  • delay – time delay for waiting other gate operations, unit in ns

  • modulate_wave (bool) – True for generate modulated sine wave

  • name – module name

sigma#

the sigma of erf function

cutoff#

the cutoff of erf function

Returns:

an array of amplitudes

__init__(length=None, amp=None, delay=0, modulate_wave=False, name: str = 'pulse_erf', **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__([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])

Create desired pulse shape for various gate operations.

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