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

Evaluate the filter function for a control Hamiltonian and a noise operator at the given frequency elements.

  • 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, 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, optional) – The projection operator \(P\). Defaults to None, in which case the identity operator is used.

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


The filter function.

Return type


See also


Control-frame noise operator in the frequency domain.


The filter function is defined as 1:

\[F(f) = \frac{1}{\mathrm{Tr}(P)} \mathrm{Tr} \left( P \mathcal{F} \left\{ \tilde N^\prime(t) \right\}(f) \mathcal{F} \left\{ \tilde N^\prime(t) \right\}(f)^\dagger P \right),\]

with the control-frame noise operator in the frequency domain

\[\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.



H. Ball, M. J. Biercuk, A. R. R. Carvalho, J. Chen, M. Hush, L. A. De Castro, L. Li, P. J. Liebermann, H. J. Slatyer, and C. Edmunds, Quantum Sci. Technol. 6, 044011 (2021).