Graph.frequency_domain_noise_operator(control_hamiltonian, noise_operator, frequencies, sample_count=100, projection_operator=None, *, name=None)

Create a control-frame noise operator in the frequency domain for a control Hamiltonian and a noise operator at the given frequencies.

  • control_hamiltonian (Pwc) – The control Hamiltonian \(H_\mathrm{c}(t)\).

  • noise_operator (Pwc) – The noise operator \(N(t)\).

  • frequencies (list or tuple or np.ndarray) – The elements in the frequency domain at which to return the values of the filter function.

  • sample_count (int or None, optional) – The number of points in time, \(M\), to sample the control-frame noise operator. These samples are used to calculate the approximate Fourier integral efficiently. If None the piecewise Fourier integral is calculated exactly. Defaults to 100.

  • projection_operator (np.ndarray or None, optional) – The projection operator \(P\). Defaults to the identity matrix.

  • name (str or None, optional) – The name of the node.


The noise operator in the frequency domain.

Return type:


See also


The filter function.


The control-frame noise operator in the frequency domain is defined as the Fourier transform of the operator in the time domain [1]:

\[\mathcal{F} \left\{ \tilde N^\prime(t) \right\}(f) = \int_0^\tau e^{-i 2\pi f t} \tilde N^\prime(t) \mathrm{d}t,\]


\[\tilde N^\prime(t) = \tilde N(t) - \frac{\mathrm{Tr}\left( P \tilde N(t) P \right)}{\mathrm{Tr}(P)} \mathbb{I}\]

is the traceless control-frame noise operator in the time domain,

\[\tilde N(t) = U_c^\dagger(t) N(t) U_c(t)\]

is the control-frame noise operator in the time domain, and \(U_c(t)\) is the time evolution induced by the control Hamiltonian. If sample_count is set, the Fourier integral is approximated as

\[\mathcal{F} \left\{ \tilde N^\prime(t) \right\}(f) \approx \sum_{n=0}^{M-1} \frac{\tau}{M} e^{-i 2\pi f n \tau/M} \langle \tilde N^\prime (n\tau/M) \rangle,\]

where \(\tau\) is the duration of the control Hamiltonian.