real_fourier_pwc_signal
Graph.real_fourier_pwc_signal(duration, segment_count, initial_coefficient_lower_bound=-1, initial_coefficient_upper_bound=1, fixed_frequencies=None, optimizable_frequency_count=None, randomized_frequency_count=None, *, name=None)
Create a piecewise-constant signal constructed from Fourier components.
Use this function to create a signal defined in terms of Fourier (sine/cosine) basis signals that can be optimized by varying their coefficients and, optionally, their frequencies.
Parameters
- duration (float) – The total duration
- segment_count (int) – The number of segments
- initial_coefficient_lower_bound (float , optional) – The lower bound
- initial_coefficient_upper_bound (float , optional) – The upper bound
- fixed_frequencies (np.ndarray or None , optional) – A 1D array object containing the fixed non-zero frequencies
- optimizable_frequency_count (int or None , optional) – The number of non-zero frequencies
- randomized_frequency_count (int or None , optional) – The number of non-zero frequencies
- name (str or None , optional) – The name of the node.
Returns
The optimizable, real-valued, piecewise-constant signal built from the appropriate Fourier components.
Return type
WARNING
You must provide exactly one of fixed_frequencies, optimizable_frequency_count, or randomized_frequency_count.
SEE ALSO
Graph.real_fourier_stf_signal
: Corresponding operation for Stf.
Notes
This function sets the basis signal frequencies
- For fixed frequencies, you provide the frequencies directly.
- For optimizable frequencies, you provide the number of frequencies , and this function creates unbounded optimizable variables , with initial values in the ranges
- For randomized frequencies, you provide the number of frequencies , and this function creates randomized constants in the ranges
After this function creates the frequencies
where are (unbounded) optimizable variables, with initial values bounded by and . This function produces the final piecewise-constant signal by sampling at equally spaced points along the duration
You can use the signals created by this function for chopped random basis (CRAB) optimization 1.
References
[1] P. Doria, T. Calarco, and S. Montangero, Phys. Rev. Lett. 106, 190501 (2011).
Examples
See the “Fourier-basis optimization on a qutrit” example in the How to optimize controls using arbitrary basis functions user guide.