コード例 #1
0
 def rabi_coupling(self):
     order = self.sideband_order
     eta = self.eta
     n = self.n
     #lists of the generalized laguere polynomails of the corresponding order evaluated at eta**2
     L = np.array([laguer(i, order, eta**2) for i in n])
     if self.sideband_order == 0:
         omega = L * np.exp(-1. / 2 * eta**2)
     elif self.sideband_order == 1:
         omega = L * np.exp(-1. / 2 * eta**2) * eta**(1) * (1 /
                                                            (n + 1.))**0.5
     elif self.sideband_order == 2:
         omega = L * np.exp(-1. / 2 * eta**2) * eta**(2) * (1 /
                                                            ((n + 1.) *
                                                             (n + 2)))**0.5
     elif self.sideband_order == 3:
         omega = L * np.exp(-1. / 2 * eta**2) * eta**(3) * (1 /
                                                            ((n + 1.) *
                                                             (n + 2) *
                                                             (n + 3)))**0.5
     elif self.sideband_order == 4:
         omega = np.exp(-1. / 2 * eta**2) * eta**(4) * (1 /
                                                        ((n + 1.) *
                                                         (n + 2) * (n + 3) *
                                                         (n + 4)))**0.5
     else:
         raise NotImplementedError("Can't do that high of sideband order")
     omega = np.abs(omega)
     return omega
コード例 #2
0
 def omegaeff(self,omega0,sideband_order,n):#diverges for n -> infinity
     sideband_order=np.abs(sideband_order)
     x=1.
     for k in np.linspace(1,sideband_order,sideband_order):
         x=x*(n+k)
     result = self.eta**sideband_order*omega0/2.*np.exp(-self.eta**2./2.)*laguer(n,sideband_order,self.eta**2.)/np.sqrt(x)
     return result
コード例 #3
0
ファイル: timeevolution.py プロジェクト: HaeffnerLab/cct
 def effective_rabi_coupling(self,n):
     eta = self.eta
     sideband=np.abs(self.sideband_order)
     x=1
     for k in np.linspace(1,sideband,sideband):
         x=x*(n+k)
     result = (eta**sideband)*np.exp(-.5*eta**2.)*laguer(n,sideband,eta**2.)/np.sqrt(x)
     return result
コード例 #4
0
 def omegaeff(self, omega0, sideband_order, n):  #diverges for n -> infinity
     sideband_order = np.abs(sideband_order)
     x = 1.
     for k in np.linspace(1, sideband_order, sideband_order):
         x = x * (n + k)
     result = self.eta**sideband_order * omega0 / 2. * np.exp(
         -self.eta**2. / 2.) * laguer(n, sideband_order, self.eta**
                                      2.) / np.sqrt(x)
     return result
コード例 #5
0
ファイル: timeevolution.py プロジェクト: HaeffnerLab/sqip
 def effective_rabi_coupling(self, n):
     eta = self.eta
     sideband = np.abs(self.sideband_order)
     x = 1
     for k in np.linspace(1, sideband, sideband):
         x = x * (n + k)
     result = (eta**sideband) * np.exp(-.5 * eta**2.) * laguer(
         n, sideband, eta**2.) / np.sqrt(x)
     return result
コード例 #6
0
ファイル: TheoryPrediction.py プロジェクト: EQ4/resonator
 def omegaeff(self,n):#diverges for n -> infinity
     sideband=self.p.sideband
     eta=self.p.eta
     omega=self.p.omega
     x=1.
     for k in np.linspace(1,sideband,sideband):
         x=x*(n+k)
     result = eta**sideband*omega/2.*np.exp(-eta**2./2.)*laguer(n,sideband,eta**2.)/np.sqrt(x)
     return result
コード例 #7
0
 def rabi_coupling(self):
     eta = self.eta
     n = self.n
     sideband=np.abs(self.sideband_order)
     x=1
     for k in np.linspace(1,sideband,sideband):
         x=x*(n+k)
     result = eta**sideband/2.*np.exp(-eta**2./2.)*laguer(n,sideband,eta**2.)/np.sqrt(x)
     return result
コード例 #8
0
 def omegaeff(self, n):  #diverges for n -> infinity
     sideband = self.p.sideband
     eta = self.p.eta
     omega = self.p.omega
     x = 1
     for k in np.linspace(1, sideband, sideband):
         x = x * (n + k)
     result = eta**sideband * omega / 2. * np.exp(-eta**2. / 2.) * laguer(
         n, sideband, eta**2.) / np.sqrt(x)
     return result
コード例 #9
0
 def rabi_coupling(self):
     order = self.sideband_order
     eta = self.eta
     n = self.n
     #lists of the generalized laguere polynomails of the corresponding order evaluated at eta**2
     L = np.array([laguer(i, order, eta**2) for i in n])
     if self.sideband_order == 0:
         omega = L * np.exp(-1./2*eta**2)
     elif self.sideband_order == 1:
         omega = L* np.exp(-1./2*eta**2)*eta**(1)*(1/(n+1.))**0.5
     elif self.sideband_order == 2:
         omega = L* np.exp(-1./2*eta**2)*eta**(2)*(1/((n+1.)*(n+2)))**0.5 
     elif self.sideband_order == 3:
         omega = L* np.exp(-1./2*eta**2)*eta**(3)*(1/((n+1.)*(n+2)*(n+3)))**0.5 
     elif self.sideband_order == 4:
         omega = np.exp(-1./2*eta**2)*eta**(4)*(1/((n+1.)*(n+2)*(n+3)*(n+4)))**0.5
     else:
         raise NotImplementedError("Can't do that high of sideband order")
     omega = np.abs(omega)
     return omega