Я использую Qutip 4.5 и Ubantu 16.04 и пытаюсь решить этот код. В данном коде я пытаюсь построить корреляционную функцию второго порядка как функцию дельты, которая варьируется от (-10 до 10), но я нахожу некоторые трудности для решения этой проблемы. Я попробовал приведенный ниже код, чтобы приблизиться к моему решению, но получил сообщение об ошибке. Если кто-то может это выяснить, очень приветствуется.
%matplotlib
import matplotlib.pyplot as plt
import numpy as np
import math
from qutip import *
from IPython.display import Image
pi=np.pi
sqrt=np.sqrt
exp=np.exp
deld1 = 0
deld2 = 0
wc = 1
wD = 0.00
jz = 0.02
g1 = 4
g2 = 1.5
kappa = 1
gamma1 = 0.3
gamma2 = 0.3
gammap=0.05
N = 2
en = 0.5
s1=0.5*kappa+0.5*gammap
s2=s1/g1
s=s2*s2
R1=sqrt(4+s)
omega_1 = 1.41
T2=s1/g2
T=T2*T2
R2=sqrt(4+T)
omega_2 = 0.5*kappa* (R2+sqrt(R2*R2+4))
x=0.5*kappa+0.5*gammap
th1 = math.atan(x/(2*wc))
th2 = math.atan(x/(2*wc))
tlist = np.linspace(0,10,100)
delta = 0
a = tensor(destroy(N), qeye(2),qeye(2))
sm1 = tensor(qeye(N), destroy(2),qeye(2))
sz1=tensor(qeye(N), sigmaz(), qeye(2))
sm2 =tensor(qeye(N), qeye(2), destroy(2))
sz2 = tensor(qeye(N), qeye(2), sigmaz())
H1 = delta * a.dag()*a +deld1*sz1+ deld2*sz2 + g1*(a.dag() * sm1 + a * sm1.dag())+g2*
(a.dag() * sm2 + a * sm2.dag())
H2 = en*(a.dag() + a) + wD*sm1.dag()*sm2 +wD*sm1*sm2.dag()+ 2*jz*sz1*sz2
H3 = omega_1 * sm1*exp(complex(0,th1))+ omega_1 * sm1.dag()*exp(complex(0,-th1))
H4 = omega_2 * sm2*exp(complex(0,th2)) + omega_2 * sm2.dag()*exp(complex(0,-th2))
H=H1+H2+H3+H4
c_op_list = [sqrt(1.0)*a,sqrt(0.3)*sm1,sqrt(0.3)*sm2,sqrt(0.05)*sz1,sqrt(0.05)*sz2]
rho0= coherent_dm(4*N,np.sqrt(2))
n= mesolve(H,rho0,tlist,c_op_list,[a.dag()*a]).expect[0]
G2= correlation_3op_1t(H,rho0, tlist, c_op_list,a.dag(), a.dag()*a, a)
g2= G2/(n[0]*n)
После этой строки я получаю это сообщение об ошибке: есть ли ошибка кода или что-то еще, чего я не знаю. Если кто-то может решить это приветствуется.
TypeError Traceback (most recent call last)
<ipython-input-10-db0363d2e21c> in <module>
----> 1 G2= correlation_3op_1t(H,rho0, tlist, c_op_list,a.dag(), a.dag()*a, a)
2 g2= G2/(n[0]*n)
/usr/local/lib/python3.5/dist-packages/qutip/correlation.py in correlation_3op_1t(H, state0,
taulist, c_ops, a_op, b_op, c_op, solver, args, options)
281
282 return _correlation_2t(H, state0, [0], taulist, c_ops, a_op, b_op, c_op,
--> 283 solver=solver, args=args, options=options)[0]
284
285
/usr/local/lib/python3.5/dist-packages/qutip/correlation.py in _correlation_2t(H, state0,
tlist, taulist, c_ops, a_op, b_op, c_op, solver, args, options)
1062 return _correlation_me_2t(H, state0, tlist, taulist,
1063 c_ops, a_op, b_op, c_op,
-> 1064 args=args, options=options)
1065 elif solver == "mc":
1066 return _correlation_mc_2t(H, state0, tlist, taulist,
/usr/local/lib/python3.5/dist-packages/qutip/correlation.py in _correlation_me_2t(H,
state0,
tlist, taulist, c_ops, a_op, b_op, c_op, args, options)
1112
1113 corr_mat[t_idx, :] = mesolve(
-> 1114 H_shifted, c_op * rho * a_op, taulist, c_ops_shifted,
1115 [b_op], args=_args, options=options
1116 ).expect[0]
/usr/local/lib/python3.5/dist-packages/qutip/qobj.py in __mul__(self, other)
553
554 else:
--> 555 raise TypeError("Incompatible Qobj shapes")
556
557 elif isinstance(other, np.ndarray):
TypeError: Incompatible Qobj shapes