iqm.pulse.playlist.hd_drag.evaluate_nth_derivative_of_basis_envelope

iqm.pulse.playlist.hd_drag.evaluate_nth_derivative_of_basis_envelope#

iqm.pulse.playlist.hd_drag.evaluate_nth_derivative_of_basis_envelope(t_arr, pulse_duration, cosine_coefs_arr, n)#

Evaluate nth derivative of the basis envelope for HD DRAG based on a cosine series.

The basis envelope is given by \(g(t) = \sum_{k=1}^{K+1} d_k (1 - \cos(2\pi k t/t_p + k\pi))\), where the pulse is defined on the interval \(t \in [-t_p/2, t_p/2]\). The returned derivatives are normalized via multiplication by \(((t_p/(2\pi))^n\), where \(n\) is the order of the derivative.

Parameters:
  • t_arr (ndarray) – Array of time points, at which the function is to be evaluated

  • pulse_duration (float) – Pulse duration in the same units as t_arr

  • cosine_coefs_arr (ndarray) – Coefficients of the cosine terms in the basis envelope

  • n (int) – order of derivative

Returns:

Array containing the nth derivative of the basis envelope evaluated at t_arr

Return type:

ndarray