Correlations

Two-time correlation functions via the quantum regression theorem.

openquantumsim.correlations.correlation_2op_1t(H, rho0, taulist, a_op, b_op, *, c_ops=None, options=None)[source]

Return <A(tau) B(0)> using quantum regression.

This first implementation supports time-independent Lindblad systems.

Parameters:
Return type:

ndarray[tuple[Any, …], dtype[complex128]]

openquantumsim.correlations.correlation_2op_2t(H, rho0, tlist, taulist, a_op, b_op, *, c_ops=None, options=None)[source]

Return <A(t + tau) B(t)> for each t and tau.

Parameters:
  • H (Operator)

  • rho0 (ndarray[tuple[Any, ...], dtype[complex128]])

  • tlist (Sequence[float])

  • taulist (Sequence[float])

  • a_op (Operator)

  • b_op (Operator)

  • c_ops (Sequence[Operator] | None)

  • options (Options | None)

Return type:

ndarray[tuple[Any, …], dtype[complex128]]

openquantumsim.correlations.spectrum_correlation_fft(taulist, correlation)[source]

Return the frequency-domain spectrum of a sampled correlation function.

Given C(tau) sampled on a uniform grid, computes the discrete approximation of S(w) = integral C(tau) exp(i w tau) dtau with w = 2 * pi * f. Returns (wlist, spectrum) sorted by ascending frequency, in the same order.

For correlation_2op_1t output, |S(w)| peaks at the resonance frequencies of the system, mirroring QuTiP’s spectrum helper.

Parameters:
  • taulist (Sequence[float])

  • correlation (ndarray[tuple[Any, ...], dtype[complex128]])

Return type:

tuple[ndarray[tuple[Any, …], dtype[float64]], ndarray[tuple[Any, …], dtype[complex128]]]

openquantumsim.correlations.spectrum_2op_1t(H, rho0, taulist, a_op, b_op, *, c_ops=None, options=None)[source]

Return (wlist, spectrum) for <A(tau) B(0)> via FFT.

Runs correlation_2op_1t (quantum regression, requires the Julia backend) and transforms the result with spectrum_correlation_fft. taulist must be uniformly spaced.

Parameters:
Return type:

tuple[ndarray[tuple[Any, …], dtype[float64]], ndarray[tuple[Any, …], dtype[complex128]]]