Esempio n. 1
0
def anton_lamb_shift_plot(fig_width=9.0, fig_height=6.0):
    """reproduces coupling/lamb shift plot in Anton's paper"""
    pl=Plotter(fig_width=fig_width, fig_height=fig_height)
    EjdivEc=linspace(0.1, 300, 10000)
    Ej=EjdivEc*antonqdt.Ec
    #E0, E1, E2=antonqdt._get_transmon_energy_levels(Ej=Ej, n_energy=3)
    fq=antonqdt._get_fq(Ej)
    #anharm=(E2-E1)-(E1-E0)
    #E0p, E1p, E2p=antonqdt._get_lamb_shifted_transmon_energy_levels(Ej=Ej, n_energy=3)
    #anharmp=(E2p-E1p)-(E1p-E0p)
    #fq= (E1-E0)/h#qdt.call_func("fq", Ej=EjdivEc*qdt.Ec)
    coup=antonqdt._get_coupling(fq)
    ls=antonqdt._get_Lamb_shift(fq)
    line(fq/antonqdt.f0, 2.0*coup/(2.0*antonqdt.max_coupling), plotter=pl, linewidth=0.5, color="red", label=r"$\Gamma$, $N=10$")
    line(fq/antonqdt.f0, ls/(2.0*antonqdt.max_coupling), plotter=pl, color="green", linewidth=0.5, label=r"$\Delta$, $N=10$")

    #antonqdt.Np=3
    Ej=EjdivEc*antonqdt3.Ec
    fq=antonqdt3._get_fq(Ej)
    coup=antonqdt3._get_coupling(fq)
    ls=antonqdt3._get_Lamb_shift(fq)
    line(fq/antonqdt3.f0, 2.0*coup/(2.0*antonqdt3.max_coupling), plotter=pl, linewidth=0.5, color="blue", label=r"$\Gamma$, $N=3$")
    line(fq/antonqdt3.f0, ls/(2.0*antonqdt3.max_coupling), plotter=pl, color="black", linewidth=0.5, label=r"$\Delta$, $N=3$")
    pl.set_ylim(-0.4, 1.0)
    pl.set_xlim(0.2, 1.8)
    pl.xlabel=r"$f_{10}/f_{IDT}$"
    pl.ylabel=r"$\Delta/\Gamma_{10}^{MAX}$"
    pl.legend(loc='upper right')
    return pl
Esempio n. 2
0
def anton_anharm_plot(fig_width=9, fig_height=6):
    """reproduces anharm plot in Anton's paper"""

    pl = Plotter(fig_width=fig_width, fig_height=fig_height)

    #print qdt.f0*h/qdt.Ec, qdt.epsinf/3.72
    #qdt.Np=10
    #qdt.Ec=qdt.f0*0.1*h

    EjdivEc = linspace(0.1, 300, 3000)
    Ej = EjdivEc * antonqdt.Ec

    print antonqdt.C, antonqdt.C, antonqdt.Ec, antonqdt._get_Ec(antonqdt.C)

    print antonqdt.max_coupling, antonqdt.epsinf, antonqdt.f0 * h / antonqdt.Ec
    E0, E1, E2 = antonqdt._get_transmon_energy_levels(Ej=Ej, n_energy=3)
    anharm = (E2 - E1) - (E1 - E0)

    E0p, E1p, E2p = antonqdt._get_lamb_shifted_transmon_energy_levels(
        Ej=Ej, n_energy=3)

    anharmp = (E2p - E1p) - (E1p - E0p)

    fq = (E1 - E0) / h  #qdt.call_func("fq", Ej=EjdivEc*qdt.Ec)
    ls_fq = (E1p - E0p) / h  #qdt.call_func("lamb_shifted_fq", EjdivEc=EjdivEc)
    fq2 = (E2 - E1) / h
    ls_fq2 = (E2p -
              E1p) / h  #qdt.call_func("lamb_shifted_fq2", EjdivEc=EjdivEc)

    line(fq / antonqdt.f0,
         (anharmp / h - anharm / h) / (2.0 * antonqdt.max_coupling),
         plotter=pl,
         linewidth=0.5,
         color="black",
         label=r"$\Delta_{2,1}-\Delta_{1,0}$")
    line(fq / antonqdt.f0, (ls_fq - fq) / (2.0 * antonqdt.max_coupling),
         plotter=pl,
         color="blue",
         linewidth=0.5,
         label=r"$\Delta_{1,0}$")
    line(fq / antonqdt.f0, (ls_fq2 - fq2) / (2.0 * antonqdt.max_coupling),
         plotter=pl,
         color="red",
         linewidth=0.5,
         label=r"$\Delta_{2,1}$")
    pl.set_ylim(-1.0, 0.6)
    pl.set_xlim(0.7, 1.3)
    pl.xlabel = r"$f_{10}/f_{IDT}$"
    pl.ylabel = r"$\Delta/\Gamma_{10}^{MAX}$"
    pl.legend(loc='lower left')
    #fq=qdt.call_func("lamb_shifted_fq", EjdivEc=EjdivEc)
    #line(EjdivEc, fq, plotter=pl, color="green", linewidth=0.5)

    #line(EjdivEc, E1p, plotter=pl, color="green", linewidth=0.5)
    #line(EjdivEc, E2p, plotter=pl, color="purple", linewidth=0.5)
    return pl
    def ifft_plot(self):
        pl=Plotter(fig_width=6, fig_height=4)

        line("ifft_{}".format(self.name), absolute(fft.ifft(self.Magcom[:,self.on_res_ind])), label="On resonance")
        line("ifft_{}".format(self.name), absolute(fft.ifft(self.Magcom[:,0])), label="Off resonance", color="red")
        pl.legend()
        pl.set_xlim(0, 100)
        pl.xlabel="Time (#)"
        pl.ylabel="Absolute Magnitude"
        return pl
Esempio n. 4
0
def anharm_plot(qdt, fig_width=9.0, fig_height=6.0, ymin=-1.5, ymax=1.0):
    """Lamb shifted anharmonicity plot"""
    pl=Plotter(fig_width=fig_width, fig_height=fig_height)
    EjdivEc=linspace(0.1, 300, 3000)
    Ej=EjdivEc*qdt.Ec
    E0, E1, E2=qdt._get_transmon_energy_levels(Ej=Ej, n_energy=3)
    anharm=(E2-E1)-(E1-E0)

    E0p, E1p, E2p=qdt._get_lamb_shifted_transmon_energy_levels(Ej=Ej, n_energy=3)

    anharmp=(E2p-E1p)-(E1p-E0p)

    fq= (E1-E0)/h
    ls_fq=(E1p-E0p)/h
    fq2=(E2-E1)/h
    ls_fq2=(E2p-E1p)/h

    line(EjdivEc, anharm/h/1e9, plotter=pl, linewidth=0.5, color="purple", label=r"anharm")
    line(EjdivEc, anharmp/h/1e9, plotter=pl, linewidth=0.5, color="black", label=r"ls anharm")
    line(EjdivEc, (ls_fq-fq)/1e9, plotter=pl, color="blue", linewidth=0.5, label=r"$\Delta_{1,0}$")
    line(EjdivEc, (ls_fq2-fq2)/1e9, plotter=pl, color="red", linewidth=0.5, label=r"$\Delta_{2,1}$")
    pl.set_ylim(ymin, ymax)
    #pl.set_xlim(0.7, 1.3)
    pl.xlabel=r"$E_J/E_C$"
    pl.ylabel=r"$\Delta$ (GHz)"
    pl.legend(loc='lower left')
    #pl.set_ylim(-2, 1.5)
    #pl.set_xlim(0.0, 70)

    #anharm=qdt.call_func("anharm", EjdivEc=EjdivEc)
    #anharmp=qdt.call_func("lamb_shifted_anharm", EjdivEc=EjdivEc)
    #fq=qdt.call_func("fq", Ej=EjdivEc*qdt.Ec)
    #ls_fq=qdt.call_func("lamb_shifted_fq", EjdivEc=EjdivEc)
    #ls_fq2=qdt.call_func("lamb_shifted_fq2", EjdivEc=EjdivEc)
    #pl, pf=line(fq, anharm/h, linewidth=0.5, color="black", label=r"$\Delta_{2,1}-\Delta_{1,0}$")

    #pl, pf=line(EjdivEc, anharmp/h/1e9, linewidth=1.0, color="black", label=r"$\Delta_{2,1}-\Delta_{1,0}$", plotter=pl)
    #line(EjdivEc, anharm/h/1e9, linewidth=1.0, color="purple", label=r"anharm", plotter=pl)

    #line(EjdivEc, (ls_fq-fq)/1e9, plotter=pl, color="blue", linewidth=1.0, label=r"$\Delta_{1,0}$")
    #E0, E1, E2=qdt.call_func("transmon_energy_levels", EjdivEc=EjdivEc, n_energy=3)
    #fq2=(E2-E1)/h
    #line(EjdivEc, (ls_fq2-fq2)/1e9, plotter=pl, color="red", linewidth=1.0, label=r"$\Delta_{2,1}$")
    #pl.xlabel=r"$E_j/E_c$"
    #pl.ylabel=r"$\Delta (GHz)$"
    #pl.legend(loc='lower right')
    #fq=qdt.call_func("lamb_shifted_fq", EjdivEc=EjdivEc)
    #line(EjdivEc, fq, plotter=pl, color="green", linewidth=0.5)

    #line(EjdivEc, E1p, plotter=pl, color="green", linewidth=0.5)
    #line(EjdivEc, E2p, plotter=pl, color="purple", linewidth=0.5)
    return pl
def ifft_plot(self):
    pl=Plotter(fig_width=6, fig_height=4)

    line("ifft_{}".format(self.name), absolute(fft.ifft(self.Magcom[:,self.on_res_ind])), label="On resonance")
    line("ifft_{}".format(self.name), absolute(fft.ifft(self.Magcom[:,0])), label="Off resonance", color="red")
    pl.legend()
    pl.set_xlim(0, 100)
    pl.xlabel="Time (#)"
    pl.ylabel="Absolute Magnitude"
    return pl
#ifft_plot(s4a1_mp).show()
        #d.savefig("/Users/thomasaref/Dropbox/Current stuff/Linneaus180416/", "trans_ifft.pdf")
        #d.show()
Esempio n. 6
0
def anton_lamb_shift_plot(fig_width=9.0, fig_height=6.0):
    """reproduces coupling/lamb shift plot in Anton's paper"""
    pl = Plotter(fig_width=fig_width, fig_height=fig_height)
    EjdivEc = linspace(0.1, 300, 10000)
    Ej = EjdivEc * antonqdt.Ec
    #E0, E1, E2=antonqdt._get_transmon_energy_levels(Ej=Ej, n_energy=3)
    fq = antonqdt._get_fq(Ej)
    #anharm=(E2-E1)-(E1-E0)
    #E0p, E1p, E2p=antonqdt._get_lamb_shifted_transmon_energy_levels(Ej=Ej, n_energy=3)
    #anharmp=(E2p-E1p)-(E1p-E0p)
    #fq= (E1-E0)/h#qdt.call_func("fq", Ej=EjdivEc*qdt.Ec)
    coup = antonqdt._get_coupling(fq)
    ls = antonqdt._get_Lamb_shift(fq)
    line(fq / antonqdt.f0,
         2.0 * coup / (2.0 * antonqdt.max_coupling),
         plotter=pl,
         linewidth=0.5,
         color="red",
         label=r"$\Gamma$, $N=10$")
    line(fq / antonqdt.f0,
         ls / (2.0 * antonqdt.max_coupling),
         plotter=pl,
         color="green",
         linewidth=0.5,
         label=r"$\Delta$, $N=10$")

    #antonqdt.Np=3
    Ej = EjdivEc * antonqdt3.Ec
    fq = antonqdt3._get_fq(Ej)
    coup = antonqdt3._get_coupling(fq)
    ls = antonqdt3._get_Lamb_shift(fq)
    line(fq / antonqdt3.f0,
         2.0 * coup / (2.0 * antonqdt3.max_coupling),
         plotter=pl,
         linewidth=0.5,
         color="blue",
         label=r"$\Gamma$, $N=3$")
    line(fq / antonqdt3.f0,
         ls / (2.0 * antonqdt3.max_coupling),
         plotter=pl,
         color="black",
         linewidth=0.5,
         label=r"$\Delta$, $N=3$")
    pl.set_ylim(-0.4, 1.0)
    pl.set_xlim(0.2, 1.8)
    pl.xlabel = r"$f_{10}/f_{IDT}$"
    pl.ylabel = r"$\Delta/\Gamma_{10}^{MAX}$"
    pl.legend(loc='upper right')
    return pl
Esempio n. 7
0
    def ifft_plot(self):
        pl = Plotter(fig_width=6, fig_height=4)

        line("ifft_{}".format(self.name),
             absolute(fft.ifft(self.Magcom[:, self.on_res_ind])),
             label="On resonance")
        line("ifft_{}".format(self.name),
             absolute(fft.ifft(self.Magcom[:, 0])),
             label="Off resonance",
             color="red")
        pl.legend()
        pl.set_xlim(0, 100)
        pl.xlabel = "Time (#)"
        pl.ylabel = "Absolute Magnitude"
        return pl
Esempio n. 8
0
def ifft_plot(self):
    pl = Plotter(fig_width=6, fig_height=4)

    line("ifft_{}".format(self.name),
         absolute(fft.ifft(self.Magcom[:, self.on_res_ind])),
         label="On resonance")
    line("ifft_{}".format(self.name),
         absolute(fft.ifft(self.Magcom[:, 0])),
         label="Off resonance",
         color="red")
    pl.legend()
    pl.set_xlim(0, 100)
    pl.xlabel = "Time (#)"
    pl.ylabel = "Absolute Magnitude"
    return pl


#ifft_plot(s4a1_mp).show()
#d.savefig("/Users/thomasaref/Dropbox/Current stuff/Linneaus180416/", "trans_ifft.pdf")
#d.show()
Esempio n. 9
0
def anton_anharm_plot(fig_width=9, fig_height=6):
    """reproduces anharm plot in Anton's paper"""

    pl=Plotter(fig_width=fig_width, fig_height=fig_height)

    #print qdt.f0*h/qdt.Ec, qdt.epsinf/3.72
    #qdt.Np=10
    #qdt.Ec=qdt.f0*0.1*h

    EjdivEc=linspace(0.1, 300, 3000)
    Ej=EjdivEc*antonqdt.Ec

    print antonqdt.C, antonqdt.C, antonqdt.Ec, antonqdt._get_Ec(antonqdt.C)

    print antonqdt.max_coupling, antonqdt.epsinf, antonqdt.f0*h/antonqdt.Ec
    E0, E1, E2=antonqdt._get_transmon_energy_levels(Ej=Ej, n_energy=3)
    anharm=(E2-E1)-(E1-E0)

    E0p, E1p, E2p=antonqdt._get_lamb_shifted_transmon_energy_levels(Ej=Ej, n_energy=3)

    anharmp=(E2p-E1p)-(E1p-E0p)

    fq= (E1-E0)/h#qdt.call_func("fq", Ej=EjdivEc*qdt.Ec)
    ls_fq=(E1p-E0p)/h #qdt.call_func("lamb_shifted_fq", EjdivEc=EjdivEc)
    fq2=(E2-E1)/h
    ls_fq2=(E2p-E1p)/h #qdt.call_func("lamb_shifted_fq2", EjdivEc=EjdivEc)

    line(fq/antonqdt.f0, (anharmp/h-anharm/h)/(2.0*antonqdt.max_coupling), plotter=pl, linewidth=0.5, color="black", label=r"$\Delta_{2,1}-\Delta_{1,0}$")
    line(fq/antonqdt.f0, (ls_fq-fq)/(2.0*antonqdt.max_coupling), plotter=pl, color="blue", linewidth=0.5, label=r"$\Delta_{1,0}$")
    line(fq/antonqdt.f0, (ls_fq2-fq2)/(2.0*antonqdt.max_coupling), plotter=pl, color="red", linewidth=0.5, label=r"$\Delta_{2,1}$")
    pl.set_ylim(-1.0, 0.6)
    pl.set_xlim(0.7, 1.3)
    pl.xlabel=r"$f_{10}/f_{IDT}$"
    pl.ylabel=r"$\Delta/\Gamma_{10}^{MAX}$"
    pl.legend(loc='lower left')
    #fq=qdt.call_func("lamb_shifted_fq", EjdivEc=EjdivEc)
    #line(EjdivEc, fq, plotter=pl, color="green", linewidth=0.5)

    #line(EjdivEc, E1p, plotter=pl, color="green", linewidth=0.5)
    #line(EjdivEc, E2p, plotter=pl, color="purple", linewidth=0.5)
    return pl
Esempio n. 10
0
def anharm_plot(qdt, fig_width=9.0, fig_height=6.0, ymin=-1.5, ymax=1.0):
    """Lamb shifted anharmonicity plot"""
    pl = Plotter(fig_width=fig_width, fig_height=fig_height)
    EjdivEc = linspace(0.1, 300, 3000)
    Ej = EjdivEc * qdt.Ec
    E0, E1, E2 = qdt._get_transmon_energy_levels(Ej=Ej, n_energy=3)
    anharm = (E2 - E1) - (E1 - E0)

    E0p, E1p, E2p = qdt._get_lamb_shifted_transmon_energy_levels(Ej=Ej,
                                                                 n_energy=3)

    anharmp = (E2p - E1p) - (E1p - E0p)

    fq = (E1 - E0) / h
    ls_fq = (E1p - E0p) / h
    fq2 = (E2 - E1) / h
    ls_fq2 = (E2p - E1p) / h

    line(EjdivEc,
         anharm / h / 1e9,
         plotter=pl,
         linewidth=0.5,
         color="purple",
         label=r"anharm")
    line(EjdivEc,
         anharmp / h / 1e9,
         plotter=pl,
         linewidth=0.5,
         color="black",
         label=r"ls anharm")
    line(EjdivEc, (ls_fq - fq) / 1e9,
         plotter=pl,
         color="blue",
         linewidth=0.5,
         label=r"$\Delta_{1,0}$")
    line(EjdivEc, (ls_fq2 - fq2) / 1e9,
         plotter=pl,
         color="red",
         linewidth=0.5,
         label=r"$\Delta_{2,1}$")
    pl.set_ylim(ymin, ymax)
    #pl.set_xlim(0.7, 1.3)
    pl.xlabel = r"$E_J/E_C$"
    pl.ylabel = r"$\Delta$ (GHz)"
    pl.legend(loc='lower left')
    #pl.set_ylim(-2, 1.5)
    #pl.set_xlim(0.0, 70)

    #anharm=qdt.call_func("anharm", EjdivEc=EjdivEc)
    #anharmp=qdt.call_func("lamb_shifted_anharm", EjdivEc=EjdivEc)
    #fq=qdt.call_func("fq", Ej=EjdivEc*qdt.Ec)
    #ls_fq=qdt.call_func("lamb_shifted_fq", EjdivEc=EjdivEc)
    #ls_fq2=qdt.call_func("lamb_shifted_fq2", EjdivEc=EjdivEc)
    #pl, pf=line(fq, anharm/h, linewidth=0.5, color="black", label=r"$\Delta_{2,1}-\Delta_{1,0}$")

    #pl, pf=line(EjdivEc, anharmp/h/1e9, linewidth=1.0, color="black", label=r"$\Delta_{2,1}-\Delta_{1,0}$", plotter=pl)
    #line(EjdivEc, anharm/h/1e9, linewidth=1.0, color="purple", label=r"anharm", plotter=pl)

    #line(EjdivEc, (ls_fq-fq)/1e9, plotter=pl, color="blue", linewidth=1.0, label=r"$\Delta_{1,0}$")
    #E0, E1, E2=qdt.call_func("transmon_energy_levels", EjdivEc=EjdivEc, n_energy=3)
    #fq2=(E2-E1)/h
    #line(EjdivEc, (ls_fq2-fq2)/1e9, plotter=pl, color="red", linewidth=1.0, label=r"$\Delta_{2,1}$")
    #pl.xlabel=r"$E_j/E_c$"
    #pl.ylabel=r"$\Delta (GHz)$"
    #pl.legend(loc='lower right')
    #fq=qdt.call_func("lamb_shifted_fq", EjdivEc=EjdivEc)
    #line(EjdivEc, fq, plotter=pl, color="green", linewidth=0.5)

    #line(EjdivEc, E1p, plotter=pl, color="green", linewidth=0.5)
    #line(EjdivEc, E2p, plotter=pl, color="purple", linewidth=0.5)
    return pl