I added patch to fix problems with numpy-1.10 and vtk-6.0/7.0. :) OBS-URL: https://build.opensuse.org/request/show/383112 OBS-URL: https://build.opensuse.org/package/show/science/python-qutip?expand=0&rev=2
180 lines
7.5 KiB
Diff
180 lines
7.5 KiB
Diff
diff -Npru qutip-3.1.0.orig/qutip/correlation.py qutip-3.1.0/qutip/correlation.py
|
|
--- qutip-3.1.0.orig/qutip/correlation.py 2016-03-31 16:36:44.768351980 -0400
|
|
+++ qutip-3.1.0/qutip/correlation.py 2016-03-31 16:37:50.696212288 -0400
|
|
@@ -74,7 +74,7 @@ def correlation_2op_1t(H, state0, taulis
|
|
options=Options(ntraj=[20, 100])):
|
|
"""
|
|
Calculate the two-operator two-time correlation function:
|
|
- :math: `\left<A(t+\\tau)B(t)\\right>`
|
|
+ :math:`\left<A(t+\\tau)B(t)\\right>`
|
|
along one time axis using the quantum regression theorem and the evolution
|
|
solver indicated by the `solver` parameter.
|
|
|
|
@@ -170,7 +170,7 @@ def correlation_2op_2t(H, state0, tlist,
|
|
tlist : *list* / *array*
|
|
list of times for :math:`t`. tlist must be positive and contain the
|
|
element `0`. When taking steady-steady correlations only one tlist
|
|
- value is necessary, i.e. :math:`t \rightarrow \infty`; here tlist is
|
|
+ value is necessary, i.e. :math:`t \\rightarrow \\infty`; here tlist is
|
|
automatically set, ignoring user input.
|
|
|
|
taulist : *list* / *array*
|
|
@@ -336,7 +336,7 @@ def correlation_3op_2t(H, state0, tlist,
|
|
tlist : *list* / *array*
|
|
list of times for :math:`t`. tlist must be positive and contain the
|
|
element `0`. When taking steady-steady correlations only one tlist
|
|
- value is necessary, i.e. :math:`t \rightarrow \infty`; here tlist is
|
|
+ value is necessary, i.e. :math:`t \\rightarrow \infty`; here tlist is
|
|
automatically set, ignoring user input.
|
|
|
|
taulist : *list* / *array*
|
|
@@ -402,7 +402,7 @@ def coherence_function_g1(H, taulist, c_
|
|
|
|
.. math::
|
|
|
|
- g^{(1)}(\\tau) = \lim_{t \to \infty}
|
|
+ g^{(1)}(\\tau) = \lim_{t \\to \infty}
|
|
\\frac{\\langle a^\\dagger(t+\\tau)a(t)\\rangle}
|
|
{\\langle a^\\dagger(t)a(t)\\rangle}
|
|
|
|
@@ -463,7 +463,7 @@ def coherence_function_g2(H, taulist, c_
|
|
|
|
.. math::
|
|
|
|
- g^{(2)}(\\tau) = \lim_{t \to \infty}
|
|
+ g^{(2)}(\\tau) = \lim_{t \\to \infty}
|
|
\\frac{\\langle a^\\dagger(t)a^\\dagger(t+\\tau)
|
|
a(t+\\tau)a(t)\\rangle}
|
|
{\\langle a^\\dagger(t)a(t)\\rangle^2}
|
|
@@ -524,13 +524,13 @@ def coherence_function_g2(H, taulist, c_
|
|
def spectrum(H, wlist, c_ops, a_op, b_op, solver="es", use_pinv=False):
|
|
"""
|
|
Calculate the spectrum of the correlation function
|
|
- :math:`\lim_{t \to \infty} \left<A(t+\\tau)B(t)\\right>`,
|
|
+ :math:`\lim_{t \\to \infty} \left<A(t+\\tau)B(t)\\right>`,
|
|
i.e., the Fourier transform of the correlation function:
|
|
|
|
.. math::
|
|
|
|
S(\omega) = \int_{-\infty}^{\infty}
|
|
- \lim_{t \to \infty} \left<A(t+\\tau)B(t)\\right>
|
|
+ \lim_{t \\to \infty} \left<A(t+\\tau)B(t)\\right>
|
|
e^{-i\omega\\tau} d\\tau.
|
|
|
|
using the solver indicated by the `solver` parameter. Note: this spectrum
|
|
@@ -638,7 +638,7 @@ def correlation_ss(H, taulist, c_ops, a_
|
|
|
|
.. math::
|
|
|
|
- \lim_{t \to \infty} \left<A(t+\\tau)B(t)\\right>
|
|
+ \lim_{t \\to \infty} \left<A(t+\\tau)B(t)\\right>
|
|
|
|
along one time axis (given steady-state initial conditions) using the
|
|
quantum regression theorem and the evolution solver indicated by the
|
|
@@ -665,8 +665,8 @@ def correlation_ss(H, taulist, c_ops, a_
|
|
|
|
reverse : bool
|
|
If `True`, calculate
|
|
- :math:`\lim_{t \to \infty} \left<A(t)B(t+\\tau)\\right>` instead of
|
|
- :math:`\lim_{t \to \infty} \left<A(t+\\tau)B(t)\\right>`.
|
|
+ :math:`\lim_{t \\to \infty} \left<A(t)B(t+\\tau)\\right>` instead of
|
|
+ :math:`\lim_{t \\to \infty} \left<A(t+\\tau)B(t)\\right>`.
|
|
|
|
solver : str
|
|
choice of solver (`me` for master-equation and
|
|
@@ -726,7 +726,7 @@ def correlation(H, state0, tlist, taulis
|
|
tlist : *list* / *array*
|
|
list of times for :math:`t`. tlist must be positive and contain the
|
|
element `0`. When taking steady-steady correlations only one tlist
|
|
- value is necessary, i.e. :math:`t \rightarrow \infty`; here tlist is
|
|
+ value is necessary, i.e. :math:`t \\rightarrow \infty`; here tlist is
|
|
automatically set, ignoring user input.
|
|
|
|
taulist : *list* / *array*
|
|
@@ -890,7 +890,7 @@ def correlation_4op_2t(H, state0, tlist,
|
|
tlist : *list* / *array*
|
|
list of times for :math:`t`. tlist must be positive and contain the
|
|
element `0`. When taking steady-steady correlations only one tlist
|
|
- value is necessary, i.e. :math:`t \rightarrow \infty`; here tlist is
|
|
+ value is necessary, i.e. :math:`t \\rightarrow \infty`; here tlist is
|
|
automatically set, ignoring user input.
|
|
|
|
taulist : *list* / *array*
|
|
@@ -956,13 +956,13 @@ def correlation_4op_2t(H, state0, tlist,
|
|
def spectrum_ss(H, wlist, c_ops, a_op, b_op):
|
|
"""
|
|
Calculate the spectrum of the correlation function
|
|
- :math:`\lim_{t \to \infty} \left<A(t+\\tau)B(t)\\right>`,
|
|
+ :math:`\lim_{t \\to \infty} \left<A(t+\\tau)B(t)\\right>`,
|
|
i.e., the Fourier transform of the correlation function:
|
|
|
|
.. math::
|
|
|
|
S(\omega) = \int_{-\infty}^{\infty}
|
|
- \lim_{t \to \infty} \left<A(t+\\tau)B(t)\\right>
|
|
+ \lim_{t \\to \infty} \left<A(t+\\tau)B(t)\\right>
|
|
e^{-i\omega\\tau} d\\tau.
|
|
|
|
using an eseries based solver Note: this spectrum is only defined for
|
|
@@ -1006,13 +1006,13 @@ def spectrum_ss(H, wlist, c_ops, a_op, b
|
|
def spectrum_pi(H, wlist, c_ops, a_op, b_op, use_pinv=False):
|
|
"""
|
|
Calculate the spectrum of the correlation function
|
|
- :math:`\lim_{t \to \infty} \left<A(t+\\tau)B(t)\\right>`,
|
|
+ :math:`\lim_{t \\to \infty} \left<A(t+\\tau)B(t)\\right>`,
|
|
i.e., the Fourier transform of the correlation function:
|
|
|
|
.. math::
|
|
|
|
S(\omega) = \int_{-\infty}^{\infty}
|
|
- \lim_{t \to \infty} \left<A(t+\\tau)B(t)\\right>
|
|
+ \lim_{t \\to \infty} \left<A(t+\\tau)B(t)\\right>
|
|
e^{-i\omega\\tau} d\\tau.
|
|
|
|
using a psuedo-inverse method. Note: this spectrum is only defined for
|
|
@@ -1065,7 +1065,7 @@ def _correlation_2t(H, state0, tlist, ta
|
|
"""
|
|
Internal function for calling solvers in order to calculate the
|
|
three-operator two-time correlation function:
|
|
- <A(t)B(t+tau)C(t)>
|
|
+ :math:`\left<A(t)B(t+\\tau)C(t)\\right>`
|
|
"""
|
|
|
|
# Note: the current form of the correlator is sufficient for all possible
|
|
@@ -1104,7 +1104,7 @@ def _correlation_me_2t(H, state0, tlist,
|
|
"""
|
|
Internal function for calculating the three-operator two-time
|
|
correlation function:
|
|
- <A(t)B(t+tau)C(t)>
|
|
+ :math:`\left<A(t)B(t+\\tau)C(t)\\right>`
|
|
using a master equation solver.
|
|
"""
|
|
|
|
@@ -1148,7 +1148,7 @@ def _correlation_es_2t(H, state0, tlist,
|
|
"""
|
|
Internal function for calculating the three-operator two-time
|
|
correlation function:
|
|
- <A(t)B(t+tau)C(t)>
|
|
+ :math:`\left<A(t)B(t+\\tau)C(t)\\right>`
|
|
using an exponential series solver.
|
|
"""
|
|
|
|
@@ -1219,7 +1219,7 @@ def _correlation_mc_2t(H, state0, tlist,
|
|
"""
|
|
Internal function for calculating the three-operator two-time
|
|
correlation function:
|
|
- <A(t)B(t+tau)C(t)>
|
|
+ :math:`\left<A(t)B(t+\\tau)C(t)\\right>`
|
|
using a Monte Carlo solver.
|
|
"""
|
|
|
|
@@ -1292,7 +1292,7 @@ def _correlation_mc_2t(H, state0, tlist,
|
|
]
|
|
|
|
# final correlation vector computed by combining the averages
|
|
- corr_mat[t_idx, :] += \
|
|
+ corr_mat[t_idx, :] = corr_mat[t_idx,:] + \
|
|
1/(4*options.ntraj[0]) * (c_tau[0] - c_tau[2] -
|
|
1j*c_tau[1] + 1j*c_tau[3])
|
|
if t_idx == 1:
|