Replication Data for: Atomic-optical interferometry in fractured loops: a general solution for Rydberg radio frequency receivers
收藏DataCite Commons2024-12-10 更新2025-04-15 收录
下载链接:
https://dataverse.harvard.edu/citation?persistentId=doi:10.7910/DVN/TLKOJT
下载链接
链接失效反馈官方服务:
资源简介:
<h1>Simulation Data</h1>
The <code>.npy</code> and <code>.npz</code> files store the results of simulations that are visualized in Figure 3 and Figures 5-12. For all plots we use Matplotlib and Numpy packages. Variable <code>path</code> is the path to de storage with data.
<h3>Plotting the Fig. 3 - a4p_mode_evol</h3>
<code><pre>
import matplotlib.pyplot as plt
import numpy as np
plot_data = np.load(path + r"\a4p_mode_evol.npy")
re01 = np.real(plot_data[:, 1, 0])
im01 = np.imag(plot_data[:, 1, 0])
p11 = plot_data[:, 1, 1]
x = np.linspace(0, 3, p11.shape[0])
fig, axes = plt.subplots(nrows=3, figsize=(6, 5), sharex=True)
axes[0].set_ylabel(r"$\text{Im}{\tilde{\boldsymbol{\rho}}_{10}}$")
axes[0].plot(x, im01, label=r"$\text{Im}{\tilde{\boldsymbol{\rho}}_{01}}$")
axes[1].set_ylabel(r"$\text{Re}{\tilde{\boldsymbol{\rho}}_{10}}$")
axes[1].plot(x, re01, label=r"$\text{Re}{\tilde{\boldsymbol{\rho}}_{01}}$")
axes[2].set_ylabel(r"$\tilde{\boldsymbol{\rho}}_{11}$")
axes[2].plot(x, p11.real, label=r"$\tilde{\boldsymbol{\rho}}_{11}$")
axes[2].set_xlabel(r"$\delta t$ [$2\pi$ rad]")
fig.tight_layout()
plt.show()
</pre></code>
<h3>Plotting the Fig. 5 - mod_transfer_gamma_transit_lo_delta</h3>
<code><pre>
import matplotlib.pyplot as plt
import numpy as np
plot_data = np.load(path + r"\mod_transfer_gamma_transit_lo_delta.npy")
fig, ax = plt.subplots(figsize=(6, 6))
omega_seq = np.linspace(0.05, 15, 500)
delta_seq = np.linspace(-7.5, 7.5, 500)
obj = ax.imshow(
plot_data,
cmap="YlOrRd",
interpolation="none",
extent=[omega_seq[0], omega_seq[-1], delta_seq[0], delta_seq[-1]],
aspect="equal",
)
ax.set_xlabel("$\Omega_{LO}$ [$2 \pi \cdot$MHz]")
ax.set_ylabel("$\delta$ [$2 \pi \cdot$MHz]")
ax.set_title("$\Omega_{LS} = 0.05 \cdot$$2 \pi \cdot$MHz")
cbar = fig.colorbar(obj, ax=ax, fraction=0.05, pad=0.04)
cbar.set_label(r"$|\alpha_{01}^{(1)}|$")
fig.show()
</pre></code>
<h3>Plotting the Fig. 6 - mod_transfer_gamma_transit_ls_compare_1_2</h3>
<code><pre>
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import numpy as np
plot_data_1, plot_data_2 = np.load(
path + r"\mod_transfer_gamma_transit_ls_compare_1_2.npy"
)
omega_seq = np.linspace(0.05, 15, 500)
delta_seq = np.linspace(-7.5, 7.5, 500)
fig = plt.figure(figsize=(14, 6))
gs = gridspec.GridSpec(1, 3, width_ratios=[1, 1, 0.05], wspace=0)
kwargs = {
"cmap": "YlOrRd",
"interpolation": "none",
"extent": [omega_seq[0], omega_seq[-1], delta_seq[0], delta_seq[-1]],
"aspect": "equal",
"vmin": min(np.abs(plot_data_1).min(), np.abs(plot_data_2).min()),
"vmax": max(np.abs(plot_data_1).max(), np.abs(plot_data_2).max()),
}
ax1 = fig.add_subplot(gs[0])
ax2 = fig.add_subplot(gs[1])
im1 = ax1.imshow(np.abs(plot_data_1), **kwargs)
ax1.set_ylabel("$\delta$ [$2 \pi \cdot$MHz]")
ax1.set_xlabel("$\Omega_{LS}$ [$2 \pi \cdot$MHz]")
ax1.set_title(r"$d = 1$")
im2 = ax2.imshow(np.abs(plot_data_2), **kwargs)
ax2.set_ylabel("$\delta$ [$2 \pi \cdot$MHz]")
ax2.set_xlabel("$\Omega_{LS}$ [$2 \pi \cdot$MHz]")
ax2.set_title(r"$d = 2$")
ax2.get_yaxis().set_tick_params(labelleft=False)
ax2.set_ylabel("")
cbar_ax = fig.add_subplot(gs[2])
cbar = fig.colorbar(im1, cax=cbar_ax, fraction=0.05, pad=0.04)
cbar.set_label(r"$|\alpha_{01}^{(d)}|$")
fig.show()
</pre></code>
<h3>Plotting the Fig. 7 - bandwidth_gamma_transit_ls</h3>
<code><pre>
import matplotlib.pyplot as plt
import numpy as np
color0, color1, color2 = ("#FF4500", "#FFB6C1", "#800080")
plot_data_bandwidth = np.load(
path + r"\bandwidth_gamma_transit_ls_plot_data_bandwidth.npy"
)
plot_data_mod_transfer = np.load(
path + r"\bandwidth_gamma_transit_ls_plot_data_mod_transfer.npy"
)
fig, ax1 = plt.subplots()
ax1.set_xlabel(r"$\Omega_{LS}~[2\pi \cdot$MHz]")
ax1.set_ylabel(r"Bandwidth [$2\pi \cdot$MHz]")
ax1.plot(*plot_data_bandwidth, color="blue", label="Bandwidth")
ax1.tick_params(axis="y")
move = 0.1
ax1.set_ylim(plot_data_bandwidth[1].min() - move, plot_data_bandwidth[1].max() + move)
ax2 = ax1.twinx()
ax2.set_ylabel(r"$|\alpha_{01}^{(1)}|$")
ax2.plot(
*plot_data_mod_transfer,
color=color2,
label=r"$|\alpha_{01}^{(1)}(\delta = 0)|$",
)
ax2.tick_params(axis="y")
fig.legend(loc="lower left", bbox_to_anchor=(0.17, 0.15))
fig.tight_layout()
</pre></code>
<h3>Plotting the Fig. 8 - calculated detuned smaller peak heights</h3>
<code><pre>
import matplotlib.pyplot as plt
import numpy as np
color0, color1, color2 = ("#FF4500", "#FFB6C1", "#800080")
plot_data_bandwidth = np.load(
path + r"\bandwidth_gamma_transit_lo_plot_data_bandwidth.npy"
)
plot_data_mod_transfer = np.load(
path + r"\bandwidth_gamma_transit_lo_plot_data_mod_transfer.npy"
)
fig, ax1 = plt.subplots()
ax1.set_xlabel(r"$\Omega_{LO}~[2\pi \cdot$MHz]")
ax1.set_ylabel(r"Bandwidth [$2\pi \cdot$MHz]")
ax1.plot(*plot_data_bandwidth, color="blue", label="Bandwidth")
ax1.tick_params(axis="y")
move = 0.1
ax1.set_ylim(plot_data_bandwidth[1].min() - move, plot_data_bandwidth[1].max() + move)
ax2 = ax1.twinx()
ax2.set_ylabel(r"$|\alpha_{01}^{(1)}|$")
ax2.plot(
*plot_data_mod_transfer,
color=color2,
label=r"$|\alpha_{01}^{(1)}(\delta = 0)|$",
)
ax2.tick_params(axis="y")
fig.legend(loc="lower left", bbox_to_anchor=(0.17, 0.15))
fig.tight_layout()
fig.show()
</pre></code>
<h3>Plotting the Fig. 9 - mod_transfer_cold_lo_delta</h3>
<code><pre>
plot_data = np.load(path + r"\mod_transfer_cold_lo_delta.npy")
fig, ax = plt.subplots(figsize=(6, 6))
omega_seq = np.linspace(0.05, 15, 500)
delta_seq = np.linspace(-7.5, 7.5, 500)
obj = ax.imshow(
plot_data,
cmap="YlOrRd",
interpolation="none",
extent=[omega_seq[0], omega_seq[-1], delta_seq[0], delta_seq[-1]],
aspect="equal",
)
ax.set_xlabel("$\Omega_{LO}$ [$2 \pi \cdot$MHz]")
ax.set_ylabel("$\delta$ [$2 \pi \cdot$MHz]")
ax.set_title("$\Omega_{LS} = 0.05 \cdot$$2 \pi \cdot$MHz")
cbar = fig.colorbar(obj, ax=ax, fraction=0.05, pad=0.04)
cbar.set_label(r"$|\alpha_{01}^{(1)}|$")
fig.show()
</pre></code>
<h3>Plotting the Fig. 10 - mod_transfer_cold_ls_compare_1_2_3</h3>
<code><pre>
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import numpy as np
plot_data_1, plot_data_2, plot_data_3 = np.load(
path + r"\mod_transfer_cold_ls_compare_1_2_3.npy"
)
fig = plt.figure(figsize=(18, 6))
gs = gridspec.GridSpec(1, 4, width_ratios=[1, 1, 1, 0.05], wspace=0.3)
omega_seq = np.linspace(0.05, 15, 500)
delta_seq = np.linspace(-7.5, 7.5, 500)
kwargs = {
"cmap": "YlOrRd",
"interpolation": "none",
"extent": [omega_seq[0], omega_seq[-1], delta_seq[0], delta_seq[-1]],
"aspect": "equal",
"vmin": min(
np.abs(plot_data_1).min(), np.abs(plot_data_2).min(), np.abs(plot_data_3).min()
), # tripple
"vmax": max(
np.abs(plot_data_1).max(), np.abs(plot_data_2).max(), np.abs(plot_data_3).max()
), # tripple
}
ax1 = fig.add_subplot(gs[0])
ax2 = fig.add_subplot(gs[1])
ax3 = fig.add_subplot(gs[2])
im1 = ax1.imshow(np.abs(plot_data_1), **kwargs)
ax1.set_ylabel("$\delta$ [$2 \pi \cdot$MHz]")
ax1.set_xlabel("$\Omega_{LS}$ [$2 \pi \cdot$MHz]")
ax1.set_title(r"$d = 1$")
im2 = ax2.imshow(np.abs(plot_data_2), **kwargs)
ax2.set_ylabel("$\delta$ [$2 \pi \cdot$MHz]")
ax2.set_xlabel("$\Omega_{LS}$ [$2 \pi \cdot$MHz]")
ax2.set_title(r"$d = 2$")
ax2.get_yaxis().set_tick_params(labelleft=False)
ax2.set_ylabel("")
im3 = ax3.imshow(np.abs(plot_data_3), **kwargs)
ax3.set_ylabel("$\delta$ [$2 \pi \cdot$MHz]")
ax3.set_xlabel("$\Omega_{LS}$ [$2 \pi \cdot$MHz]")
ax3.get_yaxis().set_tick_params(labelleft=False)
ax3.set_ylabel("")
ax3.set_title(r"$d = 3$")
cbar_ax = fig.add_subplot(gs[3])
cbar = fig.colorbar(im1, cax=cbar_ax, fraction=0.05, pad=0.04)
cbar.set_label(r"$|\alpha_{01}^{(d)}|$")
fig.show()
</pre></code>
<h3>Plotting the Fig. 11 - mod_compare_delta_demod</h3>
<code><pre>
import matplotlib.pyplot as plt
import numpy as np
plot_data = np.load(path + r"\mod_compare_delta_demod.npy")
omega_seq = np.linspace(0.05, 15, 500)
for m in [1, 2, 3]:
plt.plot(
omega_seq,
plot_data[m - 1, :],
label=rf"$m = {m}$",
)
plt.legend()
plt.ylabel(r"$|\tilde{\boldsymbol{\rho}}_{01}^{m}$|")
plt.xlabel("$\Omega_{LS}$ [$2 \pi \cdot$MHz]")
plt.yscale("log")
</pre></code>
<h3>Plotting the Fig. 12 - mode_comparison_lattice</h3>
<code><pre>
import numpy as np
import matplotlib.pyplot as plt
data = np.load(path + r"\mode_comparison_lattice.npz")
lst = data.files
plot_data = [data[item] for item in lst]
fig, axes = plt.subplots(2, 2, figsize=(10, 8))
axes = axes.ravel()
full_N_seq = list(range(3, 16, 2))
mode_to_check = [0, 1, 2, 3]
for i, pd in enumerate(plot_data):
ax = axes[i]
ax.scatter(full_N_seq[-len(pd) :], pd)
ax.set_ylabel(
f"|$\\tilde{{\\boldsymbol{{\\rho}}}}_{{10}}^{{({mode_to_check[i]})}}$|"
)
ax.set_xlabel("N")
ax.set_xticks(np.arange(1, max(full_N_seq) + 1, 2))
ax.set_title(f"$m$ = {mode_to_check[i]}")
plt.tight_layout()
</pre></code>
提供机构:
Harvard Dataverse
创建时间:
2024-12-06



