monster commit. sorry
|
@ -476,6 +476,7 @@ See cite:Binder2018.
|
|||
- spectral separation is important
|
||||
- detuning is important -> only then non-markov effects
|
||||
**** TODO cite:Uzdin2015Sep repro of cite:Klatzow2019Mar
|
||||
|
||||
- transient effects missing
|
||||
- deviations for long modulation periods, or large actions
|
||||
**** TODO stroke based on coupling modulation, my energy shovel
|
||||
|
|
Before Width: | Height: | Size: 349 KiB |
Before Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 162 KiB |
Before Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 239 KiB |
|
@ -71,7 +71,7 @@ k_models = [
|
|||
for k in np.arange(2, 12, 2)
|
||||
][0:3]
|
||||
|
||||
aux.integrate_multi(k_models, 450_000)
|
||||
aux.integrate_multi(k_models, 1)
|
||||
|
||||
f, ax = plot_interaction_consistency(
|
||||
k_models,
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[FFT]
|
||||
use_normalized_diff = True
|
|
@ -0,0 +1 @@
|
|||
{}
|
|
@ -1,2 +1,2 @@
|
|||
use_flake
|
||||
use_flake --impure
|
||||
eval "$shellHook"
|
||||
|
|
|
@ -9,7 +9,7 @@ import plot_utils as pu
|
|||
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init()
|
||||
ray.init(address="auto")
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
|
@ -23,10 +23,11 @@ import pathlib
|
|||
Δ = 5
|
||||
|
||||
for ω_c in ωs:
|
||||
goal = .4
|
||||
final, strobe_t, strobe_indices = es.optimize_for_interaction_energy(
|
||||
goal,
|
||||
periods_for_optimization=4,
|
||||
samples_for_optimization=5,
|
||||
periods_for_optimization=10,
|
||||
samples_for_optimization=500,
|
||||
Δ=Δ,
|
||||
periods=50,
|
||||
modulate_system=False,
|
||||
|
@ -38,23 +39,20 @@ for ω_c in ωs:
|
|||
)
|
||||
|
||||
ω_models.append(final.copy())
|
||||
ω_models_display = [ω_models[0]] + ω_models[4::2]
|
||||
|
||||
ω_models[5].δ
|
||||
|
||||
aux.integrate_multi(ω_models, 10_000)
|
||||
|
||||
for model, data in aux.model_data_iterator(ω_models):
|
||||
model.interaction_energy(data)
|
||||
model.total_energy_from_power(data)
|
||||
aux.integrate_multi(ω_models, 1, data_path=".data_taurus")
|
||||
|
||||
print(es.models_table(ω_models))
|
||||
|
||||
plt.plot(ωs, [model.full_thermal_bcf(0).real * model.bcf_scale for model in ω_models])
|
||||
# plt.plot(ωs, [model.bcf_scale for model in ω_models])
|
||||
|
||||
for model in ω_models[::4]:
|
||||
for model in ω_models_display:
|
||||
plt.plot(model.t, abs(model.bcf_scale * model.full_thermal_bcf(model.t)), label=fr"$\omega_c={model.ω_c:.2f}$")
|
||||
plt.xlim(0,10)
|
||||
plt.xlim(-.1,10)
|
||||
plt.legend()
|
||||
|
||||
for model in ω_models:
|
||||
|
@ -63,9 +61,9 @@ for model in ω_models:
|
|||
plt.xlim(-.1, 6)
|
||||
|
||||
ωs = np.linspace(.01, 30, 1000)
|
||||
for model in ω_models[::4]:
|
||||
plt.plot(ωs, model.bcf_scale * model.spectral_density(ωs), linewidth=1, label=fr"$\omega_c={model.ω_c:.2f}$")
|
||||
plt.legend()
|
||||
for model in ω_models_display:
|
||||
plt.plot(ωs, model.bcf_scale * model.spectral_density(ωs), linewidth=.8, label=fr"$\omega_c={model.ω_c:.2f}$")
|
||||
plt.legend(fontsize="x-small")
|
||||
plt.xlabel(r"$\omega$")
|
||||
plt.ylabel(r"$J(\omega)$")
|
||||
|
||||
|
@ -78,23 +76,22 @@ plt.plot(ωs, bath_scales)
|
|||
|
||||
fig, ax = plt.subplots()
|
||||
ax.axhline(0, color="gray")
|
||||
for model, data in aux.model_data_iterator(ω_models):
|
||||
for model, data in aux.model_data_iterator(ω_models_display, data_path=".data_taurus"):
|
||||
_, _, bar = pu.plot_with_σ(
|
||||
model.t,
|
||||
model.interaction_energy(data).for_bath(0),
|
||||
ax=ax,
|
||||
label=fr"$\omega_c={model.ω_c:.2f}$",
|
||||
)
|
||||
ax.set_xlim(0, model.t[strobe_indices][3])
|
||||
ax.set_xlim(0, model.t[strobe_indices][10])
|
||||
ax.set_ylabel(r"$\langle H_\mathrm{I}\rangle$")
|
||||
ax.set_xlabel(r"$\tau$")
|
||||
ax.legend()
|
||||
#fs.export_fig("omega_interactions", fig, tikz=False, x_scaling=.49, y_scaling=.3)
|
||||
fs.export_fig("omega_interactions", fig, tikz=False, x_scaling=.49, y_scaling=.3)
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
import scipy
|
||||
|
||||
for model, data in aux.model_data_iterator(ω_models):
|
||||
for model, data in aux.model_data_iterator(ω_models_display, data_path=".data_taurus"):
|
||||
energy = model.total_energy_from_power(data) * (1 / es.ergo(model.T))
|
||||
_, _, bar = pu.plot_with_σ(
|
||||
model.t,
|
||||
|
@ -131,17 +128,17 @@ for model, data in aux.model_data_iterator(ω_models):
|
|||
e_s = energy.value[strobe_indices]
|
||||
|
||||
|
||||
ind_min = e_s.argmin()
|
||||
ind_min = e_s[:20].argmin()
|
||||
t_min = ts[ind_min]
|
||||
e_min = e_s[ind_min]
|
||||
|
||||
ax.axvline(
|
||||
t_min,
|
||||
color=bar.lines[0].get_color(),
|
||||
ymin=0,
|
||||
ymax=abs((e_min + 0.41) / (0.45 + 0.1)),
|
||||
linestyle="dotted",
|
||||
)
|
||||
# ax.axvline(
|
||||
# t_min,
|
||||
# color=bar.lines[0].get_color(),
|
||||
# ymin=0,
|
||||
# ymax=abs((e_min + 0.41) / (0.45 + 0.1)),
|
||||
# linestyle="dotted",
|
||||
# )
|
||||
ax.axhline(
|
||||
e_min,
|
||||
color=bar.lines[0].get_color(),
|
||||
|
@ -158,14 +155,14 @@ ax.set_ylabel(r"$(\langle H\rangle_\tau -\langle H\rangle_0)/\mathcal{W}_\mathrm
|
|||
ax.set_xlim(0, model.t.max())
|
||||
ax.set_ylim(-0.41, 0.1)
|
||||
ax.legend()
|
||||
fs.export_fig("omegas_total", tikz=False, y_scaling=0.4)
|
||||
fs.export_fig("omegas_total", tikz=False, y_scaling=0.5)
|
||||
|
||||
import scipy
|
||||
|
||||
opt_powers = []
|
||||
opt_energies = []
|
||||
memories = []
|
||||
for model, data in aux.model_data_iterator(ω_models):
|
||||
for model, data in aux.model_data_iterator(ω_models[:1] + ω_models[2:], data_path=".data_taurus"):
|
||||
energy = model.total_energy_from_power(data)
|
||||
ts = model.t[strobe_indices]
|
||||
e_s = energy.value[strobe_indices]
|
||||
|
@ -213,7 +210,7 @@ ax2.set_ylabel(
|
|||
# smooth_mem = np.linspace(memories[0], memories[-1], 1000)
|
||||
# ax.plot(smooth_mem, f(smooth_mem, *opt)) #
|
||||
plt.axvline(1 * np.pi * 2/Δ, color="gray", linestyle="dotted")
|
||||
fs.export_fig("omega_energies_and_powers", fig, tikz=False, x_scaling=.5, y_scaling=.35)
|
||||
fs.export_fig("omega_energies_and_powers", fig, tikz=False, y_scaling=.4)
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
for model, data in aux.model_data_iterator(ω_models):
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
import energy_shovel as es
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import matplotlib.pyplot as plt
|
||||
import utilities as ut
|
||||
import figsaver as fs
|
||||
import hiro_models.model_auxiliary as aux
|
||||
import plot_utils as pu
|
||||
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init()
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO, show_stocproc=False)
|
||||
|
||||
import scipy
|
||||
import pathlib
|
||||
|
||||
ωs = np.linspace(.5, 2.1, 15)
|
||||
ω_models = []
|
||||
Δ = 5
|
||||
|
||||
for ω_c in ωs:
|
||||
goal = .4
|
||||
final, strobe_t, strobe_indices = es.optimize_for_interaction_energy(
|
||||
goal,
|
||||
periods_for_optimization=4,
|
||||
samples_for_optimization=5,
|
||||
Δ=Δ,
|
||||
periods=50,
|
||||
modulate_system=False,
|
||||
δ=.1,
|
||||
ω_c=ω_c,
|
||||
k_max = 5,
|
||||
therm_method="fft"
|
||||
|
||||
)
|
||||
|
||||
ω_models.append(final.copy())
|
||||
|
||||
ω_models[5].δ
|
||||
|
||||
aux.integrate_multi(ω_models, 10_000)
|
||||
|
||||
for model, data in aux.model_data_iterator(ω_models):
|
||||
model.interaction_energy(data)
|
||||
model.total_energy_from_power(data)
|
||||
|
||||
print(es.models_table(ω_models))
|
|
@ -0,0 +1,87 @@
|
|||
import energy_shovel as es
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import matplotlib.pyplot as plt
|
||||
import utilities as ut
|
||||
import figsaver as fs
|
||||
import hiro_models.model_auxiliary as aux
|
||||
import plot_utils as pu
|
||||
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init(address="auto")
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO, show_stocproc=False)
|
||||
|
||||
import scipy
|
||||
import pathlib
|
||||
|
||||
ω_models = []
|
||||
Δ = 5
|
||||
|
||||
goal = .4
|
||||
model, strobe_t, strobe_indices = es.optimize_for_interaction_energy(
|
||||
goal,
|
||||
periods_for_optimization=10,
|
||||
samples_for_optimization=500,
|
||||
Δ=Δ,
|
||||
periods=100,
|
||||
modulate_system=False,
|
||||
δ=.1,
|
||||
ω_c=.5,
|
||||
k_max = 6,
|
||||
therm_method="fft"
|
||||
)
|
||||
|
||||
aux.integrate(model, 1, data_path=".data_taurus")
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
import scipy
|
||||
|
||||
with aux.get_data(model, data_path=".data_taurus") as data:
|
||||
energy = model.total_energy_from_power(data) * (1 / es.ergo(model.T))
|
||||
pu.plot_with_σ(
|
||||
model.t,
|
||||
energy,
|
||||
ax=ax,
|
||||
# label=fr"$ω_c={model.ω_c:.2f}$",
|
||||
# strobe_frequency=Δ,
|
||||
)
|
||||
|
||||
# τ_off = 1 / (model.bcf_coefficients()[1][0].real.min())
|
||||
# # a0 = abs(model.bcf(0))
|
||||
# # τ_off = scipy.optimize.fsolve(lambda τ: abs(model.bcf(τ)) - (a0/300), 10)
|
||||
# ax.axvline(
|
||||
# τ_off,
|
||||
# color=bar.lines[0].get_color(),
|
||||
# linestyle="dotted",
|
||||
# linewidth=1,
|
||||
# zorder=-1,
|
||||
# )
|
||||
|
||||
ts = model.t[strobe_indices]
|
||||
e_s = energy.value[strobe_indices]
|
||||
|
||||
|
||||
ind_min = e_s[:20].argmin()
|
||||
t_min = ts[ind_min]
|
||||
e_min = e_s[ind_min]
|
||||
|
||||
# ax.axvline(
|
||||
# t_min,
|
||||
# color=bar.lines[0].get_color(),
|
||||
# ymin=0,
|
||||
# ymax=abs((e_min + 0.41) / (0.45 + 0.1)),
|
||||
# linestyle="dotted",
|
||||
# )
|
||||
|
||||
|
||||
ax.set_xlabel(r"$\tau$")
|
||||
ax.set_ylabel(r"$(\langle H\rangle_\tau -\langle H\rangle_0)/\mathcal{W}_\mathrm{max}$")
|
||||
# ax.axhline(, color="grey", linewidth=1, linestyle="dashed")
|
||||
# ax.plot(model.t, model.L.operator_norm(model.t), linewidth=1)
|
||||
ax.set_xlim(0,120)
|
||||
ax.legend()
|
||||
fs.export_fig("total_for_steady", tikz=False, y_scaling=0.5)
|
|
@ -0,0 +1,83 @@
|
|||
import energy_shovel as es
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import matplotlib.pyplot as plt
|
||||
import utilities as ut
|
||||
import figsaver as fs
|
||||
import hiro_models.model_auxiliary as aux
|
||||
import plot_utils as pu
|
||||
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init(address="auto")
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO, show_stocproc=False)
|
||||
|
||||
import scipy
|
||||
import pathlib
|
||||
|
||||
ωs = np.linspace(.5, 2.5, 6)
|
||||
ω_models = []
|
||||
Δ = 5
|
||||
|
||||
for ω_c in ωs:
|
||||
proto, strobe_t, strobe_indices = es.energy_shovel(
|
||||
Δ,
|
||||
periods=3,
|
||||
modulate_system=False,
|
||||
δ=0.01,
|
||||
ω_c = ω_c,
|
||||
)
|
||||
|
||||
proto.k_max = 5
|
||||
proto.therm_method = "fft"
|
||||
|
||||
goal = 0.01
|
||||
|
||||
|
||||
def cost(δ):
|
||||
proto.δ = δ
|
||||
aux.integrate(proto, 200)
|
||||
with aux.get_data(proto) as data:
|
||||
inter = proto.interaction_energy(data)
|
||||
|
||||
return (abs(inter.value).max() - goal) ** 2
|
||||
cache_path = pathlib.Path(f"./.cache/{proto.hexhash}_delta_{goal}.npy")
|
||||
if cache_path.exists():
|
||||
with cache_path.open("rb") as cache:
|
||||
δ = np.load(cache, allow_pickle=True)
|
||||
else:
|
||||
δ = scipy.optimize.minimize_scalar(cost, bounds=(.1, 3), method="bounded", options=dict(xatol=1e-2, disp=3)).x
|
||||
cache_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
with cache_path.open("wb") as cache:
|
||||
np.save(cache, δ)
|
||||
|
||||
final, strobe_t, strobe_indices = es.energy_shovel(
|
||||
Δ,
|
||||
periods=40,
|
||||
modulate_system=False,
|
||||
δ=δ,
|
||||
ω_c=ω_c
|
||||
)
|
||||
final.k_max = 5
|
||||
final.therm_method = "fft"
|
||||
|
||||
ω_models.append(final.copy())
|
||||
|
||||
for model in ω_models:
|
||||
print(model.δ)
|
||||
|
||||
ωs = np.linspace(.01, 30, 1000)
|
||||
for model in ω_models:
|
||||
plt.plot(ωs, model.bcf_scale * model.spectral_density(ωs), linewidth=1, label=fr"$\omega_c={model.ω_c:.2f}$")
|
||||
plt.legend()
|
||||
plt.xlabel(r"$\omega$")
|
||||
plt.ylabel(r"Spectral Density")
|
||||
|
||||
fs.export_fig("omega_sd_weak", tikz=False, x_scaling=.49, y_scaling=.4)
|
||||
|
||||
for model in ω_models:
|
||||
plt.plot(model.t, model.bcf_scale * model.full_thermal_bcf(model.t).real, label=model.ω_c)
|
||||
plt.legend()
|
|
@ -72,7 +72,7 @@ def energy_shovel(
|
|||
)
|
||||
model = QubitModel(**(options | kwargs))
|
||||
|
||||
strobe_t, strobe_indices = ut.strobe_times(model.t, Δ)
|
||||
strobe_t, strobe_indices = ut.strobe_times(model.t, Δ, 1e-2)
|
||||
|
||||
print(fr"\(λ={γ}, Δ={Δ}, T={model.T}\)")
|
||||
return model, strobe_t, strobe_indices
|
||||
|
@ -83,26 +83,29 @@ def ergo(T, ω=1):
|
|||
return T * np.log(1 + np.exp(-ω / T))
|
||||
|
||||
|
||||
def models_table(models, **kwargs):
|
||||
def models_table(models, data_path=".data", **kwargs):
|
||||
"""Print a latex table that shows all relevant model parameters."""
|
||||
|
||||
table = []
|
||||
headers = []
|
||||
|
||||
def make_row(title, accessor):
|
||||
row = [title]
|
||||
for model, data in aux.model_data_iterator(models):
|
||||
row = []
|
||||
headers.append(title)
|
||||
for model, data in aux.model_data_iterator(models, data_path=data_path):
|
||||
row += [f"${accessor(model, data):.2f}$"]
|
||||
|
||||
return [row]
|
||||
|
||||
table += make_row(r"$ω_c$", lambda m, d: m.ω_c)
|
||||
table += make_row(r"$ω_s$", lambda m, d: m.ω_s)
|
||||
table += make_row(r"$α(0)$", lambda m, d: m.bcf_scale * m.full_thermal_bcf(0).real)
|
||||
table += make_row(r"$T$", lambda m, d: m.T)
|
||||
table += make_row(r"$N$", lambda m, d: d.samples)
|
||||
table += make_row(r"$k_{\mathrm{max}}$", lambda m, d: m.k_max)
|
||||
table += make_row(r"BCF Terms", lambda m, d: m.bcf_terms)
|
||||
|
||||
return tabulate(table, **(dict(tablefmt="latex_raw") | kwargs))
|
||||
return tabulate(np.array(table).T, headers, **(dict(tablefmt="latex_raw") | kwargs))
|
||||
|
||||
|
||||
def energy_friction_plot(models, strobe_frequency, strobe_indices):
|
||||
|
|
|
@ -1,957 +0,0 @@
|
|||
%% Creator: Matplotlib, PGF backend
|
||||
%%
|
||||
%% To include the figure in your LaTeX document, write
|
||||
%% \input{<filename>.pgf}
|
||||
%%
|
||||
%% Make sure the required packages are loaded in your preamble
|
||||
%% \usepackage{pgf}
|
||||
%%
|
||||
%% Also ensure that all the required font packages are loaded; for instance,
|
||||
%% the lmodern package is sometimes necessary when using math font.
|
||||
%% \usepackage{lmodern}
|
||||
%%
|
||||
%% Figures using additional raster images can only be included by \input if
|
||||
%% they are in the same directory as the main LaTeX file. For loading figures
|
||||
%% from other directories you can use the `import` package
|
||||
%% \usepackage{import}
|
||||
%%
|
||||
%% and then include the figures with
|
||||
%% \import{<path to file>}{<filename>.pgf}
|
||||
%%
|
||||
%% Matplotlib used the following preamble
|
||||
%% \usepackage{fontspec}
|
||||
%%
|
||||
\begingroup%
|
||||
\makeatletter%
|
||||
\begin{pgfpicture}%
|
||||
\pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{6.489508in}{4.010736in}}%
|
||||
\pgfusepath{use as bounding box, clip}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetmiterjoin%
|
||||
\definecolor{currentfill}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.000000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.500000,0.500000,0.500000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.489508in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.489508in}{4.010736in}}%
|
||||
\pgfpathlineto{\pgfqpoint{0.000000in}{4.010736in}}%
|
||||
\pgfpathlineto{\pgfqpoint{0.000000in}{0.000000in}}%
|
||||
\pgfpathclose%
|
||||
\pgfusepath{fill}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetmiterjoin%
|
||||
\definecolor{currentfill}{rgb}{0.898039,0.898039,0.898039}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.000000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetstrokeopacity{0.000000}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{0.856422in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{0.856422in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{3.751536in}}%
|
||||
\pgfpathlineto{\pgfqpoint{1.302603in}{3.751536in}}%
|
||||
\pgfpathlineto{\pgfqpoint{1.302603in}{0.856422in}}%
|
||||
\pgfpathclose%
|
||||
\pgfusepath{fill}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{2.024337in}{0.856422in}}%
|
||||
\pgfpathlineto{\pgfqpoint{2.024337in}{3.751536in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{0.000000in}{-0.048611in}}{\pgfqpoint{0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{0.000000in}{-0.048611in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{2.024337in}{0.856422in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=2.024337in,y=0.759200in,,top]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont 2}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{3.019833in}{0.856422in}}%
|
||||
\pgfpathlineto{\pgfqpoint{3.019833in}{3.751536in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{0.000000in}{-0.048611in}}{\pgfqpoint{0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{0.000000in}{-0.048611in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{3.019833in}{0.856422in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=3.019833in,y=0.759200in,,top]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont 4}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{4.015329in}{0.856422in}}%
|
||||
\pgfpathlineto{\pgfqpoint{4.015329in}{3.751536in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{0.000000in}{-0.048611in}}{\pgfqpoint{0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{0.000000in}{-0.048611in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{4.015329in}{0.856422in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=4.015329in,y=0.759200in,,top]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont 6}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{5.010825in}{0.856422in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.010825in}{3.751536in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{0.000000in}{-0.048611in}}{\pgfqpoint{0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{0.000000in}{-0.048611in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{5.010825in}{0.856422in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=5.010825in,y=0.759200in,,top]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont 8}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{6.006321in}{0.856422in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.006321in}{3.751536in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{0.000000in}{-0.048611in}}{\pgfqpoint{0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{0.000000in}{-0.048611in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{6.006321in}{0.856422in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=6.006321in,y=0.759200in,,top]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont 10}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=3.766455in,y=0.526045in,,top]{\color{textcolor}\sffamily\fontsize{17.280000}{20.736000}\selectfont \(\displaystyle \Delta\)}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{1.127617in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{1.127617in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{-0.048611in}{0.000000in}}{\pgfqpoint{-0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{-0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{-0.048611in}{0.000000in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{1.302603in}{1.127617in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=0.701425in, y=1.058217in, left, base]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont \ensuremath{-}0.07}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{1.544072in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{1.544072in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{-0.048611in}{0.000000in}}{\pgfqpoint{-0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{-0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{-0.048611in}{0.000000in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{1.302603in}{1.544072in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=0.701425in, y=1.474672in, left, base]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont \ensuremath{-}0.06}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{1.960527in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{1.960527in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{-0.048611in}{0.000000in}}{\pgfqpoint{-0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{-0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{-0.048611in}{0.000000in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{1.302603in}{1.960527in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=0.701425in, y=1.891127in, left, base]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont \ensuremath{-}0.05}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{2.376982in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{2.376982in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{-0.048611in}{0.000000in}}{\pgfqpoint{-0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{-0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{-0.048611in}{0.000000in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{1.302603in}{2.376982in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=0.701425in, y=2.307582in, left, base]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont \ensuremath{-}0.04}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{2.793437in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{2.793437in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{-0.048611in}{0.000000in}}{\pgfqpoint{-0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{-0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{-0.048611in}{0.000000in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{1.302603in}{2.793437in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=0.701425in, y=2.724038in, left, base]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont \ensuremath{-}0.03}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{3.209892in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{3.209892in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{-0.048611in}{0.000000in}}{\pgfqpoint{-0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{-0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{-0.048611in}{0.000000in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{1.302603in}{3.209892in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=0.701425in, y=3.140493in, left, base]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont \ensuremath{-}0.02}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{3.626348in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{3.626348in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\definecolor{currentfill}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetlinewidth{0.803000pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfsys@defobject{currentmarker}{\pgfqpoint{-0.048611in}{0.000000in}}{\pgfqpoint{-0.000000in}{0.000000in}}{%
|
||||
\pgfpathmoveto{\pgfqpoint{-0.000000in}{0.000000in}}%
|
||||
\pgfpathlineto{\pgfqpoint{-0.048611in}{0.000000in}}%
|
||||
\pgfusepath{stroke,fill}%
|
||||
}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsys@transformshift{1.302603in}{3.626348in}%
|
||||
\pgfsys@useobject{currentmarker}{}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=0.701425in, y=3.556948in, left, base]{\color{textcolor}\sffamily\fontsize{14.400000}{17.280000}\selectfont \ensuremath{-}0.01}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=0.645869in,y=2.303979in,,bottom,rotate=90.000000]{\color{textcolor}\sffamily\fontsize{17.280000}{20.736000}\selectfont \(\displaystyle P_\mathrm{max}\)}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{2.024337in}{2.776637in}}%
|
||||
\pgfpathlineto{\pgfqpoint{2.024337in}{2.792545in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{2.522085in}{2.110818in}}%
|
||||
\pgfpathlineto{\pgfqpoint{2.522085in}{2.129971in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{3.019833in}{1.576791in}}%
|
||||
\pgfpathlineto{\pgfqpoint{3.019833in}{1.598600in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{3.517581in}{1.142684in}}%
|
||||
\pgfpathlineto{\pgfqpoint{3.517581in}{1.166123in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{4.015329in}{0.988018in}}%
|
||||
\pgfpathlineto{\pgfqpoint{4.015329in}{1.012495in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{4.513077in}{1.201694in}}%
|
||||
\pgfpathlineto{\pgfqpoint{4.513077in}{1.224657in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{5.010825in}{1.594535in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.010825in}{1.616935in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{5.508573in}{1.697450in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.508573in}{1.719391in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{6.006321in}{2.272752in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.006321in}{2.293008in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.526589in}{3.611429in}}%
|
||||
\pgfpathlineto{\pgfqpoint{1.526589in}{3.619940in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{2.024337in}{2.967248in}}%
|
||||
\pgfpathlineto{\pgfqpoint{2.024337in}{2.976721in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{2.522085in}{2.338267in}}%
|
||||
\pgfpathlineto{\pgfqpoint{2.522085in}{2.350608in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{3.019833in}{2.105453in}}%
|
||||
\pgfpathlineto{\pgfqpoint{3.019833in}{2.118942in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{3.517581in}{2.008872in}}%
|
||||
\pgfpathlineto{\pgfqpoint{3.517581in}{2.022695in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{4.015329in}{2.090042in}}%
|
||||
\pgfpathlineto{\pgfqpoint{4.015329in}{2.103832in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{4.513077in}{2.270940in}}%
|
||||
\pgfpathlineto{\pgfqpoint{4.513077in}{2.283695in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{5.010825in}{2.547772in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.010825in}{2.559888in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{5.508573in}{2.634206in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.508573in}{2.645966in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{6.006321in}{2.974247in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.006321in}{2.984972in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{2.024337in}{2.784591in}}%
|
||||
\pgfpathlineto{\pgfqpoint{2.522085in}{2.120394in}}%
|
||||
\pgfpathlineto{\pgfqpoint{3.019833in}{1.587696in}}%
|
||||
\pgfpathlineto{\pgfqpoint{3.517581in}{1.154404in}}%
|
||||
\pgfpathlineto{\pgfqpoint{4.015329in}{1.000257in}}%
|
||||
\pgfpathlineto{\pgfqpoint{4.513077in}{1.213175in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.010825in}{1.605735in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.508573in}{1.708420in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.006321in}{2.282880in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfpathrectangle{\pgfqpoint{1.302603in}{0.856422in}}{\pgfqpoint{4.927705in}{2.895114in}}%
|
||||
\pgfusepath{clip}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.526589in}{3.615685in}}%
|
||||
\pgfpathlineto{\pgfqpoint{2.024337in}{2.971985in}}%
|
||||
\pgfpathlineto{\pgfqpoint{2.522085in}{2.344437in}}%
|
||||
\pgfpathlineto{\pgfqpoint{3.019833in}{2.112197in}}%
|
||||
\pgfpathlineto{\pgfqpoint{3.517581in}{2.015784in}}%
|
||||
\pgfpathlineto{\pgfqpoint{4.015329in}{2.096937in}}%
|
||||
\pgfpathlineto{\pgfqpoint{4.513077in}{2.277317in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.010825in}{2.553830in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.508573in}{2.640086in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.006321in}{2.979610in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetmiterjoin%
|
||||
\pgfsetlinewidth{1.003750pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{0.856422in}}%
|
||||
\pgfpathlineto{\pgfqpoint{1.302603in}{3.751536in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetmiterjoin%
|
||||
\pgfsetlinewidth{1.003750pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{6.230308in}{0.856422in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{3.751536in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetmiterjoin%
|
||||
\pgfsetlinewidth{1.003750pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{0.856422in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{0.856422in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetmiterjoin%
|
||||
\pgfsetlinewidth{1.003750pt}%
|
||||
\definecolor{currentstroke}{rgb}{1.000000,1.000000,1.000000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{1.302603in}{3.751536in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.230308in}{3.751536in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetmiterjoin%
|
||||
\definecolor{currentfill}{rgb}{0.898039,0.898039,0.898039}%
|
||||
\pgfsetfillcolor{currentfill}%
|
||||
\pgfsetfillopacity{0.800000}%
|
||||
\pgfsetlinewidth{0.501875pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.800000,0.800000,0.800000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetstrokeopacity{0.800000}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{5.043754in}{3.223759in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.133086in}{3.223759in}}%
|
||||
\pgfpathquadraticcurveto{\pgfqpoint{6.160863in}{3.223759in}}{\pgfqpoint{6.160863in}{3.251536in}}%
|
||||
\pgfpathlineto{\pgfqpoint{6.160863in}{3.654314in}}%
|
||||
\pgfpathquadraticcurveto{\pgfqpoint{6.160863in}{3.682092in}}{\pgfqpoint{6.133086in}{3.682092in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.043754in}{3.682092in}}%
|
||||
\pgfpathquadraticcurveto{\pgfqpoint{5.015976in}{3.682092in}}{\pgfqpoint{5.015976in}{3.654314in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.015976in}{3.251536in}}%
|
||||
\pgfpathquadraticcurveto{\pgfqpoint{5.015976in}{3.223759in}}{\pgfqpoint{5.043754in}{3.223759in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.043754in}{3.223759in}}%
|
||||
\pgfpathclose%
|
||||
\pgfusepath{stroke,fill}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{5.210421in}{3.501536in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.210421in}{3.640425in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.886275,0.290196,0.200000}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{5.071532in}{3.570981in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.349310in}{3.570981in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=5.460421in,y=3.522370in,left,base]{\color{textcolor}\sffamily\fontsize{10.000000}{12.000000}\selectfont \(\displaystyle \alpha(0)\) = 1}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetbuttcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{5.210421in}{3.293203in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.210421in}{3.432092in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\pgfsetrectcap%
|
||||
\pgfsetroundjoin%
|
||||
\pgfsetlinewidth{1.505625pt}%
|
||||
\definecolor{currentstroke}{rgb}{0.203922,0.541176,0.741176}%
|
||||
\pgfsetstrokecolor{currentstroke}%
|
||||
\pgfsetdash{}{0pt}%
|
||||
\pgfpathmoveto{\pgfqpoint{5.071532in}{3.362647in}}%
|
||||
\pgfpathlineto{\pgfqpoint{5.349310in}{3.362647in}}%
|
||||
\pgfusepath{stroke}%
|
||||
\end{pgfscope}%
|
||||
\begin{pgfscope}%
|
||||
\definecolor{textcolor}{rgb}{0.000000,0.000000,0.000000}%
|
||||
\pgfsetstrokecolor{textcolor}%
|
||||
\pgfsetfillcolor{textcolor}%
|
||||
\pgftext[x=5.460421in,y=3.314036in,left,base]{\color{textcolor}\sffamily\fontsize{10.000000}{12.000000}\selectfont \(\displaystyle \alpha(0)\) = 0.5}%
|
||||
\end{pgfscope}%
|
||||
\end{pgfpicture}%
|
||||
\makeatother%
|
||||
\endgroup%
|
|
@ -1,925 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="467.244556pt" height="288.773017pt" viewBox="0 0 467.244556 288.773017" xmlns="http://www.w3.org/2000/svg" version="1.1">
|
||||
<metadata>
|
||||
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
||||
<cc:Work>
|
||||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||
<dc:date>1980-01-01T00:00:00+00:00</dc:date>
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Matplotlib v3.5.2, https://matplotlib.org/</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs>
|
||||
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
|
||||
</defs>
|
||||
<g id="figure_1">
|
||||
<g id="patch_1">
|
||||
<path d="M 0 288.773017
|
||||
L 467.244556 288.773017
|
||||
L 467.244556 0
|
||||
L 0 0
|
||||
z
|
||||
" style="fill: #ffffff"/>
|
||||
</g>
|
||||
<g id="axes_1">
|
||||
<g id="patch_2">
|
||||
<path d="M 93.7874 227.110617
|
||||
L 448.582156 227.110617
|
||||
L 448.582156 18.6624
|
||||
L 93.7874 18.6624
|
||||
z
|
||||
" style="fill: #e5e5e5"/>
|
||||
</g>
|
||||
<g id="matplotlib.axis_1">
|
||||
<g id="xtick_1">
|
||||
<g id="line2d_1">
|
||||
<path d="M 145.752289 227.110617
|
||||
L 145.752289 18.6624
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_2">
|
||||
<defs>
|
||||
<path id="mcdb5fb23df" d="M 0 0
|
||||
L 0 3.5
|
||||
" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</defs>
|
||||
<g>
|
||||
<use xlink:href="#mcdb5fb23df" x="145.752289" y="227.110617" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_1">
|
||||
<!-- 2 -->
|
||||
<g transform="translate(141.171289 245.052367)scale(0.144 -0.144)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-32" d="M 1228 531
|
||||
L 3431 531
|
||||
L 3431 0
|
||||
L 469 0
|
||||
L 469 531
|
||||
Q 828 903 1448 1529
|
||||
Q 2069 2156 2228 2338
|
||||
Q 2531 2678 2651 2914
|
||||
Q 2772 3150 2772 3378
|
||||
Q 2772 3750 2511 3984
|
||||
Q 2250 4219 1831 4219
|
||||
Q 1534 4219 1204 4116
|
||||
Q 875 4013 500 3803
|
||||
L 500 4441
|
||||
Q 881 4594 1212 4672
|
||||
Q 1544 4750 1819 4750
|
||||
Q 2544 4750 2975 4387
|
||||
Q 3406 4025 3406 3419
|
||||
Q 3406 3131 3298 2873
|
||||
Q 3191 2616 2906 2266
|
||||
Q 2828 2175 2409 1742
|
||||
Q 1991 1309 1228 531
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-32"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="xtick_2">
|
||||
<g id="line2d_3">
|
||||
<path d="M 217.427997 227.110617
|
||||
L 217.427997 18.6624
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_4">
|
||||
<g>
|
||||
<use xlink:href="#mcdb5fb23df" x="217.427997" y="227.110617" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_2">
|
||||
<!-- 4 -->
|
||||
<g transform="translate(212.846997 245.052367)scale(0.144 -0.144)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-34" d="M 2419 4116
|
||||
L 825 1625
|
||||
L 2419 1625
|
||||
L 2419 4116
|
||||
z
|
||||
M 2253 4666
|
||||
L 3047 4666
|
||||
L 3047 1625
|
||||
L 3713 1625
|
||||
L 3713 1100
|
||||
L 3047 1100
|
||||
L 3047 0
|
||||
L 2419 0
|
||||
L 2419 1100
|
||||
L 313 1100
|
||||
L 313 1709
|
||||
L 2253 4666
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-34"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="xtick_3">
|
||||
<g id="line2d_5">
|
||||
<path d="M 289.103705 227.110617
|
||||
L 289.103705 18.6624
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_6">
|
||||
<g>
|
||||
<use xlink:href="#mcdb5fb23df" x="289.103705" y="227.110617" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_3">
|
||||
<!-- 6 -->
|
||||
<g transform="translate(284.522705 245.052367)scale(0.144 -0.144)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-36" d="M 2113 2584
|
||||
Q 1688 2584 1439 2293
|
||||
Q 1191 2003 1191 1497
|
||||
Q 1191 994 1439 701
|
||||
Q 1688 409 2113 409
|
||||
Q 2538 409 2786 701
|
||||
Q 3034 994 3034 1497
|
||||
Q 3034 2003 2786 2293
|
||||
Q 2538 2584 2113 2584
|
||||
z
|
||||
M 3366 4563
|
||||
L 3366 3988
|
||||
Q 3128 4100 2886 4159
|
||||
Q 2644 4219 2406 4219
|
||||
Q 1781 4219 1451 3797
|
||||
Q 1122 3375 1075 2522
|
||||
Q 1259 2794 1537 2939
|
||||
Q 1816 3084 2150 3084
|
||||
Q 2853 3084 3261 2657
|
||||
Q 3669 2231 3669 1497
|
||||
Q 3669 778 3244 343
|
||||
Q 2819 -91 2113 -91
|
||||
Q 1303 -91 875 529
|
||||
Q 447 1150 447 2328
|
||||
Q 447 3434 972 4092
|
||||
Q 1497 4750 2381 4750
|
||||
Q 2619 4750 2861 4703
|
||||
Q 3103 4656 3366 4563
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-36"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="xtick_4">
|
||||
<g id="line2d_7">
|
||||
<path d="M 360.779414 227.110617
|
||||
L 360.779414 18.6624
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_8">
|
||||
<g>
|
||||
<use xlink:href="#mcdb5fb23df" x="360.779414" y="227.110617" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_4">
|
||||
<!-- 8 -->
|
||||
<g transform="translate(356.198414 245.052367)scale(0.144 -0.144)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-38" d="M 2034 2216
|
||||
Q 1584 2216 1326 1975
|
||||
Q 1069 1734 1069 1313
|
||||
Q 1069 891 1326 650
|
||||
Q 1584 409 2034 409
|
||||
Q 2484 409 2743 651
|
||||
Q 3003 894 3003 1313
|
||||
Q 3003 1734 2745 1975
|
||||
Q 2488 2216 2034 2216
|
||||
z
|
||||
M 1403 2484
|
||||
Q 997 2584 770 2862
|
||||
Q 544 3141 544 3541
|
||||
Q 544 4100 942 4425
|
||||
Q 1341 4750 2034 4750
|
||||
Q 2731 4750 3128 4425
|
||||
Q 3525 4100 3525 3541
|
||||
Q 3525 3141 3298 2862
|
||||
Q 3072 2584 2669 2484
|
||||
Q 3125 2378 3379 2068
|
||||
Q 3634 1759 3634 1313
|
||||
Q 3634 634 3220 271
|
||||
Q 2806 -91 2034 -91
|
||||
Q 1263 -91 848 271
|
||||
Q 434 634 434 1313
|
||||
Q 434 1759 690 2068
|
||||
Q 947 2378 1403 2484
|
||||
z
|
||||
M 1172 3481
|
||||
Q 1172 3119 1398 2916
|
||||
Q 1625 2713 2034 2713
|
||||
Q 2441 2713 2670 2916
|
||||
Q 2900 3119 2900 3481
|
||||
Q 2900 3844 2670 4047
|
||||
Q 2441 4250 2034 4250
|
||||
Q 1625 4250 1398 4047
|
||||
Q 1172 3844 1172 3481
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-38"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="xtick_5">
|
||||
<g id="line2d_9">
|
||||
<path d="M 432.455122 227.110617
|
||||
L 432.455122 18.6624
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_10">
|
||||
<g>
|
||||
<use xlink:href="#mcdb5fb23df" x="432.455122" y="227.110617" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_5">
|
||||
<!-- 10 -->
|
||||
<g transform="translate(423.293122 245.052367)scale(0.144 -0.144)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-31" d="M 794 531
|
||||
L 1825 531
|
||||
L 1825 4091
|
||||
L 703 3866
|
||||
L 703 4441
|
||||
L 1819 4666
|
||||
L 2450 4666
|
||||
L 2450 531
|
||||
L 3481 531
|
||||
L 3481 0
|
||||
L 794 0
|
||||
L 794 531
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
<path id="DejaVuSans-30" d="M 2034 4250
|
||||
Q 1547 4250 1301 3770
|
||||
Q 1056 3291 1056 2328
|
||||
Q 1056 1369 1301 889
|
||||
Q 1547 409 2034 409
|
||||
Q 2525 409 2770 889
|
||||
Q 3016 1369 3016 2328
|
||||
Q 3016 3291 2770 3770
|
||||
Q 2525 4250 2034 4250
|
||||
z
|
||||
M 2034 4750
|
||||
Q 2819 4750 3233 4129
|
||||
Q 3647 3509 3647 2328
|
||||
Q 3647 1150 3233 529
|
||||
Q 2819 -91 2034 -91
|
||||
Q 1250 -91 836 529
|
||||
Q 422 1150 422 2328
|
||||
Q 422 3509 836 4129
|
||||
Q 1250 4750 2034 4750
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-31"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="63.623047"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_6">
|
||||
<!-- $\Delta$ -->
|
||||
<g transform="translate(265.223178 265.177217)scale(0.1728 -0.1728)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-394" d="M 2188 4044
|
||||
L 906 525
|
||||
L 3472 525
|
||||
L 2188 4044
|
||||
z
|
||||
M 50 0
|
||||
L 1831 4666
|
||||
L 2547 4666
|
||||
L 4325 0
|
||||
L 50 0
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-394" transform="translate(0 0.09375)"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="matplotlib.axis_2">
|
||||
<g id="ytick_1">
|
||||
<g id="line2d_11">
|
||||
<path d="M 93.7874 207.584576
|
||||
L 448.582156 207.584576
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_12">
|
||||
<defs>
|
||||
<path id="m6b956cf385" d="M 0 0
|
||||
L -3.5 0
|
||||
" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</defs>
|
||||
<g>
|
||||
<use xlink:href="#m6b956cf385" x="93.7874" y="207.584576" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_7">
|
||||
<!-- −0.07 -->
|
||||
<g transform="translate(42.65815 213.055451)scale(0.144 -0.144)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-2212" d="M 678 2272
|
||||
L 4684 2272
|
||||
L 4684 1741
|
||||
L 678 1741
|
||||
L 678 2272
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
<path id="DejaVuSans-2e" d="M 684 794
|
||||
L 1344 794
|
||||
L 1344 0
|
||||
L 684 0
|
||||
L 684 794
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
<path id="DejaVuSans-37" d="M 525 4666
|
||||
L 3525 4666
|
||||
L 3525 4397
|
||||
L 1831 0
|
||||
L 1172 0
|
||||
L 2766 4134
|
||||
L 525 4134
|
||||
L 525 4666
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-2212"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="83.789062"/>
|
||||
<use xlink:href="#DejaVuSans-2e" x="147.412109"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="179.199219"/>
|
||||
<use xlink:href="#DejaVuSans-37" x="242.822266"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="ytick_2">
|
||||
<g id="line2d_13">
|
||||
<path d="M 93.7874 177.599812
|
||||
L 448.582156 177.599812
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_14">
|
||||
<g>
|
||||
<use xlink:href="#m6b956cf385" x="93.7874" y="177.599812" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_8">
|
||||
<!-- −0.06 -->
|
||||
<g transform="translate(42.65815 183.070687)scale(0.144 -0.144)">
|
||||
<use xlink:href="#DejaVuSans-2212"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="83.789062"/>
|
||||
<use xlink:href="#DejaVuSans-2e" x="147.412109"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="179.199219"/>
|
||||
<use xlink:href="#DejaVuSans-36" x="242.822266"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="ytick_3">
|
||||
<g id="line2d_15">
|
||||
<path d="M 93.7874 147.615048
|
||||
L 448.582156 147.615048
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_16">
|
||||
<g>
|
||||
<use xlink:href="#m6b956cf385" x="93.7874" y="147.615048" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_9">
|
||||
<!-- −0.05 -->
|
||||
<g transform="translate(42.65815 153.085923)scale(0.144 -0.144)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-35" d="M 691 4666
|
||||
L 3169 4666
|
||||
L 3169 4134
|
||||
L 1269 4134
|
||||
L 1269 2991
|
||||
Q 1406 3038 1543 3061
|
||||
Q 1681 3084 1819 3084
|
||||
Q 2600 3084 3056 2656
|
||||
Q 3513 2228 3513 1497
|
||||
Q 3513 744 3044 326
|
||||
Q 2575 -91 1722 -91
|
||||
Q 1428 -91 1123 -41
|
||||
Q 819 9 494 109
|
||||
L 494 744
|
||||
Q 775 591 1075 516
|
||||
Q 1375 441 1709 441
|
||||
Q 2250 441 2565 725
|
||||
Q 2881 1009 2881 1497
|
||||
Q 2881 1984 2565 2268
|
||||
Q 2250 2553 1709 2553
|
||||
Q 1456 2553 1204 2497
|
||||
Q 953 2441 691 2322
|
||||
L 691 4666
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-2212"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="83.789062"/>
|
||||
<use xlink:href="#DejaVuSans-2e" x="147.412109"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="179.199219"/>
|
||||
<use xlink:href="#DejaVuSans-35" x="242.822266"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="ytick_4">
|
||||
<g id="line2d_17">
|
||||
<path d="M 93.7874 117.630285
|
||||
L 448.582156 117.630285
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_18">
|
||||
<g>
|
||||
<use xlink:href="#m6b956cf385" x="93.7874" y="117.630285" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_10">
|
||||
<!-- −0.04 -->
|
||||
<g transform="translate(42.65815 123.10116)scale(0.144 -0.144)">
|
||||
<use xlink:href="#DejaVuSans-2212"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="83.789062"/>
|
||||
<use xlink:href="#DejaVuSans-2e" x="147.412109"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="179.199219"/>
|
||||
<use xlink:href="#DejaVuSans-34" x="242.822266"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="ytick_5">
|
||||
<g id="line2d_19">
|
||||
<path d="M 93.7874 87.645521
|
||||
L 448.582156 87.645521
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_20">
|
||||
<g>
|
||||
<use xlink:href="#m6b956cf385" x="93.7874" y="87.645521" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_11">
|
||||
<!-- −0.03 -->
|
||||
<g transform="translate(42.65815 93.116396)scale(0.144 -0.144)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-33" d="M 2597 2516
|
||||
Q 3050 2419 3304 2112
|
||||
Q 3559 1806 3559 1356
|
||||
Q 3559 666 3084 287
|
||||
Q 2609 -91 1734 -91
|
||||
Q 1441 -91 1130 -33
|
||||
Q 819 25 488 141
|
||||
L 488 750
|
||||
Q 750 597 1062 519
|
||||
Q 1375 441 1716 441
|
||||
Q 2309 441 2620 675
|
||||
Q 2931 909 2931 1356
|
||||
Q 2931 1769 2642 2001
|
||||
Q 2353 2234 1838 2234
|
||||
L 1294 2234
|
||||
L 1294 2753
|
||||
L 1863 2753
|
||||
Q 2328 2753 2575 2939
|
||||
Q 2822 3125 2822 3475
|
||||
Q 2822 3834 2567 4026
|
||||
Q 2313 4219 1838 4219
|
||||
Q 1578 4219 1281 4162
|
||||
Q 984 4106 628 3988
|
||||
L 628 4550
|
||||
Q 988 4650 1302 4700
|
||||
Q 1616 4750 1894 4750
|
||||
Q 2613 4750 3031 4423
|
||||
Q 3450 4097 3450 3541
|
||||
Q 3450 3153 3228 2886
|
||||
Q 3006 2619 2597 2516
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-2212"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="83.789062"/>
|
||||
<use xlink:href="#DejaVuSans-2e" x="147.412109"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="179.199219"/>
|
||||
<use xlink:href="#DejaVuSans-33" x="242.822266"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="ytick_6">
|
||||
<g id="line2d_21">
|
||||
<path d="M 93.7874 57.660757
|
||||
L 448.582156 57.660757
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_22">
|
||||
<g>
|
||||
<use xlink:href="#m6b956cf385" x="93.7874" y="57.660757" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_12">
|
||||
<!-- −0.02 -->
|
||||
<g transform="translate(42.65815 63.131632)scale(0.144 -0.144)">
|
||||
<use xlink:href="#DejaVuSans-2212"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="83.789062"/>
|
||||
<use xlink:href="#DejaVuSans-2e" x="147.412109"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="179.199219"/>
|
||||
<use xlink:href="#DejaVuSans-32" x="242.822266"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="ytick_7">
|
||||
<g id="line2d_23">
|
||||
<path d="M 93.7874 27.675993
|
||||
L 448.582156 27.675993
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #ffffff; stroke-width: 0.8; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_24">
|
||||
<g>
|
||||
<use xlink:href="#m6b956cf385" x="93.7874" y="27.675993" style="stroke: #000000; stroke-width: 0.8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_13">
|
||||
<!-- −0.01 -->
|
||||
<g transform="translate(42.65815 33.146868)scale(0.144 -0.144)">
|
||||
<use xlink:href="#DejaVuSans-2212"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="83.789062"/>
|
||||
<use xlink:href="#DejaVuSans-2e" x="147.412109"/>
|
||||
<use xlink:href="#DejaVuSans-30" x="179.199219"/>
|
||||
<use xlink:href="#DejaVuSans-31" x="242.822266"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_14">
|
||||
<!-- $P_\mathrm{max}$ -->
|
||||
<g transform="translate(35.06445 141.548908)rotate(-90)scale(0.1728 -0.1728)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-Oblique-50" d="M 1081 4666
|
||||
L 2541 4666
|
||||
Q 3178 4666 3512 4369
|
||||
Q 3847 4072 3847 3500
|
||||
Q 3847 2731 3353 2303
|
||||
Q 2859 1875 1966 1875
|
||||
L 1172 1875
|
||||
L 806 0
|
||||
L 172 0
|
||||
L 1081 4666
|
||||
z
|
||||
M 1613 4147
|
||||
L 1275 2394
|
||||
L 2069 2394
|
||||
Q 2606 2394 2893 2669
|
||||
Q 3181 2944 3181 3456
|
||||
Q 3181 3784 2986 3965
|
||||
Q 2791 4147 2438 4147
|
||||
L 1613 4147
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
<path id="DejaVuSans-6d" d="M 3328 2828
|
||||
Q 3544 3216 3844 3400
|
||||
Q 4144 3584 4550 3584
|
||||
Q 5097 3584 5394 3201
|
||||
Q 5691 2819 5691 2113
|
||||
L 5691 0
|
||||
L 5113 0
|
||||
L 5113 2094
|
||||
Q 5113 2597 4934 2840
|
||||
Q 4756 3084 4391 3084
|
||||
Q 3944 3084 3684 2787
|
||||
Q 3425 2491 3425 1978
|
||||
L 3425 0
|
||||
L 2847 0
|
||||
L 2847 2094
|
||||
Q 2847 2600 2669 2842
|
||||
Q 2491 3084 2119 3084
|
||||
Q 1678 3084 1418 2786
|
||||
Q 1159 2488 1159 1978
|
||||
L 1159 0
|
||||
L 581 0
|
||||
L 581 3500
|
||||
L 1159 3500
|
||||
L 1159 2956
|
||||
Q 1356 3278 1631 3431
|
||||
Q 1906 3584 2284 3584
|
||||
Q 2666 3584 2933 3390
|
||||
Q 3200 3197 3328 2828
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
<path id="DejaVuSans-61" d="M 2194 1759
|
||||
Q 1497 1759 1228 1600
|
||||
Q 959 1441 959 1056
|
||||
Q 959 750 1161 570
|
||||
Q 1363 391 1709 391
|
||||
Q 2188 391 2477 730
|
||||
Q 2766 1069 2766 1631
|
||||
L 2766 1759
|
||||
L 2194 1759
|
||||
z
|
||||
M 3341 1997
|
||||
L 3341 0
|
||||
L 2766 0
|
||||
L 2766 531
|
||||
Q 2569 213 2275 61
|
||||
Q 1981 -91 1556 -91
|
||||
Q 1019 -91 701 211
|
||||
Q 384 513 384 1019
|
||||
Q 384 1609 779 1909
|
||||
Q 1175 2209 1959 2209
|
||||
L 2766 2209
|
||||
L 2766 2266
|
||||
Q 2766 2663 2505 2880
|
||||
Q 2244 3097 1772 3097
|
||||
Q 1472 3097 1187 3025
|
||||
Q 903 2953 641 2809
|
||||
L 641 3341
|
||||
Q 956 3463 1253 3523
|
||||
Q 1550 3584 1831 3584
|
||||
Q 2591 3584 2966 3190
|
||||
Q 3341 2797 3341 1997
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
<path id="DejaVuSans-78" d="M 3513 3500
|
||||
L 2247 1797
|
||||
L 3578 0
|
||||
L 2900 0
|
||||
L 1881 1375
|
||||
L 863 0
|
||||
L 184 0
|
||||
L 1544 1831
|
||||
L 300 3500
|
||||
L 978 3500
|
||||
L 1906 2253
|
||||
L 2834 3500
|
||||
L 3513 3500
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-Oblique-50" transform="translate(0 0.09375)"/>
|
||||
<use xlink:href="#DejaVuSans-6d" transform="translate(60.302734 -16.3125)scale(0.7)"/>
|
||||
<use xlink:href="#DejaVuSans-61" transform="translate(128.491211 -16.3125)scale(0.7)"/>
|
||||
<use xlink:href="#DejaVuSans-78" transform="translate(171.386719 -16.3125)scale(0.7)"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="LineCollection_1">
|
||||
<path clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
<path d="M 145.752289 88.855127
|
||||
L 145.752289 87.709789
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
<path d="M 181.590143 136.794138
|
||||
L 181.590143 135.415118
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
<path d="M 217.427997 175.244042
|
||||
L 217.427997 173.673834
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
<path d="M 253.265851 206.499765
|
||||
L 253.265851 204.812129
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
<path d="M 289.103705 217.635698
|
||||
L 289.103705 215.873355
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
<path d="M 324.941559 202.251077
|
||||
L 324.941559 200.597719
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
<path d="M 360.779414 173.966521
|
||||
L 360.779414 172.353682
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
<path d="M 396.617268 166.556624
|
||||
L 396.617268 164.976897
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
<path d="M 432.455122 125.134884
|
||||
L 432.455122 123.676434
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
</g>
|
||||
<g id="LineCollection_2">
|
||||
<path d="M 109.914434 28.750131
|
||||
L 109.914434 28.137319
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
<path d="M 145.752289 75.131154
|
||||
L 145.752289 74.449082
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
<path d="M 181.590143 120.417816
|
||||
L 181.590143 119.529232
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
<path d="M 217.427997 137.180434
|
||||
L 217.427997 136.209189
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
<path d="M 253.265851 144.134229
|
||||
L 253.265851 143.13897
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
<path d="M 289.103705 138.290024
|
||||
L 289.103705 137.297098
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
<path d="M 324.941559 125.265363
|
||||
L 324.941559 124.346984
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
<path d="M 360.779414 105.33344
|
||||
L 360.779414 104.461104
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
<path d="M 396.617268 99.110163
|
||||
L 396.617268 98.263443
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
<path d="M 432.455122 74.62724
|
||||
L 432.455122 73.855001
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
</g>
|
||||
<g id="line2d_25">
|
||||
<path d="M 145.752289 88.282458
|
||||
L 181.590143 136.104628
|
||||
L 217.427997 174.458938
|
||||
L 253.265851 205.655947
|
||||
L 289.103705 216.754526
|
||||
L 324.941559 201.424398
|
||||
L 360.779414 173.160101
|
||||
L 396.617268 165.76676
|
||||
L 432.455122 124.405659
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #e24a33; stroke-width: 1.5; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_26">
|
||||
<path d="M 109.914434 28.443725
|
||||
L 145.752289 74.790118
|
||||
L 181.590143 119.973524
|
||||
L 217.427997 136.694811
|
||||
L 253.265851 143.6366
|
||||
L 289.103705 137.793561
|
||||
L 324.941559 124.806174
|
||||
L 360.779414 104.897272
|
||||
L 396.617268 98.686803
|
||||
L 432.455122 74.241121
|
||||
" clip-path="url(#p3a29132fce)" style="fill: none; stroke: #348abd; stroke-width: 1.5; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="patch_3">
|
||||
<path d="M 93.7874 227.110617
|
||||
L 93.7874 18.6624
|
||||
" style="fill: none; stroke: #ffffff; stroke-linejoin: miter; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="patch_4">
|
||||
<path d="M 448.582156 227.110617
|
||||
L 448.582156 18.6624
|
||||
" style="fill: none; stroke: #ffffff; stroke-linejoin: miter; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="patch_5">
|
||||
<path d="M 93.7874 227.110617
|
||||
L 448.582156 227.110617
|
||||
" style="fill: none; stroke: #ffffff; stroke-linejoin: miter; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="patch_6">
|
||||
<path d="M 93.7874 18.6624
|
||||
L 448.582156 18.6624
|
||||
" style="fill: none; stroke: #ffffff; stroke-linejoin: miter; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="legend_1">
|
||||
<g id="patch_7">
|
||||
<path d="M 358.182156 56.01865
|
||||
L 441.582156 56.01865
|
||||
Q 443.582156 56.01865 443.582156 54.01865
|
||||
L 443.582156 25.6624
|
||||
Q 443.582156 23.6624 441.582156 23.6624
|
||||
L 358.182156 23.6624
|
||||
Q 356.182156 23.6624 356.182156 25.6624
|
||||
L 356.182156 54.01865
|
||||
Q 356.182156 56.01865 358.182156 56.01865
|
||||
z
|
||||
" style="fill: #e5e5e5; opacity: 0.8; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/>
|
||||
</g>
|
||||
<g id="LineCollection_3">
|
||||
<path d="M 370.182156 36.760838
|
||||
L 370.182156 26.760838
|
||||
" style="fill: none; stroke: #e24a33; stroke-width: 1.5"/>
|
||||
</g>
|
||||
<g id="line2d_27">
|
||||
<path d="M 360.182156 31.760838
|
||||
L 380.182156 31.760838
|
||||
" style="fill: none; stroke: #e24a33; stroke-width: 1.5; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_28"/>
|
||||
<g id="text_15">
|
||||
<!-- $\alpha(0)$ = 1 -->
|
||||
<g transform="translate(388.182156 35.260838)scale(0.1 -0.1)">
|
||||
<defs>
|
||||
<path id="DejaVuSans-Oblique-3b1" d="M 2619 1628
|
||||
L 2622 2350
|
||||
Q 2625 3088 2069 3091
|
||||
Q 1653 3094 1394 2747
|
||||
Q 1069 2319 959 1747
|
||||
Q 825 1059 994 731
|
||||
Q 1169 397 1547 397
|
||||
Q 1966 397 2319 1063
|
||||
L 2619 1628
|
||||
z
|
||||
M 2166 3578
|
||||
Q 3141 3594 3128 2584
|
||||
Q 3128 2584 3616 3500
|
||||
L 4128 3500
|
||||
L 3119 1603
|
||||
L 3109 919
|
||||
Q 3109 766 3194 638
|
||||
Q 3291 488 3391 488
|
||||
L 3669 488
|
||||
L 3575 0
|
||||
L 3228 0
|
||||
Q 2934 0 2722 263
|
||||
Q 2622 394 2619 669
|
||||
Q 2416 334 2066 50
|
||||
Q 1900 -81 1453 -78
|
||||
Q 722 -72 456 397
|
||||
Q 184 884 353 1747
|
||||
Q 534 2675 1009 3097
|
||||
Q 1544 3569 2166 3578
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
<path id="DejaVuSans-28" d="M 1984 4856
|
||||
Q 1566 4138 1362 3434
|
||||
Q 1159 2731 1159 2009
|
||||
Q 1159 1288 1364 580
|
||||
Q 1569 -128 1984 -844
|
||||
L 1484 -844
|
||||
Q 1016 -109 783 600
|
||||
Q 550 1309 550 2009
|
||||
Q 550 2706 781 3412
|
||||
Q 1013 4119 1484 4856
|
||||
L 1984 4856
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
<path id="DejaVuSans-29" d="M 513 4856
|
||||
L 1013 4856
|
||||
Q 1481 4119 1714 3412
|
||||
Q 1947 2706 1947 2009
|
||||
Q 1947 1309 1714 600
|
||||
Q 1481 -109 1013 -844
|
||||
L 513 -844
|
||||
Q 928 -128 1133 580
|
||||
Q 1338 1288 1338 2009
|
||||
Q 1338 2731 1133 3434
|
||||
Q 928 4138 513 4856
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
<path id="DejaVuSans-20" transform="scale(0.015625)"/>
|
||||
<path id="DejaVuSans-3d" d="M 678 2906
|
||||
L 4684 2906
|
||||
L 4684 2381
|
||||
L 678 2381
|
||||
L 678 2906
|
||||
z
|
||||
M 678 1631
|
||||
L 4684 1631
|
||||
L 4684 1100
|
||||
L 678 1100
|
||||
L 678 1631
|
||||
z
|
||||
" transform="scale(0.015625)"/>
|
||||
</defs>
|
||||
<use xlink:href="#DejaVuSans-Oblique-3b1" transform="translate(0 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-28" transform="translate(65.917969 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-30" transform="translate(104.931641 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-29" transform="translate(168.554688 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-20" transform="translate(207.568359 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-3d" transform="translate(239.355469 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-20" transform="translate(323.144531 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-31" transform="translate(354.931641 0.125)"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="LineCollection_4">
|
||||
<path d="M 370.182156 51.438963
|
||||
L 370.182156 41.438963
|
||||
" style="fill: none; stroke: #348abd; stroke-width: 1.5"/>
|
||||
</g>
|
||||
<g id="line2d_29">
|
||||
<path d="M 360.182156 46.438963
|
||||
L 380.182156 46.438963
|
||||
" style="fill: none; stroke: #348abd; stroke-width: 1.5; stroke-linecap: square"/>
|
||||
</g>
|
||||
<g id="line2d_30"/>
|
||||
<g id="text_16">
|
||||
<!-- $\alpha(0)$ = 0.5 -->
|
||||
<g transform="translate(388.182156 49.938963)scale(0.1 -0.1)">
|
||||
<use xlink:href="#DejaVuSans-Oblique-3b1" transform="translate(0 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-28" transform="translate(65.917969 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-30" transform="translate(104.931641 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-29" transform="translate(168.554688 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-20" transform="translate(207.568359 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-3d" transform="translate(239.355469 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-20" transform="translate(323.144531 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-30" transform="translate(354.931641 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-2e" transform="translate(418.554688 0.125)"/>
|
||||
<use xlink:href="#DejaVuSans-35" transform="translate(450.341797 0.125)"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="p3a29132fce">
|
||||
<rect x="93.7874" y="18.6624" width="354.794756" height="208.448217"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 184 KiB |
Before Width: | Height: | Size: 449 KiB |
|
@ -43,7 +43,9 @@ with_friction_y.description = r"With Friction $\sigma_y$"
|
|||
|
||||
models = [with_friction, with_friction_y, without_friction]
|
||||
|
||||
aux.integrate_multi(models, 2000)
|
||||
print(es.models_table(models))
|
||||
|
||||
aux.integrate_multi(models, 10_000)
|
||||
|
||||
es.ergo(5)
|
||||
|
||||
|
|
224
python/energy_flow_proper/08_dynamic_one_bath/init_slip.py
Normal file
|
@ -0,0 +1,224 @@
|
|||
import energy_shovel as es
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import matplotlib.pyplot as plt
|
||||
import utilities as ut
|
||||
import figsaver as fs
|
||||
import hiro_models.model_auxiliary as aux
|
||||
import plot_utils as pu
|
||||
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init(address="auto")
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO, show_stocproc=False)
|
||||
|
||||
from hops.util.dynamic_matrix import SmoothStep, Periodic, Harmonic, ConstantMatrix, Piecewise
|
||||
L_op = (1 / 2 * qt.sigmax()).full()
|
||||
from hiro_models.utility import StocProcTolerances
|
||||
from hiro_models.one_qubit_model import QubitModel
|
||||
|
||||
H = 1 / 2 * (ConstantMatrix(qt.sigmaz() + 1))
|
||||
|
||||
t_max = 20
|
||||
models = [
|
||||
QubitModel(
|
||||
δ=0.8,
|
||||
ω_c=1,
|
||||
t=np.linspace(0, t_max, 1000),
|
||||
ψ_0=qt.basis([2], [0]),
|
||||
description=f"Testing the time dependent coupling with smooth step.",
|
||||
k_max=4,
|
||||
bcf_terms=7,
|
||||
truncation_scheme="simplex",
|
||||
driving_process_tolerance=StocProcTolerances(1e-6, 1e-6),
|
||||
thermal_process_tolerance=StocProcTolerances(1e-3, 1e-3),
|
||||
T=0,
|
||||
L=SmoothStep(L_op, 0, 8, s) if s is not None else Piecewise([ConstantMatrix(np.zeros((2,2))), ConstantMatrix(L_op)], [0, 4, np.inf]),
|
||||
H=H,
|
||||
)
|
||||
for s in (None, 0, 1, 2, 3)
|
||||
]
|
||||
|
||||
print(es.models_table(models))
|
||||
|
||||
tt = np.linspace(0, 8, 1000)
|
||||
|
||||
for model in models:
|
||||
plt.plot(
|
||||
tt,
|
||||
model.L.operator_norm(tt),
|
||||
label=model.L.order if isinstance(model.L, SmoothStep) else "sudden",
|
||||
)
|
||||
|
||||
plt.legend(title="Smoothness")
|
||||
plt.xlabel(r"$\tau$")
|
||||
plt.ylabel(r"$||L||$")
|
||||
fs.export_fig("modulation_protocols_init", x_scaling=.4, tikz=False)
|
||||
|
||||
fs.tex_value(
|
||||
models[0].bcf_scale * models[0].full_thermal_bcf(0).real,
|
||||
prec=1,
|
||||
prefix="α(0)=",
|
||||
save="init_slip_alpha",
|
||||
), fs.tex_value(models[0].ω_c, prec=1, prefix="ω_c=", save="initial_slip_cuttoff")
|
||||
|
||||
import gc; gc.collect()
|
||||
aux.integrate_multi(models, 10_000)
|
||||
|
||||
for model in models:
|
||||
_, ax = pu.plot_energy_overview(model)
|
||||
ax.plot(model.t, model.L.operator_norm(model.t) * np.sqrt(model.δ))
|
||||
ax.legend()
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
for model, data in aux.model_data_iterator(models):
|
||||
flow = model.bath_energy_flow(data)
|
||||
pu.plot_with_σ(
|
||||
model.t,
|
||||
flow,
|
||||
ax=ax,
|
||||
label=model.L.order if isinstance(model.L, SmoothStep) else "sudden",
|
||||
bath=0,
|
||||
)
|
||||
ax.legend()
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
for model, data in aux.model_data_iterator(models):
|
||||
flow = model.interaction_energy(data)
|
||||
pu.plot_with_σ(
|
||||
model.t,
|
||||
flow,
|
||||
ax=ax,
|
||||
label=model.L.order if isinstance(model.L, SmoothStep) else "sudden",
|
||||
bath=0,
|
||||
)
|
||||
ax.legend()
|
||||
|
||||
pu.plot_multi_energy_overview(
|
||||
models,
|
||||
label_fn=lambda model: model.L.order if isinstance(model.L, SmoothStep) else "sudden"
|
||||
)
|
||||
fs.export_fig("init_overview", y_scaling=.6)
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
for model, data in aux.model_data_iterator(models):
|
||||
flow = model.total_energy_from_power(data)
|
||||
pu.plot_with_σ(
|
||||
model.t,
|
||||
flow,
|
||||
ax=ax,
|
||||
label=model.L.order if isinstance(model.L, SmoothStep) else "sudden",
|
||||
)
|
||||
ax.legend(title="Smoothness")
|
||||
ax.set_xlabel(r"$\tau$")
|
||||
ax.set_ylabel(r"$\langle H\rangle$")
|
||||
fs.export_fig("total_init", x_scaling=.5)
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
for model, data in aux.model_data_iterator(models):
|
||||
flow = model.system_energy(data)
|
||||
pu.plot_with_σ(
|
||||
model.t,
|
||||
flow,
|
||||
ax=ax,
|
||||
label=model.L.order if isinstance(model.L, SmoothStep) else "sudden",
|
||||
)
|
||||
ax.legend()
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
for model, data in aux.model_data_iterator(models):
|
||||
flow = model.total_energy_from_power(data)
|
||||
pu.plot_with_σ(
|
||||
model.t,
|
||||
flow,
|
||||
ax=ax,
|
||||
label=model.L.order if isinstance(model.L, SmoothStep) else "sudden",
|
||||
)
|
||||
ax.legend()
|
||||
|
||||
from hopsflow.util import integrate_array
|
||||
import scipy
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
pure_dephasing = []
|
||||
pure_dephasing_int = []
|
||||
ax.tick_params(axis='y', which='major', pad=10)
|
||||
|
||||
for model in models:
|
||||
L = model.L
|
||||
L_fun = L.factor if isinstance(L, SmoothStep) else lambda t: np.heaviside(t - 1, 0)
|
||||
# plt.plot(model.t, L_deriv(model.t))
|
||||
# plt.plot(model.t, L_fun(model.t))
|
||||
def α_dot(t):
|
||||
return -2j * model.ω_c / (1 + 1j * model.ω_c * t) ** 3
|
||||
|
||||
def α(t):
|
||||
return 1 / (1 + 1j * model.ω_c * t) ** 2
|
||||
|
||||
def integrand(s, t):
|
||||
return np.prod(L_fun(np.array([s, t]))) * α_dot(t - s).imag / 4
|
||||
|
||||
def integrand_int(s, t):
|
||||
return np.prod(L_fun(np.array([s, t]))) * α(t - s).imag / 4
|
||||
|
||||
res = np.array([scipy.integrate.quad(integrand, 0, t, (t,))[0] for t in model.t])
|
||||
pure_dephasing.append(res)
|
||||
pure_dephasing_int.append(
|
||||
np.array([scipy.integrate.quad(integrand_int, 0, t, (t,))[0] for t in model.t])
|
||||
)
|
||||
with aux.get_data(model) as data:
|
||||
if not isinstance(model.L, SmoothStep):
|
||||
continue
|
||||
_, _, (line, _) = pu.plot_with_σ(
|
||||
model.t,
|
||||
abs(-1 * model.bath_energy_flow(data)),
|
||||
bath=0,
|
||||
ax=ax,
|
||||
label=(fr"$s={model.L.order}$")
|
||||
if isinstance(model.L, SmoothStep)
|
||||
else "sudden",
|
||||
)
|
||||
ax.plot(
|
||||
model.t,
|
||||
abs(-res * model.bcf_scale * model.bcf._c1 * 2),
|
||||
linestyle="--",
|
||||
color=line[0].get_color(),
|
||||
)
|
||||
|
||||
# fs.plot_with_σ(
|
||||
# model.t,
|
||||
# -1 * model.interaction_energy(data),
|
||||
# linestyle="-.",
|
||||
# bath=0,
|
||||
# ax=ax,
|
||||
# color=line[0].get_color(),
|
||||
# )
|
||||
ax.set_xlim(0.2, 6)
|
||||
ax.set_ylim(1e-8, 0.3)
|
||||
ax.set_xscale("log")
|
||||
ax.set_yscale("log")
|
||||
|
||||
|
||||
ax.legend(loc="upper left")
|
||||
|
||||
ax.set_xlabel(r"$\tau$")
|
||||
ax.set_ylabel(r"$-J$")
|
||||
|
||||
|
||||
# inset = ax.inset_axes([.48, .15, .47, .45])
|
||||
# for model in models:
|
||||
# inset.plot(model.t, model.L.operator_norm(model.t), linewidth=1)
|
||||
# inset.set_xlim(0.2, 2)
|
||||
|
||||
# inset.set_xlabel(r"$\tau$", labelpad=-1.5)
|
||||
# inset.set_ylabel(r"$||L||$")
|
||||
# inset.set_xscale("log")
|
||||
|
||||
# for i, tick in enumerate(inset.xaxis.get_ticklabels()):
|
||||
# if i % 2 != 0:
|
||||
# tick.set_visible(False)
|
||||
|
||||
fs.export_fig("initial_slip_modcoup", x_scaling=.5)
|
|
@ -9,7 +9,7 @@ import plot_utils as pu
|
|||
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init()
|
||||
ray.init(address="auto")
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
|
@ -50,7 +50,7 @@ for Δ in Δs:
|
|||
|
||||
Δ_models[1].bcf(0) * Δ_models[-1].bcf_scale
|
||||
|
||||
aux.integrate_multi(Δ_models, 2000)
|
||||
aux.integrate_multi(Δ_models, 1)
|
||||
|
||||
dim_models = len(δs)
|
||||
power = np.zeros((len(Δs), dim_models))
|
||||
|
@ -103,7 +103,12 @@ im = a.imshow(
|
|||
aspect="auto",
|
||||
origin="lower",
|
||||
cmap="plasma",
|
||||
extent=[δs.min(), δs.max(), min(Δs), max(Δs)],
|
||||
extent=[
|
||||
δs.min() - (δs[1] - δs[0]) / 2,
|
||||
δs.max() + (δs[1] - δs[0]) / 2,
|
||||
min(Δs) - ((Δs[1] - Δs[0]) / 2),
|
||||
max(Δs) + ((Δs[1] - Δs[0]) / 2),
|
||||
],
|
||||
)
|
||||
f.colorbar(im, ax=a)
|
||||
|
||||
|
@ -114,7 +119,12 @@ im2 = a2.imshow(
|
|||
aspect="auto",
|
||||
origin="lower",
|
||||
cmap="plasma",
|
||||
extent=[δs.min(), δs.max(), min(Δs), max(Δs)],
|
||||
extent=[
|
||||
δs.min() - (δs[1] - δs[0]) / 2,
|
||||
δs.max() + (δs[1] - δs[0]) / 2,
|
||||
min(Δs) - ((Δs[1] - Δs[0]) / 2),
|
||||
max(Δs) + ((Δs[1] - Δs[0]) / 2),
|
||||
],
|
||||
)
|
||||
f.colorbar(im2, ax=a2)
|
||||
a.set_ylabel(r"$\Delta$")
|
||||
|
@ -125,7 +135,7 @@ a.set_title(r"$\bar{P}$")
|
|||
a2.set_title(r"$\bar{P}/\bar{P}_{\mathrm{\max},\alpha}$")
|
||||
fs.export_fig("power_heatmap", f, tikz=False)
|
||||
|
||||
for model, data in aux.model_data_iterator(Δ_models):
|
||||
for model, data in aux.model_data_iterator(Δ_models[-1:]):
|
||||
inter = model.interaction_energy(data)
|
||||
print(abs(inter.value).max())
|
||||
|
||||
|
@ -133,7 +143,6 @@ dim_models = len(δs)
|
|||
interactions = np.zeros((len(Δs), dim_models))
|
||||
|
||||
ensemble_arg = dict(overwrite_cache=False)
|
||||
fig, ax = plt.subplots()
|
||||
for (model, data), Δ, strobe_t, strobe_indices, idx in zip(
|
||||
aux.model_data_iterator(Δ_models),
|
||||
np.array([[Δ]*len(δs) for Δ in Δs]).flatten(),
|
||||
|
@ -143,3 +152,56 @@ for (model, data), Δ, strobe_t, strobe_indices, idx in zip(
|
|||
):
|
||||
interaction = model.interaction_energy(data, **ensemble_arg)
|
||||
interactions[int(idx/dim_models), idx % dim_models] = abs(interaction.value).max()
|
||||
|
||||
f, (a, a2) = plt.subplots(ncols=2)
|
||||
im = a.imshow(
|
||||
interactions,
|
||||
interpolation="gaussian",
|
||||
interpolation_stage="data",
|
||||
aspect="auto",
|
||||
origin="lower",
|
||||
cmap="plasma",
|
||||
extent=[
|
||||
δs.min() - (δs[1] - δs[0]) / 2,
|
||||
δs.max() + (δs[1] - δs[0]) / 2,
|
||||
min(Δs) - ((Δs[1] - Δs[0]) / 2),
|
||||
max(Δs) + ((Δs[1] - Δs[0]) / 2),
|
||||
],
|
||||
)
|
||||
f.colorbar(im, ax=a)
|
||||
a.set_ylabel(r"$\Delta$")
|
||||
a.set_xlabel(r"$\alpha_\beta(0)$")
|
||||
a.set_title(r"$|\langle{H_{\mathrm{I}}}\rangle|_\mathrm{max}$")
|
||||
|
||||
for i in range(len(Δs)):
|
||||
ints = interactions[i, :]
|
||||
a2.plot(δs - δs[0], ints - ints[0], label=rf"${Δs[i]}$")
|
||||
|
||||
a2.plot(δs - δs[0],(δs - δs[0]) / 5, color="grey", linestyle="dashed")
|
||||
a2.set_yscale("log")
|
||||
a2.set_xscale("log")
|
||||
a2.set_ylabel(r"$|\langle{H_{\mathrm{I}}}\rangle|_\mathrm{max}|$")
|
||||
a2.set_xlabel(r"$\alpha_\beta(0)$")
|
||||
a2.legend(ncol=3, title=r"$\Delta=$", fontsize="x-small")
|
||||
fs.export_fig("interaction_nontuned")
|
||||
|
||||
f, (a) = plt.subplots()
|
||||
im = a.imshow(
|
||||
abs((power / power.max()) - interactions / interactions.max()),
|
||||
interpolation="gaussian",
|
||||
interpolation_stage="data",
|
||||
aspect="auto",
|
||||
origin="lower",
|
||||
cmap="plasma",
|
||||
extent=[
|
||||
δs.min() - (δs[1] - δs[0]) / 2,
|
||||
δs.max() + (δs[1] - δs[0]) / 2,
|
||||
min(Δs) - ((Δs[1] - Δs[0]) / 2),
|
||||
max(Δs) + ((Δs[1] - Δs[0]) / 2),
|
||||
],
|
||||
)
|
||||
f.colorbar(im, ax=a)
|
||||
a.set_ylabel(r"$\Delta$")
|
||||
a.set_xlabel(r"$\alpha_\beta(0)$")
|
||||
|
||||
print(es.models_table(Δ_models, tablefmt="latex_raw", data_path=".data_taurus"))
|
||||
|
|
181
python/energy_flow_proper/08_dynamic_one_bath/mod_freq_en.py
Normal file
|
@ -0,0 +1,181 @@
|
|||
import energy_shovel as es
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import matplotlib.pyplot as plt
|
||||
import utilities as ut
|
||||
import figsaver as fs
|
||||
import hiro_models.model_auxiliary as aux
|
||||
import plot_utils as pu
|
||||
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init(address="auto")
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO, show_stocproc=False)
|
||||
|
||||
from hops.util.dynamic_matrix import SmoothStep, Periodic, Harmonic, ConstantMatrix
|
||||
|
||||
Δs = [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
] # np.sort(np.concatenate((np.linspace(1, 5, 20), np.linspace(5, 7, int(20/5 * 2)))))
|
||||
Δ_models = []
|
||||
strobe_ts = []
|
||||
strobe_indices_s = []
|
||||
δs = np.linspace(0.05, .5, 10)
|
||||
for Δ in Δs:
|
||||
for δ in δs:
|
||||
proto, strobe_t, strobe_indices = es.optimize_for_interaction_energy(
|
||||
δ,
|
||||
int(Δ / (2 * np.pi) * 10),
|
||||
500,
|
||||
Δ=Δ,
|
||||
periods=int(Δ / (2 * np.pi) * 20),
|
||||
k_max=6,
|
||||
bcf_terms=7,
|
||||
modulate_system=False,
|
||||
bcf_norm_method="unit_therm",
|
||||
δ=0.5,
|
||||
)
|
||||
|
||||
strobe_ts.append(strobe_t)
|
||||
strobe_indices_s.append(strobe_indices)
|
||||
Δ_models.append(proto)
|
||||
|
||||
Δ_models[1].bcf(0) * Δ_models[-1].bcf_scale
|
||||
|
||||
aux.integrate_multi(Δ_models, 2000)
|
||||
|
||||
dim_models = len(δs)
|
||||
power = np.zeros((len(Δs), dim_models))
|
||||
|
||||
# final_e_error = [[], []]
|
||||
ensemble_arg = dict(overwrite_cache=False)
|
||||
for (model, data), Δ, strobe_t, strobe_indices, idx in zip(
|
||||
aux.model_data_iterator(Δ_models, data_path=".data_taurus"),
|
||||
np.array([[Δ]*len(δs) for Δ in Δs]).flatten(),
|
||||
strobe_ts,
|
||||
strobe_indices_s,
|
||||
range(len(Δ_models))
|
||||
):
|
||||
energies = model.total_energy_from_power(data, **ensemble_arg)
|
||||
powers = energies.value[strobe_indices[1:]] * (1/strobe_t[1:])
|
||||
power[int(idx/dim_models), idx % dim_models] = np.amax(abs(powers[powers <= 0]), initial=0)
|
||||
|
||||
# fs.plot_energy_overview(model, ensemble_args=ensemble_arg)
|
||||
# fig, ax = plt.subplots()
|
||||
# fs.plot_with_σ(model.t, model.energy_change_from_interaction_power(data, **ensemble_arg).for_bath(0), ax=ax)
|
||||
# fs.plot_with_σ(model.t, model.energy_change_from_system_power(data, **ensemble_arg), ax=ax)
|
||||
# fs.plot_with_σ(model.t, model.total_energy_from_power(data, **ensemble_arg), ax=ax)
|
||||
# fs.plot_with_σ(model.t, model.interaction_power(data, **ensemble_arg).for_bath(0), ax=ax)
|
||||
# fs.plot_with_σ(model.t, model.total_energy(data, **ensemble_arg), ax=ax)
|
||||
# ax.plot(model.t, model.L.derivative()(model.t)[:,0,1])
|
||||
# ax.plot(model.t, model.L(model.t)[:,0,1])
|
||||
# print(strobe_t[1])
|
||||
|
||||
# plt.ylabel(r"$\frac{\Delta E}{T}$")
|
||||
# ax.set_xlabel(r"$\Delta$")
|
||||
# ax.set_ylabel(r"$P_\mathrm{max}$")
|
||||
# for i, energy, σ in zip(itertools.count(0), final_e, final_e_error):
|
||||
# ax.errorbar(Δs, energy, σ, label=rf"$\alpha(0)$ = {δs[i]}")
|
||||
# ax.legend()
|
||||
# fs.export_fig("delta_dependence")
|
||||
|
||||
normed_power = power.copy()
|
||||
for i in range(dim_models):
|
||||
normed_power[:, i] /= power[:, i].max()
|
||||
|
||||
for i in range(dim_models):
|
||||
plt.plot(Δs, power[:, i])
|
||||
|
||||
f, (a, a2) = plt.subplots(ncols=2, sharey=True)
|
||||
im = a.imshow(
|
||||
power,
|
||||
interpolation="gaussian",
|
||||
interpolation_stage="data",
|
||||
aspect="auto",
|
||||
origin="lower",
|
||||
cmap="plasma",
|
||||
extent=[
|
||||
δs.min() - (δs[1] - δs[0]) / 2,
|
||||
δs.max() + (δs[1] - δs[0]) / 2,
|
||||
min(Δs) - ((Δs[1] - Δs[0]) / 2),
|
||||
max(Δs) + ((Δs[1] - Δs[0]) / 2),
|
||||
],
|
||||
)
|
||||
f.colorbar(im, ax=a)
|
||||
|
||||
im2 = a2.imshow(
|
||||
normed_power,
|
||||
interpolation="gaussian",
|
||||
interpolation_stage="data",
|
||||
aspect="auto",
|
||||
origin="lower",
|
||||
cmap="plasma",
|
||||
extent=[
|
||||
δs.min() - (δs[1] - δs[0]) / 2,
|
||||
δs.max() + (δs[1] - δs[0]) / 2,
|
||||
min(Δs) - ((Δs[1] - Δs[0]) / 2),
|
||||
max(Δs) + ((Δs[1] - Δs[0]) / 2),
|
||||
],
|
||||
)
|
||||
f.colorbar(im2, ax=a2)
|
||||
a.set_ylabel(r"$\Delta$")
|
||||
for ax in (a, a2):
|
||||
ax.set_xlabel(r"$\langle H_\mathrm{I}\rangle_\mathrm{max}$")
|
||||
|
||||
a.set_title(r"$\bar{P}$")
|
||||
a2.set_title(r"$\bar{P}/\bar{P}_{\mathrm{\max},\alpha}$")
|
||||
fs.export_fig("power_en_heatmap", f, tikz=False)
|
||||
|
||||
for model, data in aux.model_data_iterator(Δ_models):
|
||||
inter = model.interaction_energy(data)
|
||||
print(abs(inter.value).max())
|
||||
|
||||
dim_models = len(δs)
|
||||
interactions = np.zeros((len(Δs), dim_models))
|
||||
|
||||
#ensemble_arg = dict(overwrite_cache=False)
|
||||
for (model, data), Δ, strobe_t, strobe_indices, idx in zip(
|
||||
aux.model_data_iterator(Δ_models, data_path=".data_taurus"),
|
||||
np.array([[Δ]*len(δs) for Δ in Δs]).flatten(),
|
||||
strobe_ts,
|
||||
strobe_indices_s,
|
||||
range(len(Δ_models))
|
||||
):
|
||||
interaction = model.interaction_energy(data)
|
||||
interactions[int(idx/dim_models), idx % dim_models] = abs(interaction.value).max()
|
||||
|
||||
f, (a) = plt.subplots()
|
||||
target = np.repeat([δs], len(Δs), axis=0)
|
||||
im = a.imshow(
|
||||
np.abs(interactions - target)[1:,:] / target[1:,:],
|
||||
interpolation="gaussian",
|
||||
interpolation_stage="data",
|
||||
aspect="auto",
|
||||
origin="lower",
|
||||
cmap="plasma",
|
||||
extent=[
|
||||
δs.min() - (δs[1] - δs[0]) / 2,
|
||||
δs.max() + (δs[1] - δs[0]) / 2,
|
||||
min(Δs[1:]) - ((Δs[1] - Δs[0]) / 2),
|
||||
max(Δs) + ((Δs[1] - Δs[0]) / 2),
|
||||
],
|
||||
)
|
||||
f.colorbar(im, ax=a)
|
||||
a.set_ylabel(r"$\Delta$")
|
||||
a.set_xlabel(r"$\langle H_\mathrm{I}\rangle_\mathrm{max,target}$")
|
||||
a.set_title(r"Difference $|\langle{H_{\mathrm{I}}}\rangle|_\mathrm{max}$ from $\langle H_\mathrm{I}\rangle_\mathrm{max,target}$")
|
||||
fs.export_fig("interaction_tuning_success_detail")
|
||||
|
||||
print(es.models_table(Δ_models, tablefmt="latex_raw", data_path=".data_taurus"))
|
|
@ -9,7 +9,7 @@ import plot_utils as pu
|
|||
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init()
|
||||
ray.init(address="auto")
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
|
@ -19,52 +19,107 @@ from hops.util.dynamic_matrix import SmoothStep, Periodic, Harmonic, ConstantMat
|
|||
|
||||
|
||||
tunings = np.linspace(-0.5, 0.5, 9)
|
||||
δs = [0.5, 1.1, 2]
|
||||
tune_models = []
|
||||
strobe_indices = []
|
||||
Δ = 5
|
||||
for tune in tunings:
|
||||
proto, strobe_t, strobe_i = es.energy_shovel(
|
||||
Δ,
|
||||
periods=10,
|
||||
modulate_system=False,
|
||||
detune=tune,
|
||||
bcf_norm_method="unit_therm",
|
||||
δ=.8,
|
||||
# k_max=3,
|
||||
# bcf_terms=5,
|
||||
)
|
||||
for δ in δs:
|
||||
for tune in tunings:
|
||||
proto, strobe_t, strobe_i = es.energy_shovel(
|
||||
Δ,
|
||||
periods=8,
|
||||
modulate_system=False,
|
||||
detune=tune,
|
||||
bcf_norm_method="sd_peak",
|
||||
δ=δ,
|
||||
# bcf_terms=5,
|
||||
)
|
||||
tune_models.append(proto)
|
||||
strobe_indices.append(strobe_i)
|
||||
|
||||
tune_models.append(proto)
|
||||
strobe_indices.append(strobe_i)
|
||||
ωs = np.linspace(tune_models[0].H.max_operator_norm(10) + Δ - 2, 10, 1000)
|
||||
|
||||
for model in tune_models[:len(tunings)]:
|
||||
plt.plot(ωs, model.full_thermal_spectral_density(ωs) * model.bcf_scale)
|
||||
plt.plot(ωs, model.spectral_density(ωs) * model.bcf_scale)
|
||||
plt.axvline(model.H.max_operator_norm(10) + Δ)
|
||||
|
||||
plt.xlabel(r"$\omega$")
|
||||
plt.ylabel(r"$J(\omega)$")
|
||||
|
||||
fs.export_fig("spectral_densities_tuning")
|
||||
|
||||
import gc
|
||||
gc.collect()
|
||||
aux.integrate_multi(tune_models, 2000)
|
||||
|
||||
from hopsflow.util import EnsembleValue
|
||||
final_e = []
|
||||
for (model, data), tune in zip(aux.model_data_iterator(tune_models), tunings):
|
||||
final_e.append((model.total_energy_from_power(data)).value[strobe_indices].min())
|
||||
therm_sd = []
|
||||
sd = []
|
||||
for model in tune_models:
|
||||
therm_sd.append(
|
||||
model.full_thermal_spectral_density(model.H.max_operator_norm(10) + Δ)
|
||||
* model.bcf_scale
|
||||
)
|
||||
sd.append(
|
||||
model.spectral_density(model.H.max_operator_norm(10) + Δ) * model.bcf_scale
|
||||
)
|
||||
|
||||
plt.ylabel(r"$\Delta E$")
|
||||
plt.xlabel(r"$\delta$")
|
||||
plt.plot(tunings, final_e, linestyle="none", marker="o")
|
||||
for (model, data), tune, strobe_i in zip(
|
||||
aux.model_data_iterator(tune_models), np.tile(tunings, len(δs)), strobe_indices
|
||||
):
|
||||
energies = model.total_energy_from_power(data)
|
||||
powers = energies.slice(strobe_i[1:]) * (1 / model.t[strobe_i[1:]])
|
||||
powers = powers.slice(powers.value <= 0)
|
||||
if len(powers.value) and (np.argmax(abs(powers.value)) == (len(powers.value)) - 1):
|
||||
print("need more time")
|
||||
else:
|
||||
print("ok")
|
||||
final_e.append(abs(powers).max if len(powers.value) else EnsembleValue((0,0,0)))
|
||||
|
||||
plt.plot(
|
||||
tune_models[0].t,
|
||||
np.abs(tune_models[0].bcf(tune_models[0].t)
|
||||
+ 2 * tune_models[0].thermal_correlations(tune_models[0].t).real),
|
||||
)
|
||||
plt.plot(
|
||||
tune_models[0].t,
|
||||
np.abs(tune_models[0].bcf(tune_models[0].t)
|
||||
+ 0 * tune_models[0].thermal_correlations(tune_models[0].t).real),
|
||||
fig, (ax, ax2) = plt.subplots(ncols=2)
|
||||
ωs = np.linspace(model.H.max_operator_norm(10) + Δ - 2, 10, 1000)
|
||||
|
||||
for model in tune_models[: len(tunings)]:
|
||||
lines = ax2.plot(ωs, model.spectral_density(ωs) * model.bcf_scale)
|
||||
ax2.plot(
|
||||
ωs,
|
||||
model.full_thermal_spectral_density(ωs) * model.bcf_scale,
|
||||
color=pu.lighten_color(lines[0].get_color(), 0.5),
|
||||
linestyle="dashed",
|
||||
)
|
||||
vline = ax2.axvline(model.H.max_operator_norm(10) + Δ)
|
||||
ax2.set_xlabel(r"$\omega$")
|
||||
ax2.set_ylabel(r"$J(\omega)$")
|
||||
ax2.text(
|
||||
model.H.max_operator_norm(10) + Δ + 0.15,
|
||||
0.01,
|
||||
r"$1+\Delta$",
|
||||
color=vline.get_color(),
|
||||
)
|
||||
|
||||
ωs = np.linspace(1e-3, 10, 1000)
|
||||
def nonzero_density(ωs, model):
|
||||
return model.spectral_density(ωs) * (1 + 1/np.expm1(ωs / model.T))
|
||||
for tuning, model in zip(tunings, tune_models):
|
||||
freqs = np.array([Δ + 1, 2*Δ + 1])
|
||||
line = plt.plot(tuning, nonzero_density(freqs[0], model), label=tuning, markersize=2, marker="o")
|
||||
plt.plot(tuning, nonzero_density(freqs[1], model), color=line[0].get_color(), markersize=4, marker="*")
|
||||
#plt.plot(ωs, nonzero_density(ωs, model))
|
||||
ax.set_ylabel(r"$|P_\mathrm{max}|$ relative")
|
||||
ax.set_xlabel(r"$\delta$")
|
||||
normed_sds = therm_sd[: len(tunings)] / max(therm_sd[: len(tunings)])
|
||||
for i, δ in enumerate(δs):
|
||||
num_tunings = len(tunings)
|
||||
e = final_e[num_tunings * i : num_tunings * (i + 1)]
|
||||
ax.errorbar(
|
||||
tunings,
|
||||
[_.value for _ in e],
|
||||
yerr=[_.σ for _ in e],
|
||||
# / max(final_e[num_tunings * i : num_tunings * (i + 1)]),
|
||||
linestyle="--",
|
||||
marker="o",
|
||||
markersize=3,
|
||||
label=rf"$J_\mathrm{{peak}}={δ}$",
|
||||
)
|
||||
|
||||
plt.legend()
|
||||
ax.legend()
|
||||
# plt.axhline(1)
|
||||
# plt.plot(tunings, normed_sds, linestyle="none", marker="*")
|
||||
# plt.plot(tunings, sd / max(sd), linestyle="none", marker="o")
|
||||
fs.export_fig("modulation_tuning")
|
||||
|
||||
print(es.models_table(tune_models, tablefmt="latex_raw"))
|
||||
|
|
|
@ -10,14 +10,14 @@ for ω_c in ωs:
|
|||
Δ,
|
||||
periods=3,
|
||||
modulate_system=False,
|
||||
δ=0.1,
|
||||
δ=0.01,
|
||||
ω_c = ω_c,
|
||||
)
|
||||
|
||||
proto.k_max = 5
|
||||
proto.therm_method = "fft"
|
||||
|
||||
goal = 0.4
|
||||
goal = 0.01
|
||||
|
||||
|
||||
def cost(δ):
|
||||
|
@ -48,8 +48,3 @@ for ω_c in ωs:
|
|||
final.therm_method = "fft"
|
||||
|
||||
ω_models.append(final.copy())
|
||||
|
||||
aux.integrate_multi(ω_models, 10_000)
|
||||
|
||||
from pprint import pprint
|
||||
print_diff_tbl(ω_models)
|
||||
|
|
|
@ -1 +1 @@
|
|||
\(α(0)=0.4\)
|
||||
\(α(0)=1.6\)
|
|
@ -0,0 +1,457 @@
|
|||
#+PROPERTY: header-args :session 09_one_qubit_cc :kernel python :pandoc no :async yes :tangle otto_motor_cc.py
|
||||
Herein I'll try to get a basic two-bath cycle running and touch base
|
||||
with the markovian result.
|
||||
|
||||
* Boilerplate
|
||||
#+begin_src jupyter-python :results none
|
||||
import figsaver as fs
|
||||
import plot_utils as pu
|
||||
from hiro_models.one_qubit_model import QubitModelMutliBath, StocProcTolerances
|
||||
import hiro_models.model_auxiliary as aux
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import utilities as ut
|
||||
import stocproc
|
||||
import matplotlib.pyplot as plt
|
||||
#+end_src
|
||||
|
||||
Init ray and silence stocproc.
|
||||
#+begin_src jupyter-python
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init(address="141.30.17.16:6379")
|
||||
# ray.init(address='auto')
|
||||
# ray.init()
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: RayContext(dashboard_url='', python_version='3.9.13', ray_version='1.13.0', ray_commit='e4ce38d001dbbe09cd21c497fedd03d692b2be3e', address_info={'node_ip_address': '141.30.17.225', 'raylet_ip_address': '141.30.17.225', 'redis_address': None, 'object_store_address': '/tmp/ray/session_2022-08-03_14-53-16_736667_825118/sockets/plasma_store.8', 'raylet_socket_name': '/tmp/ray/session_2022-08-03_14-53-16_736667_825118/sockets/raylet.4', 'webui_url': '', 'session_dir': '/tmp/ray/session_2022-08-03_14-53-16_736667_825118', 'metrics_export_port': 42364, 'gcs_address': '141.30.17.16:6379', 'address': '141.30.17.16:6379', 'node_id': 'beae439b1647007190930f56aac60773867f3d5f7a8f4794048c1fc4'})
|
||||
|
||||
#+begin_src jupyter-python :results none
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO)
|
||||
#+end_src
|
||||
|
||||
* Cycle
|
||||
#+begin_src jupyter-python :results none
|
||||
from hops.util.dynamic_matrix import SmoothStep, Periodic, ConstantMatrix, ScaleTime, Shift, Piecewise
|
||||
#+end_src
|
||||
|
||||
Now we build a basic otto cycle.
|
||||
Let's lay down some basic functionality.
|
||||
|
||||
#+begin_src jupyter-python
|
||||
H_op = 2*(1/2 * (qt.sigmaz() + qt.identity(2))).full()
|
||||
L_op = (1/2 * qt.sigmax()).full()
|
||||
L_op_2 = (1/2 * qt.sigmax()).full()
|
||||
print(H_op, L_op, sep="\n")
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: [[2.+0.j 0.+0.j]
|
||||
: [0.+0.j 0.+0.j]]
|
||||
: [[0. +0.j 0.5+0.j]
|
||||
: [0.5+0.j 0. +0.j]]
|
||||
|
||||
#+begin_src jupyter-python :results none
|
||||
t_compression = .1
|
||||
t_expansion = .1
|
||||
comp_ratio = .5
|
||||
hot_switch_ratio = .8
|
||||
cold_switch_ratio = .8
|
||||
|
||||
t_hot = (1 - t_expansion - t_compression) / 2
|
||||
t_hot_switch = t_hot * hot_switch_ratio / 2
|
||||
t_cold = (1 - t_expansion - t_compression) / 2
|
||||
t_cold_switch = t_cold * cold_switch_ratio / 2
|
||||
t = np.linspace(0, 10, 1000)
|
||||
#+end_src
|
||||
|
||||
** Expansion
|
||||
#+begin_src jupyter-python
|
||||
H_exp = SmoothStep(comp_ratio * H_op, 0, t_expansion, 2) + H_op * (1 - comp_ratio)
|
||||
tt = np.linspace(0, 1, 1000)
|
||||
plt.plot(tt, H_exp.operator_norm(tt))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <matplotlib.lines.Line2D | at | 0x7f67d7b16790> |
|
||||
[[file:./.ob-jupyter/3881c6a1296c890600f44f323bf7cada34796a52.svg]]
|
||||
:END:
|
||||
|
||||
** Hot Thermalization
|
||||
#+begin_src jupyter-python
|
||||
L_hot = SmoothStep(L_op, t_expansion, t_expansion + t_hot_switch, 2) - SmoothStep(
|
||||
L_op, t_expansion + t_hot - t_hot_switch, t_expansion + t_hot, 2
|
||||
)
|
||||
plt.plot(tt, L_hot.operator_norm(tt))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <matplotlib.lines.Line2D | at | 0x7f67c9712d30> |
|
||||
[[file:./.ob-jupyter/a8a9a5f92e8a831280abac54b86a8eadd04d250f.svg]]
|
||||
:END:
|
||||
|
||||
** Compression
|
||||
#+begin_src jupyter-python
|
||||
H_comp = ConstantMatrix(H_op) - SmoothStep(comp_ratio * H_op, t_expansion + t_hot, t_expansion + t_hot + t_compression, 2)
|
||||
plt.plot(tt, H_comp.operator_norm(tt))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <matplotlib.lines.Line2D | at | 0x7f67c968d460> |
|
||||
[[file:./.ob-jupyter/8d1cc1652c0ecdb3dca2edebf34084aac2e294e8.svg]]
|
||||
:END:
|
||||
|
||||
** Cold Thermalization
|
||||
#+begin_src jupyter-python
|
||||
L_cold = SmoothStep(L_op_2, t_expansion + t_hot + t_compression, t_expansion + t_hot + t_compression + t_cold_switch, 3) - SmoothStep(
|
||||
L_op_2, t_expansion + t_hot + t_compression + t_cold - t_cold_switch, 1, 2
|
||||
)
|
||||
plt.plot(tt, L_cold.operator_norm(tt))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <matplotlib.lines.Line2D | at | 0x7f67c9670820> |
|
||||
[[file:./.ob-jupyter/daaeec41ab4cf2b98f03da09f332c7306ea767d8.svg]]
|
||||
:END:
|
||||
|
||||
** Full Cycle
|
||||
Now we turn the system around after each fill-cycle.
|
||||
#+begin_src jupyter-python
|
||||
H_cyc = Periodic(Piecewise([H_exp, H_comp], [0, t_expansion, 1]), 1)
|
||||
L = [Periodic(L_i, 1) for L_i in (L_cold, L_hot)]
|
||||
period = 1
|
||||
scale = .05
|
||||
H_cyc, *L = [ScaleTime(op, scale) for op in [H_cyc, *L]]
|
||||
|
||||
ω_mod = 2*np.pi / (period) * scale
|
||||
ω_mod
|
||||
t_cycle = period/scale
|
||||
periods = 8
|
||||
t_max = t_cycle * periods
|
||||
dt = .1
|
||||
|
||||
t = np.linspace(0, t_cycle, 1000)
|
||||
|
||||
plt.plot(t, H_cyc.operator_norm(t) - 1, label=r"$f(\tau)$")
|
||||
plt.plot(t, L[0].operator_norm(t) * 2, label=r"$h_{c}(\tau)$")
|
||||
plt.plot(t, L[1].operator_norm(t) * 2, label=r"$h_{h}(\tau)$")
|
||||
plt.xlabel(r"$\tau$")
|
||||
plt.legend()
|
||||
fs.export_fig("modulation", x_scaling=.5, y_scaling=.35)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
[[file:./.ob-jupyter/e48d9ad285307403060fc060162f096c7c46ba4d.svg]]
|
||||
|
||||
** Shifts
|
||||
#+begin_src jupyter-python
|
||||
from scipy.optimize import minimize_scalar
|
||||
|
||||
ref_model = QubitModelMutliBath(
|
||||
ω_c=[1] * 2,
|
||||
T=[1, 20],
|
||||
)
|
||||
|
||||
shifts = []
|
||||
scales = []
|
||||
|
||||
for i, t_exp in enumerate([0, t_expansion / scale]):
|
||||
ω_exp = H_cyc.operator_norm(i * t_cycle / 3)
|
||||
print(ω_exp)
|
||||
def objective(ω_s):
|
||||
ref_model.ω_s[i] = ω_s
|
||||
|
||||
return -ref_model.full_thermal_spectral_density(i)(ω_exp)
|
||||
|
||||
res = minimize_scalar(
|
||||
objective, 1, method="bounded", bounds=(0.01, ω_exp), options=dict(maxiter=100)
|
||||
)
|
||||
shifts.append(res.x)
|
||||
scales.append(-res.fun)
|
||||
ω = np.linspace(0.01, 3, 1000)
|
||||
lines = plt.plot(
|
||||
ω,
|
||||
ref_model.full_thermal_spectral_density(i)(ω) / -res.fun,
|
||||
label=["Cold", "Hot"][i],
|
||||
)
|
||||
plt.plot(
|
||||
ω_exp,
|
||||
ref_model.full_thermal_spectral_density(i)(ω_exp) / -res.fun,
|
||||
marker="o",
|
||||
color=lines[0].get_color(),
|
||||
)
|
||||
|
||||
plt.legend()
|
||||
plt.xlabel(r"$\omega$")
|
||||
plt.ylabel("Arbitrary Units")
|
||||
print(shifts, scales)
|
||||
fs.export_fig("spectral_densities", x_scaling=.5, y_scaling=.35)
|
||||
shifts = [0.01000577876575025, 1.0000001111768948]
|
||||
scales = [0.5819473793333508, 3.865799283487837]
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
: 1.0
|
||||
: 2.0
|
||||
: [0.01000577876575025, 1.0000001111768948] [0.5819473793333508, 3.865799283487837]
|
||||
[[file:./.ob-jupyter/388a36ef461b90e864fa2e9850f2127b9d48b5b1.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
* Model
|
||||
#+begin_src jupyter-python :results none
|
||||
model = QubitModelMutliBath(
|
||||
δ=list(1/np.array(scales) * .1/2),#[.05*4, .01*4],
|
||||
ω_c=ref_model.ω_c,
|
||||
ω_s=shifts,#[H_cyc.operator_norm(0) - 1, H_cyc.operator_norm(t_expansion/scale) - 1],
|
||||
t=ut.linspace_with_strobe(0, t_max, int(t_max // dt), ω_mod),
|
||||
ψ_0=(qt.basis([2], [0])*0 + qt.basis([2], [1])*1),
|
||||
description=f"A simple otto cycle.",
|
||||
k_max=4,
|
||||
bcf_terms=[6]*2,
|
||||
truncation_scheme="simplex",
|
||||
driving_process_tolerances=[StocProcTolerances(1e-3, 1e-3)] * 2,
|
||||
thermal_process_tolerances=[StocProcTolerances(1e-3, 1e-3)] * 2,
|
||||
T = ref_model.T, #= [1, 20],
|
||||
L = [ConstantMatrix(L_op), ConstantMatrix(L_op_2)],
|
||||
H = H_cyc,
|
||||
therm_methods=["fft", "fft"],
|
||||
)
|
||||
#+end_src
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
aux.integrate(model, 10000)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
#+begin_example
|
||||
[INFO hops.core.integration 472774] Using 24 integrators.
|
||||
[INFO hops.core.integration 472774] Some 1000 trajectories have to be integrated.
|
||||
[INFO hops.core.integration 472774] Using 1820 hierarchy states.
|
||||
100% 1000/1000 [06:50<00:00, 2.44it/s]
|
||||
[INFO hops.core.integration 472774] Choosing the nonlinear integrator.
|
||||
[INFO hops.core.integration 472774] Using 24 integrators.
|
||||
[INFO hops.core.integration 472774] Some 9000 trajectories have to be integrated.
|
||||
[INFO hops.core.integration 472774] Using 1820 hierarchy states.
|
||||
67% 6025/9000 [40:11<19:50, 2.50it/s][INFO hops.core.signal_delay 472774] caught sig 'SIGINT'
|
||||
67% 6031/9000 [40:15<19:49, 2.50it/s]
|
||||
2022-09-01 12:51:33,312 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,314 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,315 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,317 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,318 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,320 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,321 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,323 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,324 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,329 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,332 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,335 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,336 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,339 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,342 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,344 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,345 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,346 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,348 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,349 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,350 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,351 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
2022-09-01 12:51:33,353 ERROR worker.py:94 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): The worker died unexpectedly while executing this task. Check python-core-worker-*.log files for more information.
|
||||
[INFO hops.core.signal_delay 472774] caught 1 signal(s)
|
||||
[INFO hops.core.signal_delay 472774] emit signal 'SIGINT'
|
||||
#+end_example
|
||||
# [goto error]
|
||||
#+begin_example
|
||||
[0;31m---------------------------------------------------------------------------[0m
|
||||
[0;31mKeyboardInterrupt[0m Traceback (most recent call last)
|
||||
Input [0;32mIn [24][0m, in [0;36m<cell line: 1>[0;34m()[0m
|
||||
[0;32m----> 1[0m [43maux[49m[38;5;241;43m.[39;49m[43mintegrate[49m[43m([49m[43mmodel[49m[43m,[49m[43m [49m[38;5;241;43m10000[39;49m[43m)[49m
|
||||
|
||||
File [0;32m~/src/two_qubit_model/hiro_models/model_auxiliary.py:110[0m, in [0;36mintegrate[0;34m(model, n, data_path, clear_pd)[0m
|
||||
[1;32m 100[0m [38;5;66;03m# with model_db(data_path) as db:[39;00m
|
||||
[1;32m 101[0m [38;5;66;03m# if hash in db and "data" db[hash][39;00m
|
||||
[1;32m 103[0m supervisor [38;5;241m=[39m HOPSSupervisor(
|
||||
[1;32m 104[0m model[38;5;241m.[39mhops_config,
|
||||
[1;32m 105[0m n,
|
||||
[1;32m 106[0m data_path[38;5;241m=[39mdata_path,
|
||||
[1;32m 107[0m data_name[38;5;241m=[39m[38;5;28mhash[39m,
|
||||
[1;32m 108[0m )
|
||||
[0;32m--> 110[0m [43msupervisor[49m[38;5;241;43m.[39;49m[43mintegrate[49m[43m([49m[43mclear_pd[49m[43m)[49m
|
||||
[1;32m 112[0m [38;5;28;01mwith[39;00m supervisor[38;5;241m.[39mget_data([38;5;28;01mTrue[39;00m) [38;5;28;01mas[39;00m data:
|
||||
[1;32m 113[0m [38;5;28;01mwith[39;00m model_db(data_path) [38;5;28;01mas[39;00m db:
|
||||
|
||||
File [0;32m~/src/hops/hops/core/integration.py:1288[0m, in [0;36mHOPSSupervisor.integrate[0;34m(self, clear_pd)[0m
|
||||
[1;32m 1285[0m [38;5;28;01mbreak[39;00m
|
||||
[1;32m 1287[0m integration[38;5;241m.[39mupdate()
|
||||
[0;32m-> 1288[0m data[38;5;241m.[39mnew_samples(
|
||||
[1;32m 1289[0m idx[38;5;241m=[39mindex,
|
||||
[1;32m 1290[0m incomplete[38;5;241m=[39mincomplete,
|
||||
[1;32m 1291[0m psi0[38;5;241m=[39mpsi0,
|
||||
[1;32m 1292[0m aux_states[38;5;241m=[39maux_states,
|
||||
[1;32m 1293[0m stoc_proc[38;5;241m=[39mstoc_proc,
|
||||
[1;32m 1294[0m result_type[38;5;241m=[39m[38;5;28mself[39m[38;5;241m.[39mparams[38;5;241m.[39mHiP[38;5;241m.[39mresult_type,
|
||||
[1;32m 1295[0m normed[38;5;241m=[39m[38;5;28mself[39m[38;5;241m.[39m_normed_average,
|
||||
[1;32m 1296[0m rng_seed[38;5;241m=[39mseed,
|
||||
[1;32m 1297[0m )
|
||||
|
||||
File [0;32m~/src/hops/hops/core/signal_delay.py:87[0m, in [0;36msig_delay.__exit__[0;34m(self, exc_type, exc_val, exc_tb)[0m
|
||||
[1;32m 84[0m [38;5;28;01mif[39;00m [38;5;28mlen[39m([38;5;28mself[39m[38;5;241m.[39msigh[38;5;241m.[39msigs_caught) [38;5;241m>[39m [38;5;241m0[39m [38;5;129;01mand[39;00m [38;5;28mself[39m[38;5;241m.[39mhandler [38;5;129;01mis[39;00m [38;5;129;01mnot[39;00m [38;5;28;01mNone[39;00m:
|
||||
[1;32m 85[0m [38;5;28mself[39m[38;5;241m.[39mhandler([38;5;28mself[39m[38;5;241m.[39msigh[38;5;241m.[39msigs_caught)
|
||||
[0;32m---> 87[0m [38;5;28;43mself[39;49m[38;5;241;43m.[39;49m[43m_restore[49m[43m([49m[43m)[49m
|
||||
|
||||
File [0;32m~/src/hops/hops/core/signal_delay.py:68[0m, in [0;36msig_delay._restore[0;34m(self)[0m
|
||||
[1;32m 66[0m [38;5;28;01mfor[39;00m i, s [38;5;129;01min[39;00m [38;5;28menumerate[39m([38;5;28mself[39m[38;5;241m.[39msigs):
|
||||
[1;32m 67[0m signal[38;5;241m.[39msignal(s, [38;5;28mself[39m[38;5;241m.[39mold_handlers[i])
|
||||
[0;32m---> 68[0m [38;5;28;43mself[39;49m[38;5;241;43m.[39;49m[43msigh[49m[38;5;241;43m.[39;49m[43memit[49m[43m([49m[43m)[49m
|
||||
|
||||
File [0;32m~/src/hops/hops/core/signal_delay.py:42[0m, in [0;36mSigHandler.emit[0;34m(self)[0m
|
||||
[1;32m 40[0m [38;5;28;01mfor[39;00m s [38;5;129;01min[39;00m [38;5;28mself[39m[38;5;241m.[39msigs_caught:
|
||||
[1;32m 41[0m log[38;5;241m.[39minfo([38;5;124m"[39m[38;5;124memit signal [39m[38;5;124m'[39m[38;5;132;01m{}[39;00m[38;5;124m'[39m[38;5;124m"[39m[38;5;241m.[39mformat(SIG_MAP[s]))
|
||||
[0;32m---> 42[0m [43mos[49m[38;5;241;43m.[39;49m[43mkill[49m[43m([49m[43mos[49m[38;5;241;43m.[39;49m[43mgetpid[49m[43m([49m[43m)[49m[43m,[49m[43m [49m[43ms[49m[43m)[49m
|
||||
|
||||
[0;31mKeyboardInterrupt[0m:
|
||||
#+end_example
|
||||
:END:
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
model.full_thermal_bcf(0)(0) * model.bcf_scales[0]
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| 0.37969344545116374+0j |
|
||||
|
||||
#+begin_src jupyter-python
|
||||
f, a = pu.plot_energy_overview(model, strobe_frequency=ω_mod, hybrid=True, bath_names=["C","H"])
|
||||
# a.plot(model.t, model.L[0].operator_norm(model.t))
|
||||
# a.plot(model.t, model.L[1].operator_norm(model.t))
|
||||
a.set_xlabel(r"$\tau$")
|
||||
a.legend()
|
||||
fs.export_fig("energy_strobe_continuous", y_scaling=.6)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
[[file:./.ob-jupyter/1923d2fe4898092052cb87ef9f4d3f83f90c9829.svg]]
|
||||
|
||||
#+begin_src jupyter-python
|
||||
fig, ax = plt.subplots()
|
||||
with aux.get_data(model) as data:
|
||||
power = model.interaction_power(data).sum_baths()
|
||||
power_sys = model.system_power(data).sum_baths()
|
||||
energy = model.total_energy_from_power(data)
|
||||
ax.plot([], [])
|
||||
pu.plot_with_σ(model.t, power_sys, ax=ax, label="System")
|
||||
|
||||
ax.legend()
|
||||
ax.set_title("Power")
|
||||
ax.set_xlabel(r"$\tau$")
|
||||
fs.export_fig("power_continuous", y_scaling=0.4)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
[[file:./.ob-jupyter/c1bd0d8af02b19644d1e6734ab62579d3f62c6b8.svg]]
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
steady_index = 2
|
||||
cycle_times, cycle_indices = ut.strobe_times(model.t, ω_mod)
|
||||
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
total_energies = model.total_energy_from_power(data).slice(
|
||||
cycle_indices[steady_index:]
|
||||
)
|
||||
hot_bath_energies = (
|
||||
model.bath_energy(data).for_bath(1).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
e_diff = total_energies.slice(0) - total_energies.slice(-1)
|
||||
mean_power = e_diff * (1 / (model.t[-1] - cycle_times[steady_index]))
|
||||
efficiency = e_diff * (
|
||||
1 / (hot_bath_energies.slice(0) - hot_bath_energies.slice(-1)).value
|
||||
)
|
||||
mean_power.value, mean_power.σ, efficiency.value
|
||||
|
||||
fs.tex_value(mean_power.value, err=mean_power.σ, prefix=r"\bar{P}="), fs.tex_value(
|
||||
efficiency.value * 100, prefix=r"η=", suffix=r"\%"
|
||||
)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| \(\bar{P}=0.001280\pm 0.000018\) | \(η=4\%\) |
|
||||
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
with aux.get_data(model) as data:
|
||||
ρ = data.rho_t_accum.mean[:]
|
||||
σ_ρ = data.rho_t_accum.ensemble_std[:]
|
||||
plt.plot(model.t[100:], abs(ρ[100:, 0, 1]) / abs(ρ[100:, 0, 0]))
|
||||
plt.yscale("log")
|
||||
plt.xlabel(r"$\tau$")
|
||||
plt.ylabel(r"$|\rho_{01}| / \rho_{00}$")
|
||||
fs.export_fig("coherences")
|
||||
xs = np.einsum("tij,ji->t", ρ, qt.sigmax().full())
|
||||
ys = np.einsum("tij,ji->t", ρ, qt.sigmay().full())
|
||||
zs = np.einsum("tij,ji->t", ρ, qt.sigmaz().full())
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
[[file:./.ob-jupyter/248a8051f703aa359f429c45da6aef5897840514.svg]]
|
||||
|
||||
#+begin_src jupyter-python
|
||||
steady_index = 1
|
||||
cycle_times, cycle_indices = ut.strobe_times(model.t, ω_mod)
|
||||
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
hot_bath_energies = (
|
||||
model.bath_energy(data).for_bath(1).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
cold_bath_energies = (
|
||||
model.bath_energy(data).for_bath(0).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
hot_diff = (hot_bath_energies.slice(slice(1,-1, 1)) - hot_bath_energies.slice(slice(0,-2, 1))) * (1/model.T[1])
|
||||
cold_diff = (cold_bath_energies.slice(slice(1,-1, 1)) - cold_bath_energies.slice(slice(0,-2, 1))) * (1/model.T[0])
|
||||
gibbs = hot_diff.mean + cold_diff.mean
|
||||
print(fs.tex_value(gibbs.value, err=gibbs.σ))
|
||||
print(gibbs.value / gibbs.σ)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: \(0.6198\pm 0.0021\)
|
||||
: 299.1098863449865
|
||||
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
b = qt.Bloch()
|
||||
b.add_points([xs, ys, zs])
|
||||
b.view = [20, 20]
|
||||
b.point_size = [0.01]
|
||||
b.sphere_alpha = 0.01
|
||||
b.render()
|
||||
# fs.export_fig("bloch", fig=b.fig)
|
||||
b.fig
|
||||
#+end_src
|
||||
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
: /nix/store/9fp3glm79h56gz17w052rlqw3gwcza7i-python3-3.9.13-env/lib/python3.9/site-packages/IPython/core/pylabtools.py:151: UserWarning: There are no gridspecs with layoutgrids. Possibly did not call parent GridSpec with the "figure" keyword
|
||||
: fig.canvas.print_figure(bytes_io, **kw)
|
||||
[[file:./.ob-jupyter/d500fa74b313f80e765d832c14618e0311e6ae26.svg]]
|
||||
:END:
|
|
@ -24,7 +24,7 @@ Init ray and silence stocproc.
|
|||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: RayContext(dashboard_url='', python_version='3.9.13', ray_version='1.13.0', ray_commit='e4ce38d001dbbe09cd21c497fedd03d692b2be3e', address_info={'node_ip_address': '141.30.17.225', 'raylet_ip_address': '141.30.17.225', 'redis_address': None, 'object_store_address': '/tmp/ray/session_2022-08-25_14-28-33_210699_311404/sockets/plasma_store', 'raylet_socket_name': '/tmp/ray/session_2022-08-25_14-28-33_210699_311404/sockets/raylet', 'webui_url': '', 'session_dir': '/tmp/ray/session_2022-08-25_14-28-33_210699_311404', 'metrics_export_port': 51335, 'gcs_address': '141.30.17.225:49191', 'address': '141.30.17.225:49191', 'node_id': 'f56218ac6f7953fb2918fe3d9901e37b9d6eb39dbcb570c6f6b3d37b'})
|
||||
: RayContext(dashboard_url='', python_version='3.9.13', ray_version='1.13.0', ray_commit='e4ce38d001dbbe09cd21c497fedd03d692b2be3e', address_info={'node_ip_address': '141.30.17.225', 'raylet_ip_address': '141.30.17.225', 'redis_address': None, 'object_store_address': '/tmp/ray/session_2022-08-31_16-13-49_406995_81357/sockets/plasma_store', 'raylet_socket_name': '/tmp/ray/session_2022-08-31_16-13-49_406995_81357/sockets/raylet', 'webui_url': '', 'session_dir': '/tmp/ray/session_2022-08-31_16-13-49_406995_81357', 'metrics_export_port': 53031, 'gcs_address': '141.30.17.225:48046', 'address': '141.30.17.225:48046', 'node_id': 'ee259897128c1f933240fc43cc27f9c53503a2813340d340a649383c'})
|
||||
|
||||
#+begin_src jupyter-python :results none
|
||||
from hops.util.logging_setup import logging_setup
|
||||
|
@ -76,8 +76,8 @@ Let's lay down some basic functionality.
|
|||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <matplotlib.lines.Line2D | at | 0x7f08c50754c0> |
|
||||
[[file:./.ob-jupyter/1fdbf5e8f0e4baea901a45cd3b8e07fdffa55dc0.svg]]
|
||||
| <matplotlib.lines.Line2D | at | 0x7f7dbad918e0> |
|
||||
[[file:./.ob-jupyter/8d84ee4e94b1da8212a9743e74031d0de30409c8.svg]]
|
||||
:END:
|
||||
|
||||
** Hot Thermalization
|
||||
|
@ -90,8 +90,8 @@ Let's lay down some basic functionality.
|
|||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <matplotlib.lines.Line2D | at | 0x7f08b69cbe50> |
|
||||
[[file:./.ob-jupyter/c329795210622a56c5cc54daccb1843b5adc48ca.svg]]
|
||||
| <matplotlib.lines.Line2D | at | 0x7f7dbc933ee0> |
|
||||
[[file:./.ob-jupyter/d356101136a1a781207e8ebd8d7eff13b68887c9.svg]]
|
||||
:END:
|
||||
|
||||
** Compression
|
||||
|
@ -102,8 +102,8 @@ Let's lay down some basic functionality.
|
|||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <matplotlib.lines.Line2D | at | 0x7f08b69454f0> |
|
||||
[[file:./.ob-jupyter/7ed97af88f090ad1bb3b943711a34408dc1a9072.svg]]
|
||||
| <matplotlib.lines.Line2D | at | 0x7f7dbac86ee0> |
|
||||
[[file:./.ob-jupyter/76974bf650add560ccc03e012578ed902fc5bb5e.svg]]
|
||||
:END:
|
||||
|
||||
** Cold Thermalization
|
||||
|
@ -116,8 +116,8 @@ Let's lay down some basic functionality.
|
|||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <matplotlib.lines.Line2D | at | 0x7f08b692ca90> |
|
||||
[[file:./.ob-jupyter/b429a448a8d92927925baa9ce7d054721d70a9e1.svg]]
|
||||
| <matplotlib.lines.Line2D | at | 0x7f7dba9ae670> |
|
||||
[[file:./.ob-jupyter/3ed7dd6e3a5c05c6b241e4297ee268aee47fdf3b.svg]]
|
||||
:END:
|
||||
|
||||
** Full Cycle
|
||||
|
@ -139,15 +139,15 @@ Now we turn the system around after each fill-cycle.
|
|||
t = np.linspace(0, t_cycle, 1000)
|
||||
|
||||
plt.plot(t, H_cyc.operator_norm(t) - 1, label=r"$f(\tau)$")
|
||||
plt.plot(t, L[0].operator_norm(t) * 2, label=r"$g_{c}(\tau)$")
|
||||
plt.plot(t, L[1].operator_norm(t) * 2, label=r"$g_{h}(\tau)$")
|
||||
plt.plot(t, L[0].operator_norm(t) * 2, label=r"$h_{c}(\tau)$")
|
||||
plt.plot(t, L[1].operator_norm(t) * 2, label=r"$h_{h}(\tau)$")
|
||||
plt.xlabel(r"$\tau$")
|
||||
plt.legend()
|
||||
fs.export_fig("modulation", x_scaling=.5, y_scaling=.35)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
[[file:./.ob-jupyter/5c1a8c11fde4110a9bba10a2d2b1da3401ec327a.svg]]
|
||||
[[file:./.ob-jupyter/90e7ba4c8592f0c233d87f7bfa533367dce77823.svg]]
|
||||
|
||||
** Shifts
|
||||
#+begin_src jupyter-python
|
||||
|
@ -191,9 +191,9 @@ Now we turn the system around after each fill-cycle.
|
|||
plt.xlabel(r"$\omega$")
|
||||
plt.ylabel("Arbitrary Units")
|
||||
print(shifts, scales)
|
||||
# fs.export_fig("spectral_densities", x_scaling=.5, y_scaling=.35)
|
||||
# shifts = [0.010005778765750251, 0.5000003902186526]
|
||||
# scales = [0.3656483223378975, 3.198956858189882]
|
||||
fs.export_fig("spectral_densities", x_scaling=.5, y_scaling=.35)
|
||||
shifts = [0.01000577876575025, 1.0000001111768948]
|
||||
scales = [0.5819473793333508, 3.865799283487837]
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
|
@ -201,7 +201,7 @@ Now we turn the system around after each fill-cycle.
|
|||
: 1.0
|
||||
: 2.0
|
||||
: [0.01000577876575025, 1.0000001111768948] [0.5819473793333508, 3.865799283487837]
|
||||
[[file:./.ob-jupyter/f64b53223d96a7adadf180096f9af5938cbb2d60.svg]]
|
||||
[[file:./.ob-jupyter/c80e410ccf978d57f58fb423e1bb9c7d2da121f8.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
|
@ -237,41 +237,37 @@ Now we turn the system around after each fill-cycle.
|
|||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| 0.6043008870314562+0j |
|
||||
| 0.37969344545116374+0j |
|
||||
|
||||
#+begin_src jupyter-python
|
||||
f, a = pu.plot_energy_overview(model, strobe_frequency=ω_mod, hybrid=True)
|
||||
# a.plot(model.t, model.H.operator_norm(model.t))
|
||||
f, a = pu.plot_energy_overview(model, strobe_frequency=ω_mod, hybrid=True, bath_names=["C","H"])
|
||||
# a.plot(model.t, model.L[0].operator_norm(model.t))
|
||||
# a.plot(model.t, model.L[1].operator_norm(model.t))
|
||||
a.set_xlabel(r"$\tau$")
|
||||
a.legend()
|
||||
#fs.export_fig("energy_strobe", y_scaling=.6)
|
||||
fs.export_fig("energy_strobe", y_scaling=.6)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
: <matplotlib.legend.Legend at 0x7f08af06dc70>
|
||||
[[file:./.ob-jupyter/d00d2d44c36070dc6d2af0c0850f30355fd5bf36.svg]]
|
||||
:END:
|
||||
[[file:./.ob-jupyter/1995b28cb61148b2f5adcba1fed656a15f64d4ed.svg]]
|
||||
|
||||
#+begin_src jupyter-python
|
||||
fig, ax = plt.subplots()
|
||||
with aux.get_data(model) as data:
|
||||
power = model.interaction_power(data).sum_baths()
|
||||
power_sys = model.system_power(data).sum_baths()
|
||||
energy = model.total_energy_from_power(data)
|
||||
pu.plot_with_σ(model.t, power, ax=ax, label="Interaction")
|
||||
pu.plot_with_σ(model.t, power_sys, ax=ax, label="System")
|
||||
power = model.interaction_power(data).sum_baths()
|
||||
power_sys = model.system_power(data).sum_baths()
|
||||
energy = model.total_energy_from_power(data)
|
||||
pu.plot_with_σ(model.t, power, ax=ax, label="Interaction")
|
||||
pu.plot_with_σ(model.t, power_sys, ax=ax, label="System")
|
||||
|
||||
ax.legend()
|
||||
ax.set_title("Power")
|
||||
ax.set_xlabel(r"$\tau$")
|
||||
fs.export_fig("power", y_scaling=.4)
|
||||
fs.export_fig("power", y_scaling=0.4)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
[[file:./.ob-jupyter/a920807166eb55c5dcb225c6c41cd01ca5c2df89.svg]]
|
||||
[[file:./.ob-jupyter/0574f89991f03ba304cb863e8950a13c89e211f8.svg]]
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
|
@ -293,46 +289,97 @@ Now we turn the system around after each fill-cycle.
|
|||
1 / (hot_bath_energies.slice(0) - hot_bath_energies.slice(-1)).value
|
||||
)
|
||||
mean_power.value, mean_power.σ, efficiency.value
|
||||
|
||||
fs.tex_value(mean_power.value, err=mean_power.σ, prefix=r"\bar{P}="), fs.tex_value(
|
||||
efficiency.value * 100, prefix=r"η=", suffix=r"\%"
|
||||
)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| 0.0019806021074448648 | 2.3085106663538818e-05 | 0.1975630167587971 |
|
||||
| \(\bar{P}=0.002468\pm 0.000021\) | \(η=29\%\) |
|
||||
|
||||
#+begin_src jupyter-python
|
||||
steady_index = 3
|
||||
cycle_times, cycle_indices = ut.strobe_times(model.t, ω_mod)
|
||||
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
total_energies = model.energy_change_from_system_power(data).slice(
|
||||
cycle_indices[steady_index:]
|
||||
)
|
||||
hot_bath_energies = (
|
||||
model.bath_energy(data).for_bath(1).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
e_diff = total_energies.slice(0) - total_energies.slice(-1)
|
||||
mean_power = e_diff * (1 / (model.t[-1] - cycle_times[steady_index]))
|
||||
efficiency = e_diff * (
|
||||
1 / (hot_bath_energies.slice(0) - hot_bath_energies.slice(-1)).value
|
||||
)
|
||||
fs.tex_value(mean_power.value, err=mean_power.σ, prefix=r"\bar{P}="), fs.tex_value(
|
||||
efficiency.value * 100, prefix=r"η=", suffix=r"\%"
|
||||
)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| \(\bar{P}=0.004337\pm 0.000018\) | \(η=52\%\) |
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
with aux.get_data(model) as data:
|
||||
ρ = data.rho_t_accum.mean[:]
|
||||
σ_ρ = data.rho_t_accum.ensemble_std[:]
|
||||
plt.plot(model.t, ρ[:, 0, 0])
|
||||
plt.plot(model.t[100:], abs(ρ[100:, 0, 1]) / abs(ρ[100:, 0, 0]))
|
||||
plt.yscale("log")
|
||||
plt.xlabel(r"$\tau$")
|
||||
plt.ylabel(r"$|\rho_{01}| / \rho_{00}$")
|
||||
fs.export_fig("coherences")
|
||||
xs = np.einsum("tij,ji->t", ρ, qt.sigmax().full())
|
||||
ys = np.einsum("tij,ji->t", ρ, qt.sigmay().full())
|
||||
zs = np.einsum("tij,ji->t", ρ, qt.sigmaz().full())
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
: /nix/store/9fp3glm79h56gz17w052rlqw3gwcza7i-python3-3.9.13-env/lib/python3.9/site-packages/matplotlib/cbook/__init__.py:1298: ComplexWarning: Casting complex values to real discards the imaginary part
|
||||
: return np.asarray(x, float)
|
||||
[[file:./.ob-jupyter/d7b074c74ef3761fe491ad92283655746125d59e.svg]]
|
||||
:END:
|
||||
[[file:./.ob-jupyter/d4d4877be23c1ab2702685d16a8e4a1ba1594347.svg]]
|
||||
|
||||
#+begin_src jupyter-python
|
||||
steady_index = 3
|
||||
cycle_times, cycle_indices = ut.strobe_times(model.t, ω_mod)
|
||||
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
hot_bath_energies = (
|
||||
model.bath_energy(data).for_bath(1).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
cold_bath_energies = (
|
||||
model.bath_energy(data).for_bath(0).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
hot_diff = (hot_bath_energies.slice(slice(1,-1, 1)) - hot_bath_energies.slice(slice(0,-2, 1))) * (1/model.T[1])
|
||||
cold_diff = (cold_bath_energies.slice(slice(1,-1, 1)) - cold_bath_energies.slice(slice(0,-2, 1))) * (1/model.T[0])
|
||||
gibbs = hot_diff.mean + cold_diff.mean
|
||||
print(fs.tex_value(gibbs.value, err=gibbs.σ))
|
||||
print(gibbs.value / gibbs.σ)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: \(0.1096\pm 0.0008\)
|
||||
: 137.4959836253038
|
||||
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
%matplotlib inline
|
||||
b = qt.Bloch()
|
||||
b.add_points([xs, ys, zs])
|
||||
b.view = [20, 20]
|
||||
b.point_size = [0.1]
|
||||
b.sphere_alpha = 0.1
|
||||
b.size = [20, 20]
|
||||
b.point_size = [0.01]
|
||||
b.sphere_alpha = 0.01
|
||||
b.render()
|
||||
b.fig
|
||||
fs.export_fig("bloch", fig=b.fig)
|
||||
|
||||
#+end_src
|
||||
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
: /nix/store/9fp3glm79h56gz17w052rlqw3gwcza7i-python3-3.9.13-env/lib/python3.9/site-packages/qutip/bloch.py:639: UserWarning: There are no gridspecs with layoutgrids. Possibly did not call parent GridSpec with the "figure" keyword
|
||||
: self.fig.canvas.draw()
|
||||
: /nix/store/9fp3glm79h56gz17w052rlqw3gwcza7i-python3-3.9.13-env/lib/python3.9/site-packages/IPython/core/pylabtools.py:151: UserWarning: There are no gridspecs with layoutgrids. Possibly did not call parent GridSpec with the "figure" keyword
|
||||
: fig.canvas.print_figure(bytes_io, **kw)
|
||||
[[file:./.ob-jupyter/072aab236948e2e79dc6a892c44f33144b4fd2d9.svg]]
|
||||
:END:
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
"nodes": {
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1656928814,
|
||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
|
||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -17,11 +17,11 @@
|
|||
},
|
||||
"flake-utils_2": {
|
||||
"locked": {
|
||||
"lastModified": 1656928814,
|
||||
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
|
||||
"lastModified": 1659877975,
|
||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
|
||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -32,11 +32,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1660305968,
|
||||
"narHash": "sha256-r0X1pZCSEA6mzt5OuTA7nHuLmvnbkwgpFAh1iLIx4GU=",
|
||||
"lastModified": 1664281702,
|
||||
"narHash": "sha256-haixZ4TJLu1Dciow54wrHrHvlGDVr5sW6MTeAV/ZLuI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c4a0efdd5a728e20791b8d8d2f26f90ac228ee8d",
|
||||
"rev": "7e52b35fe98481a279d89f9c145f8076d049d2b9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -47,11 +47,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1658311025,
|
||||
"narHash": "sha256-GqagY5YmaZB3YaO41kKcQhe5RcpS83wnsW8iCu5Znqo=",
|
||||
"lastModified": 1660546381,
|
||||
"narHash": "sha256-rEzCjeWVGhK5AyHxm1zet0lF6+AVSW3JuU5LAU2SMYU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cd8d1784506a7c7eb0796772b73437e0b82fad57",
|
||||
"rev": "eb642f80f9aecc19312909e08601a3c2020b5ce2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -66,11 +66,11 @@
|
|||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1657626303,
|
||||
"narHash": "sha256-O/JJ0hSBCmlx0oP8QGAlRrWn0BvlC5cj7/EZ0CCWHTU=",
|
||||
"lastModified": 1660542485,
|
||||
"narHash": "sha256-XfklMwJMLB7bLI5ZnQTrNaK7KyBnElLGoWOL++XO3zk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "poetry2nix",
|
||||
"rev": "920ba682377d5c0d87945c5eb6141ab8447ca509",
|
||||
"rev": "8b6239cf2ded121f8f3d570d2563d69f05d4208f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -94,11 +94,11 @@
|
|||
"poetry2nix": "poetry2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1658314126,
|
||||
"narHash": "sha256-rEoZSb8bBafEd6m3xu/yQtSFlP8GZxKN15YqMZkeMaQ=",
|
||||
"lastModified": 1660547406,
|
||||
"narHash": "sha256-ZRLGxqHmX5xtCBPCt1pb2E3Z70IEmMT3TA+JruosF4Q=",
|
||||
"owner": "vale981",
|
||||
"repo": "hiro-flake-utils",
|
||||
"rev": "316cd25ffd9d7afd331cbbc1429f62f30567e288",
|
||||
"rev": "dd1e89c5fabbca9a3dbec91cab3e3e3867da10fc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -69,8 +69,8 @@ dt = .1
|
|||
t = np.linspace(0, t_cycle, 1000)
|
||||
|
||||
plt.plot(t, H_cyc.operator_norm(t) - 1, label=r"$f(\tau)$")
|
||||
plt.plot(t, L[0].operator_norm(t) * 2, label=r"$g_{c}(\tau)$")
|
||||
plt.plot(t, L[1].operator_norm(t) * 2, label=r"$g_{h}(\tau)$")
|
||||
plt.plot(t, L[0].operator_norm(t) * 2, label=r"$h_{c}(\tau)$")
|
||||
plt.plot(t, L[1].operator_norm(t) * 2, label=r"$h_{h}(\tau)$")
|
||||
plt.xlabel(r"$\tau$")
|
||||
plt.legend()
|
||||
fs.export_fig("modulation", x_scaling=.5, y_scaling=.35)
|
||||
|
@ -115,9 +115,9 @@ plt.legend()
|
|||
plt.xlabel(r"$\omega$")
|
||||
plt.ylabel("Arbitrary Units")
|
||||
print(shifts, scales)
|
||||
# fs.export_fig("spectral_densities", x_scaling=.5, y_scaling=.35)
|
||||
# shifts = [0.010005778765750251, 0.5000003902186526]
|
||||
# scales = [0.3656483223378975, 3.198956858189882]
|
||||
fs.export_fig("spectral_densities", x_scaling=.5, y_scaling=.35)
|
||||
shifts = [0.01000577876575025, 1.0000001111768948]
|
||||
scales = [0.5819473793333508, 3.865799283487837]
|
||||
|
||||
model = QubitModelMutliBath(
|
||||
δ=list(1/np.array(scales) * .1/2),#[.05*4, .01*4],
|
||||
|
@ -141,26 +141,25 @@ aux.integrate(model, 10000)
|
|||
|
||||
model.full_thermal_bcf(0)(0) * model.bcf_scales[0]
|
||||
|
||||
f, a = pu.plot_energy_overview(model, strobe_frequency=ω_mod, hybrid=True)
|
||||
# a.plot(model.t, model.H.operator_norm(model.t))
|
||||
f, a = pu.plot_energy_overview(model, strobe_frequency=ω_mod, hybrid=True, bath_names=["C","H"])
|
||||
# a.plot(model.t, model.L[0].operator_norm(model.t))
|
||||
# a.plot(model.t, model.L[1].operator_norm(model.t))
|
||||
a.set_xlabel(r"$\tau$")
|
||||
a.legend()
|
||||
#fs.export_fig("energy_strobe", y_scaling=.6)
|
||||
fs.export_fig("energy_strobe", y_scaling=.6)
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
with aux.get_data(model) as data:
|
||||
power = model.interaction_power(data).sum_baths()
|
||||
power_sys = model.system_power(data).sum_baths()
|
||||
energy = model.total_energy_from_power(data)
|
||||
pu.plot_with_σ(model.t, power, ax=ax, label="Interaction")
|
||||
pu.plot_with_σ(model.t, power_sys, ax=ax, label="System")
|
||||
power = model.interaction_power(data).sum_baths()
|
||||
power_sys = model.system_power(data).sum_baths()
|
||||
energy = model.total_energy_from_power(data)
|
||||
pu.plot_with_σ(model.t, power, ax=ax, label="Interaction")
|
||||
pu.plot_with_σ(model.t, power_sys, ax=ax, label="System")
|
||||
|
||||
ax.legend()
|
||||
ax.set_title("Power")
|
||||
ax.set_xlabel(r"$\tau$")
|
||||
fs.export_fig("power", y_scaling=.4)
|
||||
fs.export_fig("power", y_scaling=0.4)
|
||||
|
||||
steady_index = 3
|
||||
cycle_times, cycle_indices = ut.strobe_times(model.t, ω_mod)
|
||||
|
@ -181,19 +180,67 @@ efficiency = e_diff * (
|
|||
)
|
||||
mean_power.value, mean_power.σ, efficiency.value
|
||||
|
||||
fs.tex_value(mean_power.value, err=mean_power.σ, prefix=r"\bar{P}="), fs.tex_value(
|
||||
efficiency.value * 100, prefix=r"η=", suffix=r"\%"
|
||||
)
|
||||
|
||||
steady_index = 3
|
||||
cycle_times, cycle_indices = ut.strobe_times(model.t, ω_mod)
|
||||
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
total_energies = model.energy_change_from_system_power(data).slice(
|
||||
cycle_indices[steady_index:]
|
||||
)
|
||||
hot_bath_energies = (
|
||||
model.bath_energy(data).for_bath(1).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
e_diff = total_energies.slice(0) - total_energies.slice(-1)
|
||||
mean_power = e_diff * (1 / (model.t[-1] - cycle_times[steady_index]))
|
||||
efficiency = e_diff * (
|
||||
1 / (hot_bath_energies.slice(0) - hot_bath_energies.slice(-1)).value
|
||||
)
|
||||
fs.tex_value(mean_power.value, err=mean_power.σ, prefix=r"\bar{P}="), fs.tex_value(
|
||||
efficiency.value * 100, prefix=r"η=", suffix=r"\%"
|
||||
)
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
ρ = data.rho_t_accum.mean[:]
|
||||
σ_ρ = data.rho_t_accum.ensemble_std[:]
|
||||
plt.plot(model.t, ρ[:, 0, 0])
|
||||
plt.plot(model.t[100:], abs(ρ[100:, 0, 1]) / abs(ρ[100:, 0, 0]))
|
||||
plt.yscale("log")
|
||||
plt.xlabel(r"$\tau$")
|
||||
plt.ylabel(r"$|\rho_{01}| / \rho_{00}$")
|
||||
fs.export_fig("coherences")
|
||||
xs = np.einsum("tij,ji->t", ρ, qt.sigmax().full())
|
||||
ys = np.einsum("tij,ji->t", ρ, qt.sigmay().full())
|
||||
zs = np.einsum("tij,ji->t", ρ, qt.sigmaz().full())
|
||||
|
||||
steady_index = 3
|
||||
cycle_times, cycle_indices = ut.strobe_times(model.t, ω_mod)
|
||||
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
hot_bath_energies = (
|
||||
model.bath_energy(data).for_bath(1).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
cold_bath_energies = (
|
||||
model.bath_energy(data).for_bath(0).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
hot_diff = (hot_bath_energies.slice(slice(1,-1, 1)) - hot_bath_energies.slice(slice(0,-2, 1))) * (1/model.T[1])
|
||||
cold_diff = (cold_bath_energies.slice(slice(1,-1, 1)) - cold_bath_energies.slice(slice(0,-2, 1))) * (1/model.T[0])
|
||||
gibbs = hot_diff.mean + cold_diff.mean
|
||||
print(fs.tex_value(gibbs.value, err=gibbs.σ))
|
||||
print(gibbs.value / gibbs.σ)
|
||||
|
||||
%matplotlib inline
|
||||
b = qt.Bloch()
|
||||
b.add_points([xs, ys, zs])
|
||||
b.view = [20, 20]
|
||||
b.point_size = [0.1]
|
||||
b.sphere_alpha = 0.1
|
||||
b.size = [20, 20]
|
||||
b.point_size = [0.01]
|
||||
b.sphere_alpha = 0.01
|
||||
b.render()
|
||||
b.fig
|
||||
fs.export_fig("bloch", fig=b.fig)
|
||||
|
|
|
@ -0,0 +1,226 @@
|
|||
import figsaver as fs
|
||||
import plot_utils as pu
|
||||
from hiro_models.one_qubit_model import QubitModelMutliBath, StocProcTolerances
|
||||
import hiro_models.model_auxiliary as aux
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import utilities as ut
|
||||
import stocproc
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init(address="141.30.17.16:6379")
|
||||
# ray.init(address='auto')
|
||||
# ray.init()
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO)
|
||||
|
||||
from hops.util.dynamic_matrix import SmoothStep, Periodic, ConstantMatrix, ScaleTime, Shift, Piecewise
|
||||
|
||||
H_op = 2*(1/2 * (qt.sigmaz() + qt.identity(2))).full()
|
||||
L_op = (1/2 * qt.sigmax()).full()
|
||||
L_op_2 = (1/2 * qt.sigmax()).full()
|
||||
print(H_op, L_op, sep="\n")
|
||||
|
||||
t_compression = .1
|
||||
t_expansion = .1
|
||||
comp_ratio = .5
|
||||
hot_switch_ratio = .8
|
||||
cold_switch_ratio = .8
|
||||
|
||||
t_hot = (1 - t_expansion - t_compression) / 2
|
||||
t_hot_switch = t_hot * hot_switch_ratio / 2
|
||||
t_cold = (1 - t_expansion - t_compression) / 2
|
||||
t_cold_switch = t_cold * cold_switch_ratio / 2
|
||||
t = np.linspace(0, 10, 1000)
|
||||
|
||||
H_exp = SmoothStep(comp_ratio * H_op, 0, t_expansion, 2) + H_op * (1 - comp_ratio)
|
||||
tt = np.linspace(0, 1, 1000)
|
||||
plt.plot(tt, H_exp.operator_norm(tt))
|
||||
|
||||
L_hot = SmoothStep(L_op, t_expansion, t_expansion + t_hot_switch, 2) - SmoothStep(
|
||||
L_op, t_expansion + t_hot - t_hot_switch, t_expansion + t_hot, 2
|
||||
)
|
||||
plt.plot(tt, L_hot.operator_norm(tt))
|
||||
|
||||
H_comp = ConstantMatrix(H_op) - SmoothStep(comp_ratio * H_op, t_expansion + t_hot, t_expansion + t_hot + t_compression, 2)
|
||||
plt.plot(tt, H_comp.operator_norm(tt))
|
||||
|
||||
L_cold = SmoothStep(L_op_2, t_expansion + t_hot + t_compression, t_expansion + t_hot + t_compression + t_cold_switch, 3) - SmoothStep(
|
||||
L_op_2, t_expansion + t_hot + t_compression + t_cold - t_cold_switch, 1, 2
|
||||
)
|
||||
plt.plot(tt, L_cold.operator_norm(tt))
|
||||
|
||||
H_cyc = Periodic(Piecewise([H_exp, H_comp], [0, t_expansion, 1]), 1)
|
||||
L = [Periodic(L_i, 1) for L_i in (L_cold, L_hot)]
|
||||
period = 1
|
||||
scale = .05
|
||||
H_cyc, *L = [ScaleTime(op, scale) for op in [H_cyc, *L]]
|
||||
|
||||
ω_mod = 2*np.pi / (period) * scale
|
||||
ω_mod
|
||||
t_cycle = period/scale
|
||||
periods = 8
|
||||
t_max = t_cycle * periods
|
||||
dt = .1
|
||||
|
||||
t = np.linspace(0, t_cycle, 1000)
|
||||
|
||||
plt.plot(t, H_cyc.operator_norm(t) - 1, label=r"$f(\tau)$")
|
||||
plt.plot(t, L[0].operator_norm(t) * 2, label=r"$h_{c}(\tau)$")
|
||||
plt.plot(t, L[1].operator_norm(t) * 2, label=r"$h_{h}(\tau)$")
|
||||
plt.xlabel(r"$\tau$")
|
||||
plt.legend()
|
||||
fs.export_fig("modulation", x_scaling=.5, y_scaling=.35)
|
||||
|
||||
from scipy.optimize import minimize_scalar
|
||||
|
||||
ref_model = QubitModelMutliBath(
|
||||
ω_c=[1] * 2,
|
||||
T=[1, 20],
|
||||
)
|
||||
|
||||
shifts = []
|
||||
scales = []
|
||||
|
||||
for i, t_exp in enumerate([0, t_expansion / scale]):
|
||||
ω_exp = H_cyc.operator_norm(i * t_cycle / 3)
|
||||
print(ω_exp)
|
||||
def objective(ω_s):
|
||||
ref_model.ω_s[i] = ω_s
|
||||
|
||||
return -ref_model.full_thermal_spectral_density(i)(ω_exp)
|
||||
|
||||
res = minimize_scalar(
|
||||
objective, 1, method="bounded", bounds=(0.01, ω_exp), options=dict(maxiter=100)
|
||||
)
|
||||
shifts.append(res.x)
|
||||
scales.append(-res.fun)
|
||||
ω = np.linspace(0.01, 3, 1000)
|
||||
lines = plt.plot(
|
||||
ω,
|
||||
ref_model.full_thermal_spectral_density(i)(ω) / -res.fun,
|
||||
label=["Cold", "Hot"][i],
|
||||
)
|
||||
plt.plot(
|
||||
ω_exp,
|
||||
ref_model.full_thermal_spectral_density(i)(ω_exp) / -res.fun,
|
||||
marker="o",
|
||||
color=lines[0].get_color(),
|
||||
)
|
||||
|
||||
plt.legend()
|
||||
plt.xlabel(r"$\omega$")
|
||||
plt.ylabel("Arbitrary Units")
|
||||
print(shifts, scales)
|
||||
fs.export_fig("spectral_densities", x_scaling=.5, y_scaling=.35)
|
||||
shifts = [0.01000577876575025, 1.0000001111768948]
|
||||
scales = [0.5819473793333508, 3.865799283487837]
|
||||
|
||||
model = QubitModelMutliBath(
|
||||
δ=list(1/np.array(scales) * .1/2),#[.05*4, .01*4],
|
||||
ω_c=ref_model.ω_c,
|
||||
ω_s=shifts,#[H_cyc.operator_norm(0) - 1, H_cyc.operator_norm(t_expansion/scale) - 1],
|
||||
t=ut.linspace_with_strobe(0, t_max, int(t_max // dt), ω_mod),
|
||||
ψ_0=(qt.basis([2], [0])*0 + qt.basis([2], [1])*1),
|
||||
description=f"A simple otto cycle.",
|
||||
k_max=4,
|
||||
bcf_terms=[6]*2,
|
||||
truncation_scheme="simplex",
|
||||
driving_process_tolerances=[StocProcTolerances(1e-3, 1e-3)] * 2,
|
||||
thermal_process_tolerances=[StocProcTolerances(1e-3, 1e-3)] * 2,
|
||||
T = ref_model.T, #= [1, 20],
|
||||
L = [ConstantMatrix(L_op), ConstantMatrix(L_op_2)],
|
||||
H = H_cyc,
|
||||
therm_methods=["fft", "fft"],
|
||||
)
|
||||
|
||||
aux.integrate(model, 10000)
|
||||
|
||||
model.full_thermal_bcf(0)(0) * model.bcf_scales[0]
|
||||
|
||||
f, a = pu.plot_energy_overview(model, strobe_frequency=ω_mod, hybrid=True, bath_names=["C","H"])
|
||||
# a.plot(model.t, model.L[0].operator_norm(model.t))
|
||||
# a.plot(model.t, model.L[1].operator_norm(model.t))
|
||||
a.set_xlabel(r"$\tau$")
|
||||
a.legend()
|
||||
fs.export_fig("energy_strobe_continuous", y_scaling=.6)
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
with aux.get_data(model) as data:
|
||||
power = model.interaction_power(data).sum_baths()
|
||||
power_sys = model.system_power(data).sum_baths()
|
||||
energy = model.total_energy_from_power(data)
|
||||
ax.plot([], [])
|
||||
pu.plot_with_σ(model.t, power_sys, ax=ax, label="System")
|
||||
|
||||
ax.legend()
|
||||
ax.set_title("Power")
|
||||
ax.set_xlabel(r"$\tau$")
|
||||
fs.export_fig("power_continuous", y_scaling=0.4)
|
||||
|
||||
steady_index = 2
|
||||
cycle_times, cycle_indices = ut.strobe_times(model.t, ω_mod)
|
||||
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
total_energies = model.total_energy_from_power(data).slice(
|
||||
cycle_indices[steady_index:]
|
||||
)
|
||||
hot_bath_energies = (
|
||||
model.bath_energy(data).for_bath(1).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
e_diff = total_energies.slice(0) - total_energies.slice(-1)
|
||||
mean_power = e_diff * (1 / (model.t[-1] - cycle_times[steady_index]))
|
||||
efficiency = e_diff * (
|
||||
1 / (hot_bath_energies.slice(0) - hot_bath_energies.slice(-1)).value
|
||||
)
|
||||
mean_power.value, mean_power.σ, efficiency.value
|
||||
|
||||
fs.tex_value(mean_power.value, err=mean_power.σ, prefix=r"\bar{P}="), fs.tex_value(
|
||||
efficiency.value * 100, prefix=r"η=", suffix=r"\%"
|
||||
)
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
ρ = data.rho_t_accum.mean[:]
|
||||
σ_ρ = data.rho_t_accum.ensemble_std[:]
|
||||
plt.plot(model.t[100:], abs(ρ[100:, 0, 1]) / abs(ρ[100:, 0, 0]))
|
||||
plt.yscale("log")
|
||||
plt.xlabel(r"$\tau$")
|
||||
plt.ylabel(r"$|\rho_{01}| / \rho_{00}$")
|
||||
fs.export_fig("coherences")
|
||||
xs = np.einsum("tij,ji->t", ρ, qt.sigmax().full())
|
||||
ys = np.einsum("tij,ji->t", ρ, qt.sigmay().full())
|
||||
zs = np.einsum("tij,ji->t", ρ, qt.sigmaz().full())
|
||||
|
||||
steady_index = 1
|
||||
cycle_times, cycle_indices = ut.strobe_times(model.t, ω_mod)
|
||||
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
hot_bath_energies = (
|
||||
model.bath_energy(data).for_bath(1).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
cold_bath_energies = (
|
||||
model.bath_energy(data).for_bath(0).slice(cycle_indices[steady_index:])
|
||||
)
|
||||
|
||||
hot_diff = (hot_bath_energies.slice(slice(1,-1, 1)) - hot_bath_energies.slice(slice(0,-2, 1))) * (1/model.T[1])
|
||||
cold_diff = (cold_bath_energies.slice(slice(1,-1, 1)) - cold_bath_energies.slice(slice(0,-2, 1))) * (1/model.T[0])
|
||||
gibbs = hot_diff.mean + cold_diff.mean
|
||||
print(fs.tex_value(gibbs.value, err=gibbs.σ))
|
||||
print(gibbs.value / gibbs.σ)
|
||||
|
||||
b = qt.Bloch()
|
||||
b.add_points([xs, ys, zs])
|
||||
b.view = [20, 20]
|
||||
b.point_size = [0.01]
|
||||
b.sphere_alpha = 0.01
|
||||
b.render()
|
||||
# fs.export_fig("bloch", fig=b.fig)
|
||||
b.fig
|
|
@ -1,64 +1,17 @@
|
|||
import figsaver as fs
|
||||
from hiro_models.one_qubit_model import QubitModelMutliBath, StocProcTolerances
|
||||
import hiro_models.model_auxiliary as aux
|
||||
from hops.util.utilities import relative_entropy, relative_entropy_single, entropy, trace_distance
|
||||
from hopsflow.util import EnsembleValue
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import scipy
|
||||
import utilities as ut
|
||||
from hops.util.dynamic_matrix import SmoothStep, Periodic, Harmonic, ConstantMatrix, Piecewise, Shift
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
import matplotlib
|
||||
import plot_utils as pu
|
||||
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init()
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO, show_stocproc=False)
|
||||
|
||||
from anti_zeno_engine import *
|
||||
|
||||
(
|
||||
model,
|
||||
params
|
||||
) = anti_zeno_engine(
|
||||
Δ=11,
|
||||
ε=1,#.1,
|
||||
ω_c=1,
|
||||
ε_couple=.68,
|
||||
n=35,
|
||||
detune=.5,
|
||||
ω_0=20,
|
||||
T_c=5e3,
|
||||
T_h=5e4,
|
||||
δ=[3.2*.01/10, 1.08*.01/10],
|
||||
γ=.2,
|
||||
switch_cycles=1,
|
||||
therm_initial_state=False,
|
||||
ε_init=.001/2,
|
||||
terms=7,
|
||||
dt=0.01/2,
|
||||
sp_tol=1e-4,
|
||||
init_time_steps=10,
|
||||
interpolation_multiplier=10,
|
||||
)
|
||||
model.k_max = 3
|
||||
|
||||
ts = model.t # np.linspace(0,10,1000)
|
||||
proc = model.thermal_process(1)
|
||||
import hops
|
||||
z=hops.core.utility.uni_to_gauss(np.random.rand(proc.get_num_y() * 2))
|
||||
proc.new_process(z)
|
||||
pu.plot_complex(ts, proc(ts) * model.bcf_scales[1])
|
||||
|
||||
params.cycles
|
||||
|
||||
aux.integrate(model, 10)
|
||||
%matplotlib tk
|
||||
flow, interaction, int_pow, system, sys_pow = model.all_energies_online_from_cache()
|
||||
fig, ax = plt.subplots()
|
||||
print(sys_pow.N)
|
||||
# pu.plot_with_σ(model.t, (sys_pow+int_pow.sum_baths()).integrate(model.t), ax=ax)
|
||||
pu.plot_with_σ(model.t, (sys_pow+int_pow.sum_baths()), ax=ax)
|
||||
# pu.plot_with_σ(model.t, (-1 * flow).sum_baths().integrate(model.t) + interaction.sum_baths() + system + 10, ax=ax)
|
||||
# with aux.get_data(model) as data:
|
||||
# #pu.plot_with_σ(model.t, model.total_energy_from_power(data), ax=ax)
|
||||
# pu.plot_with_σ(model.t, model.interaction_energy(data).sum_baths() - interaction.sum_baths(), ax=ax)
|
||||
# pu.plot_with_σ(model.t, model.interaction_power(data).sum_baths() - int_pow.sum_baths(), ax=ax)
|
||||
# pu.plot_with_σ(model.t, model.system_energy(data).sum_baths() - system.sum_baths(), ax=ax)
|
||||
# pu.plot_with_σ(model.t, model.system_power(data).sum_baths() - sys_pow.sum_baths(), ax=ax)
|
||||
# pu.plot_with_σ(model.t, model.bath_energy_flow(data).sum_baths() - flow.sum_baths(), ax=ax)
|
||||
|
||||
plot_az_coupling_diagram(model, params)
|
||||
|
||||
|
@ -71,3 +24,5 @@ plot_excited_state(model, params, with_init=True)
|
|||
plot_coherences(model, params)
|
||||
|
||||
plot_power_output(model, params, steady_index=0)
|
||||
|
||||
model.hexhash
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
from model_gap import *
|
||||
print(model.all_energies_online("results.fifo"))
|
|
@ -17,6 +17,7 @@ import figsaver as fs
|
|||
import matplotlib.pyplot as plt
|
||||
import hiro_models.model_auxiliary as aux
|
||||
from hopsflow.util import EnsembleValue
|
||||
from brokenaxes import brokenaxes
|
||||
|
||||
|
||||
def anti_zeno_engine(
|
||||
|
@ -44,6 +45,8 @@ def anti_zeno_engine(
|
|||
sp_tol=1e-5,
|
||||
init_time_steps=None,
|
||||
interpolation_multiplier=1,
|
||||
cut_end=False,
|
||||
initial_gap=True,
|
||||
):
|
||||
# τ_bath = 1 / ω_c
|
||||
τ_mod = 2 * np.pi / Δ
|
||||
|
@ -89,7 +92,11 @@ def anti_zeno_engine(
|
|||
int((τ_c + 2 * Δ_switch) / dt),
|
||||
Δ,
|
||||
),
|
||||
np.linspace((τ_c + τ_off) * (i) + τ_c, (τ_c + τ_off) * (i + 1), 10),
|
||||
np.linspace(
|
||||
(τ_c + τ_off) * (i) + τ_c,
|
||||
(τ_c + (τ_off if ((not cut_end) or i < (n - 1)) else 0)) * (i + 1),
|
||||
10,
|
||||
),
|
||||
]
|
||||
)
|
||||
for i in range(n)
|
||||
|
@ -100,7 +107,8 @@ def anti_zeno_engine(
|
|||
initializing_period = (
|
||||
int(-(np.log(ε_init) / (smallest_exponent * τ_mod) + 1)) * τ_mod
|
||||
)
|
||||
t_max += initializing_period + τ_off
|
||||
τ_off_init = τ_off if initial_gap else 0
|
||||
t_max += initializing_period + τ_off_init
|
||||
H = Piecewise(
|
||||
[
|
||||
ω_0 * ConstantMatrix(H_mat)
|
||||
|
@ -119,10 +127,10 @@ def anti_zeno_engine(
|
|||
ω_0 * ConstantMatrix(H_mat),
|
||||
Shift(
|
||||
H,
|
||||
initializing_period + τ_off,
|
||||
initializing_period + τ_off_init,
|
||||
),
|
||||
],
|
||||
[0, initializing_period, initializing_period + τ_off, np.inf],
|
||||
[0, initializing_period, initializing_period + τ_off_init, np.inf],
|
||||
)
|
||||
|
||||
L = Piecewise(
|
||||
|
@ -145,13 +153,13 @@ def anti_zeno_engine(
|
|||
ConstantMatrix(np.zeros((2, 2))),
|
||||
Shift(
|
||||
L,
|
||||
initializing_period + τ_off,
|
||||
initializing_period + τ_off_init,
|
||||
),
|
||||
],
|
||||
[0, initializing_period, initializing_period + τ_off, np.inf],
|
||||
[0, initializing_period, initializing_period + τ_off_init, np.inf],
|
||||
)
|
||||
|
||||
ts = [times + initializing_period + τ_off for times in ts]
|
||||
ts = [times + initializing_period + τ_off_init for times in ts]
|
||||
ts.insert(
|
||||
0,
|
||||
np.concatenate(
|
||||
|
@ -162,7 +170,9 @@ def anti_zeno_engine(
|
|||
init_time_steps or int((initializing_period + Δ_switch) / (dt)),
|
||||
Δ,
|
||||
),
|
||||
np.linspace(initializing_period, initializing_period + τ_off, 10),
|
||||
np.linspace(
|
||||
initializing_period, initializing_period + τ_off_init, 10
|
||||
),
|
||||
]
|
||||
),
|
||||
)
|
||||
|
@ -214,6 +224,7 @@ def anti_zeno_engine(
|
|||
τ_s=τ_mod,
|
||||
λ=γ,
|
||||
δ=detune,
|
||||
τ_off_init=τ_off_init if ε_init else 0,
|
||||
)
|
||||
|
||||
return (model, model_params)
|
||||
|
@ -274,11 +285,25 @@ def plot_az_sd_overview(model, params, ax=None):
|
|||
|
||||
@wrap_plot
|
||||
def plot_total_power(model, params, ax=None):
|
||||
with aux.get_data(model) as data:
|
||||
mask = model.t > params.τ_init
|
||||
plot_with_σ(
|
||||
model.t[mask], model.total_power(data, gc_sleep=0).slice(mask), ax=ax
|
||||
)
|
||||
flow, interaction, int_pow, system, sys_pow = model.all_energies_online_from_cache()
|
||||
tot_power = (int_pow + sys_pow).sum_baths()
|
||||
|
||||
mask = model.t > params.τ_init
|
||||
plot_with_σ(model.t[mask], tot_power.slice(mask), ax=ax)
|
||||
|
||||
|
||||
@wrap_plot
|
||||
def plot_flow(model, params, ax=None):
|
||||
flow, interaction, int_pow, system, sys_pow = model.all_energies_online_from_cache()
|
||||
|
||||
mask = model.t > params.τ_init
|
||||
plot_with_σ(
|
||||
model.t[mask], flow.for_bath(0).slice(mask), ax=ax, label="cold", alpha=0.5
|
||||
)
|
||||
plot_with_σ(
|
||||
model.t[mask], flow.for_bath(1).slice(mask), ax=ax, label="hot", alpha=0.5
|
||||
)
|
||||
ax.legend()
|
||||
|
||||
|
||||
@wrap_plot
|
||||
|
@ -319,11 +344,10 @@ def plot_coherences(model, params, ax=None):
|
|||
)
|
||||
|
||||
|
||||
def plot_power_output(model, params, steady_index=0):
|
||||
fig, ax = plt.subplots()
|
||||
def get_powers(model, params):
|
||||
ts_begin = (
|
||||
params.τ_init
|
||||
+ params.τ_off
|
||||
+ (params.τ_off_init)
|
||||
+ ((params.τ_c + params.τ_off) * np.arange(0, params.n))
|
||||
)
|
||||
ts_end = params.τ_c + ts_begin
|
||||
|
@ -333,9 +357,22 @@ def plot_power_output(model, params, steady_index=0):
|
|||
ts_end = model.t[ind_end]
|
||||
|
||||
# #plt.plot(model.t, model.L[0].operator_norm(model.t))
|
||||
flow, interaction, int_pow, system, sys_pow = model.all_energies_online_from_cache()
|
||||
tot_power = (int_pow + sys_pow).sum_baths()
|
||||
powers = []
|
||||
|
||||
with aux.get_data(model) as data:
|
||||
tot_power = model.total_power(data, gc_sleep=0).sum_baths()
|
||||
for begin, end in zip(ind_begin, ind_end):
|
||||
part_power = (tot_power.slice(slice(begin, end))).mean
|
||||
powers.append(part_power)
|
||||
|
||||
return powers, tot_power, (ts_begin, ts_end), (ind_begin, ind_end)
|
||||
|
||||
|
||||
def plot_power_output(model, params, steady_index=0):
|
||||
fig, ax = plt.subplots()
|
||||
powers, tot_power, (ts_begin, ts_end), (ind_begin, ind_end) = get_powers(
|
||||
model, params
|
||||
)
|
||||
|
||||
for t in ts_begin:
|
||||
plt.axvline(t, linestyle="dashed", color="orangered", linewidth=1)
|
||||
|
@ -356,11 +393,7 @@ def plot_power_output(model, params, steady_index=0):
|
|||
# ),
|
||||
# )
|
||||
|
||||
powers = []
|
||||
for begin, end in zip(ind_begin, ind_end):
|
||||
part_power = (tot_power.slice(slice(begin, end))).mean
|
||||
powers.append(part_power)
|
||||
|
||||
for begin, end, part_power in zip(ind_begin, ind_end, powers):
|
||||
plot_with_σ(
|
||||
model.t[[begin, end]],
|
||||
EnsembleValue(
|
||||
|
@ -372,7 +405,6 @@ def plot_power_output(model, params, steady_index=0):
|
|||
color="black",
|
||||
ax=ax,
|
||||
)
|
||||
|
||||
power = sum(powers[steady_index:]) * (1 / (len(powers[steady_index:])))
|
||||
|
||||
ax.set_ylabel(r"$\langle{P}\rangle$")
|
||||
|
|
|
@ -0,0 +1,167 @@
|
|||
#+PROPERTY: header-args :session 10_anti_zeno_engine_cc :kernel python :pandoc no :async yes :tangle 10_first_anti_zeno_cc.py
|
||||
Here we try to reproduce the anti zeno engine from the paper.
|
||||
|
||||
* Boilerplate
|
||||
#+begin_src jupyter-python :results none
|
||||
import figsaver as fs
|
||||
from hiro_models.one_qubit_model import QubitModelMutliBath, StocProcTolerances
|
||||
import hiro_models.model_auxiliary as aux
|
||||
from hops.util.utilities import relative_entropy, relative_entropy_single, entropy, trace_distance
|
||||
from hopsflow.util import EnsembleValue
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import scipy
|
||||
import utilities as ut
|
||||
from hops.util.dynamic_matrix import SmoothStep, Periodic, Harmonic, ConstantMatrix, Piecewise, Shift
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
import matplotlib
|
||||
import plot_utils as pu
|
||||
#+end_src
|
||||
|
||||
Init ray and silence stocproc.
|
||||
#+begin_src jupyter-python
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init()
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: RayContext(dashboard_url='', python_version='3.9.13', ray_version='1.13.0', ray_commit='e4ce38d001dbbe09cd21c497fedd03d692b2be3e', address_info={'node_ip_address': '141.30.17.225', 'raylet_ip_address': '141.30.17.225', 'redis_address': None, 'object_store_address': '/tmp/ray/session_2022-08-26_09-16-24_372243_434989/sockets/plasma_store', 'raylet_socket_name': '/tmp/ray/session_2022-08-26_09-16-24_372243_434989/sockets/raylet', 'webui_url': '', 'session_dir': '/tmp/ray/session_2022-08-26_09-16-24_372243_434989', 'metrics_export_port': 64820, 'gcs_address': '141.30.17.225:62541', 'address': '141.30.17.225:62541', 'node_id': 'b13e6e8fe3cb7e0a8e40b763d39febfe0bac4a37ea2d205950b6dc19'})
|
||||
|
||||
#+begin_src jupyter-python :results none
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO, show_stocproc=False)
|
||||
#+end_src
|
||||
|
||||
* Model Definition
|
||||
#+begin_src jupyter-python :results none
|
||||
from anti_zeno_engine import *
|
||||
#+end_src
|
||||
|
||||
#+begin_src jupyter-python
|
||||
(
|
||||
model,
|
||||
params
|
||||
) = anti_zeno_engine(
|
||||
Δ=11,
|
||||
ε=1,#.1,
|
||||
ω_c=1,
|
||||
ε_couple=.68,
|
||||
n=35,
|
||||
detune=.5,
|
||||
ω_0=20,
|
||||
T_c=5e3,
|
||||
T_h=5e4,
|
||||
δ=[3.2*.01/10, 1.08*.01/10],
|
||||
γ=.2,
|
||||
switch_cycles=1,
|
||||
therm_initial_state=False,
|
||||
ε_init=.000001/2,
|
||||
terms=7,
|
||||
dt=0.01/2,
|
||||
sp_tol=1e-4,
|
||||
init_time_steps=10,
|
||||
interpolation_multiplier=10,
|
||||
)
|
||||
model.k_max = 3
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
ts = model.t # np.linspace(0,10,1000)
|
||||
proc = model.thermal_process(1)
|
||||
import hops
|
||||
z=hops.core.utility.uni_to_gauss(np.random.rand(proc.get_num_y() * 2))
|
||||
proc.new_process(z)
|
||||
pu.plot_complex(ts, proc(ts) * model.bcf_scales[1])
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:> |
|
||||
[[file:./.ob-jupyter/458ed32f5b39dff70d717cc2593889573946a962.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
params.cycles
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: 10
|
||||
|
||||
#+begin_src jupyter-python
|
||||
aux.integrate(model, 10)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: [INFO hops.core.integration 14258] Choosing the nonlinear integrator.
|
||||
: [INFO hops.core.integration 14258] Using 8 integrators.
|
||||
: [INFO hops.core.integration 14258] Some 9 trajectories have to be integrated.
|
||||
: [INFO hops.core.integration 14258] Using 680 hierarchy states.
|
||||
: 0% 0/9 [00:00<?, ?it/s]
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_az_coupling_diagram(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:xlabel= | $\tau$ | > |
|
||||
[[file:./.ob-jupyter/d8096351b2e0cbfa172b5abc8c138522375e6205.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_az_sd_overview(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:xlabel= | $\omega$ | ylabel= | Spectral Density | > |
|
||||
[[file:./.ob-jupyter/afa180fb667b63a127dbecc86f43980e65eabb6a.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_total_power(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:> |
|
||||
[[file:./.ob-jupyter/ad693ff3d3c543c7fc8bcf66c226d1ee53e1f3b9.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_excited_state(model, params, with_init=True)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:> |
|
||||
[[file:./.ob-jupyter/5ab38efefb7c03476efb3dea22c64715e4c7131f.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_coherences(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:> |
|
||||
[[file:./.ob-jupyter/b53ff9a196a6e3f854b4fac57edc3a4f6341ab5c.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_power_output(model, params, steady_index=0)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:title= | (center : \(\bar{P}=0.00043\pm 0.00015\)) | xlabel= | $\tau$ | ylabel= | $\langle{P}\rangle$ | > | EnsembleValue | (((20000 0.00043025179411284724 0.00014964069641804805))) |
|
||||
[[file:./.ob-jupyter/857d74261d2e1c38fc8bb26c43a46e15552ede09.svg]]
|
||||
:END:
|
|
@ -0,0 +1,169 @@
|
|||
#+PROPERTY: header-args :session 10_anti_zeno_engine_cc_a1 :kernel python :pandoc no :async yes
|
||||
Here we try to reproduce the anti zeno engine from the paper.
|
||||
|
||||
* Boilerplate
|
||||
#+begin_src jupyter-python :results none
|
||||
import figsaver as fs
|
||||
from hiro_models.one_qubit_model import QubitModelMutliBath, StocProcTolerances
|
||||
import hiro_models.model_auxiliary as aux
|
||||
from hops.util.utilities import relative_entropy, relative_entropy_single, entropy, trace_distance
|
||||
from hopsflow.util import EnsembleValue
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import scipy
|
||||
import utilities as ut
|
||||
from hops.util.dynamic_matrix import SmoothStep, Periodic, Harmonic, ConstantMatrix, Piecewise, Shift
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
import matplotlib
|
||||
import plot_utils as pu
|
||||
#+end_src
|
||||
|
||||
Init ray and silence stocproc.
|
||||
#+begin_src jupyter-python
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init()
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: RayContext(dashboard_url='', python_version='3.9.13', ray_version='1.13.0', ray_commit='e4ce38d001dbbe09cd21c497fedd03d692b2be3e', address_info={'node_ip_address': '192.168.100.170', 'raylet_ip_address': '192.168.100.170', 'redis_address': None, 'object_store_address': '/tmp/ray/session_2022-08-14_15-01-34_034850_14258/sockets/plasma_store', 'raylet_socket_name': '/tmp/ray/session_2022-08-14_15-01-34_034850_14258/sockets/raylet', 'webui_url': '', 'session_dir': '/tmp/ray/session_2022-08-14_15-01-34_034850_14258', 'metrics_export_port': 45019, 'gcs_address': '192.168.100.170:53722', 'address': '192.168.100.170:53722', 'node_id': '2369bf21ce3f134ac9781d678096447e25ad28328ed1d38ad4f5c777'})
|
||||
|
||||
#+begin_src jupyter-python :results none
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO, show_stocproc=False)
|
||||
#+end_src
|
||||
|
||||
* Model Definition
|
||||
#+begin_src jupyter-python :results none
|
||||
from anti_zeno_engine import *
|
||||
#+end_src
|
||||
|
||||
#+begin_src jupyter-python
|
||||
(
|
||||
model,
|
||||
params
|
||||
) = anti_zeno_engine(
|
||||
Δ=11,
|
||||
ε=1,#.1,
|
||||
ω_c=1,
|
||||
ε_couple=.0001,
|
||||
n=1,
|
||||
detune=.5,
|
||||
ω_0=20,
|
||||
T_c=1e3,
|
||||
T_h=1e4,
|
||||
δ=[3.2*.01/4, 1.08*.01/4],
|
||||
γ=.2,
|
||||
switch_cycles=1,
|
||||
therm_initial_state=False,
|
||||
ε_init=.000001/2,
|
||||
terms=7,
|
||||
dt=0.01/2,
|
||||
sp_tol=1e-4,
|
||||
init_time_steps=10,
|
||||
interpolation_multiplier=10,
|
||||
)
|
||||
model.k_max = 3
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
ts = np.linspace(0, 10,10000)
|
||||
proc = model.thermal_process(1)
|
||||
import hops
|
||||
z=hops.core.utility.uni_to_gauss(np.random.rand(proc.get_num_y() * 2))
|
||||
proc.new_process(z)
|
||||
pu.plot_complex(ts, proc(ts) * model.bcf_scales[1])
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:> |
|
||||
[[file:./.ob-jupyter/5a5fd86ed7017c5c1463a913f499d16f0a3548ba.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
params.cycles
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: 122
|
||||
|
||||
#+begin_src jupyter-python
|
||||
aux.integrate(model, 10)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: [INFO hops.core.integration 14258] Choosing the nonlinear integrator.
|
||||
: [INFO hops.core.integration 14258] Using 8 integrators.
|
||||
: [INFO hops.core.integration 14258] Some 9 trajectories have to be integrated.
|
||||
: [INFO hops.core.integration 14258] Using 680 hierarchy states.
|
||||
: 0% 0/9 [00:00<?, ?it/s]
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_az_coupling_diagram(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:xlabel= | $\tau$ | > |
|
||||
[[file:./.ob-jupyter/f789db8fd41ef3fb8e2164aa765dbf59b1194d8a.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_az_sd_overview(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:xlabel= | $\omega$ | ylabel= | Spectral Density | > |
|
||||
[[file:./.ob-jupyter/72171789917e708625d5f5be4306c70391d41599.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_total_power(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:> |
|
||||
[[file:./.ob-jupyter/63a1770854b71f5dcda8e4144bd16326fc9f88ec.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_excited_state(model, params, with_init=True)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:> |
|
||||
[[file:./.ob-jupyter/6e0b8aa8971299bc06267feb6a9281a1ceb11220.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_coherences(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:> |
|
||||
[[file:./.ob-jupyter/ff290ee0e7503e3c6873e276c6d82524702c68e9.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_power_output(model, params, steady_index=0)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:title= | (center : \(\bar{P}=-0.00092\pm 0.00015\)) | xlabel= | $\tau$ | ylabel= | $\langle{P}\rangle$ | > | EnsembleValue | (((40000 -0.000918483945087149 0.00014770367528033136))) |
|
||||
[[file:./.ob-jupyter/1b13cea34f14a105c448c7131c897fcb5e3048f3.svg]]
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:title= | (center : \(\bar{P}=-0.00092\pm 0.00015\)) | xlabel= | $\tau$ | ylabel= | $\langle{P}\rangle$ | > | EnsembleValue | (((40000 -0.000918483945087149 0.00014770367528033136))) |
|
||||
[[file:./.ob-jupyter/b119ba866ff1a9d4cfc2944bbff78dbfebe743c8.svg]]
|
||||
:END:
|
|
@ -5,10 +5,23 @@
|
|||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
import figsaver as fs
|
||||
import plot_utils as pu
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
tt = np.linspace(0,20,1000)
|
||||
f, a = pu.plot_complex(tt, 1/(1 + 1j *tt)**2)
|
||||
a.axhline(0, color="gray")
|
||||
a.set_xlabel("$\tau$")
|
||||
fs.export_fig("ohmic_bcf_example")
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
[[file:./.ob-jupyter/26bc0805aafe2726c138e8cf7d9377eddc9cc5cf.svg]]
|
||||
|
||||
|
||||
#+begin_src jupyter-python :results none
|
||||
def J(ω):
|
||||
return np.exp(-(ω)) * (ω)
|
||||
|
@ -37,11 +50,11 @@
|
|||
|
||||
#plt.plot(ts, np.abs(refecene(ts))/np.abs(refecene(ts).max()), label=N)
|
||||
|
||||
plt.legend()
|
||||
plt.legend(title=r"$N$")
|
||||
plt.yscale("log")
|
||||
plt.xscale("log")
|
||||
plt.xlabel("$τ$")
|
||||
plt.ylabel(r"$\frac{α_N(τ) - α(τ)}{α_N(τ)}$")
|
||||
plt.xlabel(r"$\tau$")
|
||||
plt.ylabel(r"$\frac{\alpha_N(\tau) - \alpha(\tau)}{\alpha_N(\tau)}$")
|
||||
# tikzplotlib.clean_figure()
|
||||
# tikzplotlib.save("test.tex", axis_width="\\figW", axis_height="\\figH", textsize=5)
|
||||
fs.export_fig("bcf_approx")
|
||||
|
@ -49,15 +62,54 @@
|
|||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
: /nix/store/akzgacnj2l97sldws5cnxjlgv27317xd-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:613: RuntimeWarning: divide by zero encountered in log10
|
||||
: /nix/store/jhaz6wa06sid3pc6c0g3wmid421vldwj-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:613: RuntimeWarning: divide by zero encountered in log10
|
||||
: xData = np.log10(xData)
|
||||
: /nix/store/akzgacnj2l97sldws5cnxjlgv27317xd-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:616: RuntimeWarning: divide by zero encountered in log10
|
||||
: /nix/store/jhaz6wa06sid3pc6c0g3wmid421vldwj-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:616: RuntimeWarning: divide by zero encountered in log10
|
||||
: yData = np.log10(yData)
|
||||
: /nix/store/akzgacnj2l97sldws5cnxjlgv27317xd-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:1285: RuntimeWarning: invalid value encountered in multiply
|
||||
: /nix/store/jhaz6wa06sid3pc6c0g3wmid421vldwj-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:1285: RuntimeWarning: invalid value encountered in multiply
|
||||
: detA = -(X2[:, 0] - X1[:, 0]) * (X4[1] - X3[1]) + (X2[:, 1] - X1[:, 1]) * (
|
||||
: /nix/store/akzgacnj2l97sldws5cnxjlgv27317xd-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:1297: RuntimeWarning: invalid value encountered in matmul
|
||||
: /nix/store/jhaz6wa06sid3pc6c0g3wmid421vldwj-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:1297: RuntimeWarning: invalid value encountered in matmul
|
||||
: Lambda[id_detA, 0] = (rhs[id_detA, :] @ Rotate @ (X4 - X3).T) / detA[id_detA]
|
||||
: /nix/store/akzgacnj2l97sldws5cnxjlgv27317xd-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:1300: RuntimeWarning: invalid value encountered in matmul
|
||||
: /nix/store/jhaz6wa06sid3pc6c0g3wmid421vldwj-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:1300: RuntimeWarning: invalid value encountered in matmul
|
||||
: -(X2[id_detA, :] - X1[id_detA, :]) @ Rotate * rhs[id_detA, :], axis=1
|
||||
[[file:./.ob-jupyter/c0862d837dbdc839685fe05cf1b7de6c3728f24c.svg]]
|
||||
[[file:./.ob-jupyter/39e2cd547191a44e40edeb983d34a7ae20b8d2f8.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
from hiro_models.one_qubit_model import QubitModel
|
||||
import hops
|
||||
|
||||
t = np.linspace(0, 3, 1000)
|
||||
long_model = QubitModel(ω_c=0.5, bcf_norm_method="unit", t=t)
|
||||
short_model = QubitModel(ω_c=3, bcf_norm_method="unit", t=t)
|
||||
|
||||
f, (ax1, ax2) = plt.subplots(ncols=2)
|
||||
for model in [long_model, short_model]:
|
||||
proc = model.driving_process
|
||||
color = None
|
||||
label = True
|
||||
for _ in range(10):
|
||||
z = hops.core.utility.uni_to_gauss(np.random.rand(proc.get_num_y() * 2))
|
||||
proc.calc_deriv = True
|
||||
proc.new_process(z)
|
||||
lines = ax1.plot(long_model.t, proc(long_model.t).real, alpha=0.5, color=color, label=rf"$\omega_c={model.ω_c}$" if label else None)
|
||||
lines = ax2.plot(long_model.t, proc.dot(long_model.t).real, alpha=0.5, color=color)
|
||||
color = lines[0].get_color()
|
||||
label = False
|
||||
|
||||
ax1.legend()
|
||||
ax1.set_xlabel(r"$\tau$")
|
||||
ax1.set_ylabel(r"$\Re \eta^\ast$")
|
||||
ax2.set_xlabel(r"$\tau$")
|
||||
ax2.set_ylabel(r"$\partial_t \Re {\eta}^\ast$")
|
||||
fs.export_fig("stocproc_comparison", tikz=False)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
: stocproc.stocproc - INFO - Loaded instance from cache.
|
||||
: INFO:stocproc.stocproc:Loaded instance from cache.
|
||||
: stocproc.stocproc - INFO - Loaded instance from cache.
|
||||
: INFO:stocproc.stocproc:Loaded instance from cache.
|
||||
[[file:./.ob-jupyter/01e08d1f2965621ed6e74a15578aab7fa5b234bb.svg]]
|
||||
:END:
|
||||
|
|
|
@ -1,375 +0,0 @@
|
|||
% This file was created with tikzplotlib v0.10.1.
|
||||
\begin{tikzpicture}
|
||||
|
||||
\definecolor{crimson2143940}{RGB}{214,39,40}
|
||||
\definecolor{darkgray176}{RGB}{176,176,176}
|
||||
\definecolor{darkorange25512714}{RGB}{255,127,14}
|
||||
\definecolor{forestgreen4416044}{RGB}{44,160,44}
|
||||
\definecolor{lightgray204}{RGB}{204,204,204}
|
||||
\definecolor{mediumpurple148103189}{RGB}{148,103,189}
|
||||
\definecolor{steelblue31119180}{RGB}{31,119,180}
|
||||
|
||||
\begin{axis}[
|
||||
height=\figH,
|
||||
legend cell align={left},
|
||||
legend style={
|
||||
fill opacity=0.8,
|
||||
draw opacity=1,
|
||||
text opacity=1,
|
||||
at={(0.97,0.03)},
|
||||
anchor=south east,
|
||||
draw=lightgray204
|
||||
},
|
||||
log basis x={10},
|
||||
log basis y={10},
|
||||
tick align=outside,
|
||||
tick pos=left,
|
||||
width=\figW,
|
||||
x grid style={darkgray176},
|
||||
xlabel={\(\displaystyle τ\)},
|
||||
xmin=0.00925843821720426, xmax=216235.390357936,
|
||||
xmode=log,
|
||||
xtick style={color=black},
|
||||
xtick={0.0001,0.001,0.01,0.1,1,10,100,1000,10000,100000,1000000,10000000},
|
||||
xticklabels={
|
||||
\(\displaystyle {10^{-4}}\),
|
||||
\(\displaystyle {10^{-3}}\),
|
||||
\(\displaystyle {10^{-2}}\),
|
||||
\(\displaystyle {10^{-1}}\),
|
||||
\(\displaystyle {10^{0}}\),
|
||||
\(\displaystyle {10^{1}}\),
|
||||
\(\displaystyle {10^{2}}\),
|
||||
\(\displaystyle {10^{3}}\),
|
||||
\(\displaystyle {10^{4}}\),
|
||||
\(\displaystyle {10^{5}}\),
|
||||
\(\displaystyle {10^{6}}\),
|
||||
\(\displaystyle {10^{7}}\)
|
||||
},
|
||||
y grid style={darkgray176},
|
||||
ylabel={\(\displaystyle \frac{α_N(τ) - α(τ)}{α_N(τ)}\)},
|
||||
ymin=1.89338514095501e-10, ymax=4.50875041548238,
|
||||
ymode=log,
|
||||
ytick style={color=black},
|
||||
ytick={1e-12,1e-10,1e-08,1e-06,0.0001,0.01,1,100,10000},
|
||||
yticklabels={
|
||||
\(\displaystyle {10^{-12}}\),
|
||||
\(\displaystyle {10^{-10}}\),
|
||||
\(\displaystyle {10^{-8}}\),
|
||||
\(\displaystyle {10^{-6}}\),
|
||||
\(\displaystyle {10^{-4}}\),
|
||||
\(\displaystyle {10^{-2}}\),
|
||||
\(\displaystyle {10^{0}}\),
|
||||
\(\displaystyle {10^{2}}\),
|
||||
\(\displaystyle {10^{4}}\)
|
||||
}
|
||||
]
|
||||
\addplot [very thin, steelblue31119180]
|
||||
table {%
|
||||
0.0200200229883194 0.0530884489417076
|
||||
0.120120137929916 0.316222727298737
|
||||
0.200200229883194 0.520052075386047
|
||||
0.280280262231827 0.713564157485962
|
||||
0.36036029458046 0.892954349517822
|
||||
0.44044041633606 1.05473804473877
|
||||
0.520520448684692 1.19583809375763
|
||||
0.60060065984726 1.3136693239212
|
||||
0.660660684108734 1.38553583621979
|
||||
0.720720708370209 1.44254744052887
|
||||
0.780780792236328 1.48430323600769
|
||||
0.840840697288513 1.5106303691864
|
||||
0.900900840759277 1.52159774303436
|
||||
0.960960865020752 1.51752424240112
|
||||
1.02804470062256 1.49591112136841
|
||||
1.08651566505432 1.46328723430634
|
||||
1.1456686258316 1.41834664344788
|
||||
1.2080420255661 1.35947167873383
|
||||
1.27381145954132 1.28675925731659
|
||||
1.3431613445282 1.20130228996277
|
||||
1.42283058166504 1.0970618724823
|
||||
1.52469575405121 0.965667843818665
|
||||
1.66810047626495 0.818597316741943
|
||||
1.72678077220917 0.782572627067566
|
||||
1.77112090587616 0.767328381538391
|
||||
1.81241738796234 0.762762427330017
|
||||
1.85040688514709 0.766493916511536
|
||||
1.89355194568634 0.779110312461853
|
||||
1.94665610790253 0.804872393608093
|
||||
2.02444672584534 0.856867253780365
|
||||
2.27696967124939 1.04423749446869
|
||||
2.36796021461487 1.09169769287109
|
||||
2.44561672210693 1.118035197258
|
||||
2.52000498771667 1.13027012348175
|
||||
2.5906777381897 1.13034582138062
|
||||
2.66333270072937 1.11962509155273
|
||||
2.74434304237366 1.09669423103333
|
||||
2.84743905067444 1.05546116828918
|
||||
3.20320320129395 0.92030656337738
|
||||
3.27729511260986 0.913108587265015
|
||||
3.3459894657135 0.915398240089417
|
||||
3.42400646209717 0.927310526371002
|
||||
3.53629565238953 0.956874251365662
|
||||
3.82456970214844 1.0399763584137
|
||||
3.93182873725891 1.05535018444061
|
||||
4.032790184021 1.05806541442871
|
||||
4.13634347915649 1.0495765209198
|
||||
4.26426362991333 1.02708315849304
|
||||
4.63090229034424 0.958759069442749
|
||||
4.73887920379639 0.95562219619751
|
||||
4.84937334060669 0.962995409965515
|
||||
5.00500440597534 0.985859870910645
|
||||
5.26892042160034 1.02546846866608
|
||||
5.40540504455566 1.03280889987946
|
||||
5.54554557800293 1.02790105342865
|
||||
5.71158695220947 1.00986015796661
|
||||
6.02254152297974 0.975616276264191
|
||||
6.16296625137329 0.97347891330719
|
||||
6.30666542053223 0.981680810451508
|
||||
6.80680704116821 1.02100551128387
|
||||
6.96696758270264 1.01658034324646
|
||||
7.20871448516846 0.997317969799042
|
||||
7.44744634628296 0.982744693756104
|
||||
7.61871910095215 0.983814299106598
|
||||
7.83238363265991 0.996646702289581
|
||||
8.12812805175781 1.01357758045197
|
||||
8.31610488891602 1.01298630237579
|
||||
8.56905364990234 0.99982351064682
|
||||
8.85007286071777 0.987436592578888
|
||||
9.05642604827881 0.989878714084625
|
||||
9.68968963623047 1.00984025001526
|
||||
10 0.997813880443573
|
||||
10.2902889251709 0.990260004997253
|
||||
10.5505504608154 0.995955348014832
|
||||
10.9709711074829 1.00819671154022
|
||||
11.2312326431274 1.00366950035095
|
||||
11.6916904449463 0.992430627346039
|
||||
11.9919900894165 0.998606026172638
|
||||
12.3723726272583 1.00649011135101
|
||||
12.6926927566528 1.00076770782471
|
||||
13.0930948257446 0.993988156318665
|
||||
13.4534530639648 1.00087738037109
|
||||
13.8138151168823 1.00505948066711
|
||||
14.7747745513916 0.999440491199493
|
||||
15.215217590332 1.00406575202942
|
||||
16.136137008667 0.999170303344727
|
||||
16.6166191101074 1.00328993797302
|
||||
17.4974975585938 0.998998641967773
|
||||
18.0380401611328 1.00251471996307
|
||||
18.8388366699219 0.998652875423431
|
||||
19.4594612121582 1.00184547901154
|
||||
20.0000019073486 0.997413516044617
|
||||
};
|
||||
\addlegendentry{1e+01}
|
||||
\addplot [very thin, darkorange25512714]
|
||||
table {%
|
||||
0.0200200229883194 0.000570680713281035
|
||||
0.220220178365707 0.00631337705999613
|
||||
0.400400370359421 0.0116288904100657
|
||||
0.580580532550812 0.0171990003436804
|
||||
0.780780792236328 0.0238082893192768
|
||||
0.9809809923172 0.0309738740324974
|
||||
1.21923112869263 0.0403578542172909
|
||||
1.48148155212402 0.0518976822495461
|
||||
1.78752589225769 0.0671020448207855
|
||||
2.16938376426697 0.0888119786977768
|
||||
2.66947841644287 0.121852114796638
|
||||
3.47168707847595 0.185089647769928
|
||||
5.62562561035156 0.40007957816124
|
||||
6.62662696838379 0.510061740875244
|
||||
7.54754686355591 0.60944265127182
|
||||
8.45136451721191 0.700953245162964
|
||||
9.31041431427002 0.779246747493744
|
||||
10.1501502990723 0.845437407493591
|
||||
10.9709711074829 0.898977518081665
|
||||
11.7917919158936 0.94095253944397
|
||||
12.6212148666382 0.971767067909241
|
||||
13.4734754562378 0.992093205451965
|
||||
14.3600902557373 1.00254690647125
|
||||
15.335334777832 1.0038970708847
|
||||
16.5165138244629 0.995677351951599
|
||||
18.438440322876 0.972905099391937
|
||||
20.479118347168 0.954516470432281
|
||||
21.9452934265137 0.951633512973785
|
||||
23.4082736968994 0.957495629787445
|
||||
25.5509700775146 0.975386261940002
|
||||
28.5401039123535 0.997450768947601
|
||||
30.4427261352539 1.00104987621307
|
||||
32.7729530334473 0.995305776596069
|
||||
37.288215637207 0.98304682970047
|
||||
39.9578018188477 0.987719357013702
|
||||
45.6730079650879 1.00045931339264
|
||||
49.3962097167969 0.995027422904968
|
||||
53.422924041748 0.991650223731995
|
||||
66.6536331176758 0.995191276073456
|
||||
71.4255905151367 0.997133791446686
|
||||
77.9635925292969 0.999415755271912
|
||||
86.6838073730469 0.998108386993408
|
||||
94.1833190917969 0.999061703681946
|
||||
100 0.997806787490845
|
||||
};
|
||||
\addlegendentry{1e+02}
|
||||
\addplot [very thin, forestgreen4416044]
|
||||
table {%
|
||||
0.0200200229883194 5.62030209039222e-06
|
||||
0.220220178365707 6.21936414972879e-05
|
||||
0.400400370359421 0.000114629743620753
|
||||
0.580580532550812 0.000169705541338772
|
||||
0.76076078414917 0.000228481585509144
|
||||
0.960960865020752 0.000299268576782197
|
||||
1.18870759010315 0.000388153974199668
|
||||
1.43270301818848 0.000494676874950528
|
||||
1.71488189697266 0.000634031952358782
|
||||
2.04204201698303 0.000819059670902789
|
||||
2.4424421787262 0.00108186306897551
|
||||
2.94294285774231 0.00146908371243626
|
||||
3.62362360954285 0.0021035517565906
|
||||
4.58458423614502 0.0032148496247828
|
||||
6.08608627319336 0.00546115403994918
|
||||
8.86886882781982 0.0112676480785012
|
||||
35.2003173828125 0.162518322467804
|
||||
44.8385581970215 0.252445876598358
|
||||
54.0421676635742 0.348543375730515
|
||||
63.3580513000488 0.450913280248642
|
||||
72.2534866333008 0.548829972743988
|
||||
80.7061920166016 0.638234496116638
|
||||
89.5265808105469 0.72439581155777
|
||||
97.9469680786133 0.797350883483887
|
||||
106.420951843262 0.859851956367493
|
||||
114.831230163574 0.910101354122162
|
||||
123.052383422852 0.947668731212616
|
||||
130.953521728516 0.973407864570618
|
||||
139.361892700195 0.990610182285309
|
||||
148.310256958008 0.999013125896454
|
||||
158.928283691406 0.998692393302917
|
||||
171.488235473633 0.989047110080719
|
||||
215.443435668945 0.95304536819458
|
||||
230.867752075195 0.955463528633118
|
||||
249.113006591797 0.96752268075943
|
||||
294.082000732422 0.998351693153381
|
||||
315.136291503906 0.999211728572845
|
||||
347.168609619141 0.989055514335632
|
||||
377.204376220703 0.983519196510315
|
||||
404.209686279297 0.988108217716217
|
||||
460.960418701172 0.999991476535797
|
||||
500.840728759766 0.994630336761475
|
||||
540.421691894531 0.991938531398773
|
||||
665.001770019531 0.995822787284851
|
||||
712.611511230469 0.996343374252319
|
||||
790.492858886719 0.999084174633026
|
||||
870.843200683594 0.997841835021973
|
||||
952.750366210938 0.998910844326019
|
||||
1000 0.997648477554321
|
||||
};
|
||||
\addlegendentry{1e+03}
|
||||
\addplot [very thin, crimson2143940]
|
||||
table {%
|
||||
0.0200200229883194 5.61034525503601e-08
|
||||
0.220220178365707 6.20836658526969e-07
|
||||
0.400400370359421 1.14427734843048e-06
|
||||
0.580580532550812 1.69407962857804e-06
|
||||
0.76076078414917 2.28084172704257e-06
|
||||
0.960960865020752 2.98753616334579e-06
|
||||
1.18118119239807 3.84408167519723e-06
|
||||
1.42142140865326 4.88663226860808e-06
|
||||
1.70170187950134 6.26106248091673e-06
|
||||
2.02202200889587 8.05738636699971e-06
|
||||
2.42317295074463 1.06672814581543e-05
|
||||
2.92292261123657 1.4504327737086e-05
|
||||
3.58358407020569 2.0605604731827e-05
|
||||
4.52452373504639 3.13595519401133e-05
|
||||
5.98104095458984 5.28487653355114e-05
|
||||
8.54854869842529 0.000105150706076529
|
||||
14.3343353271484 0.000290646334178746
|
||||
38.1576461791992 0.00204116269014776
|
||||
166.810089111328 0.038386631757021
|
||||
266.947845458984 0.0959442257881165
|
||||
365.226654052734 0.17347177863121
|
||||
459.899291992188 0.263364732265472
|
||||
553.0224609375 0.361436039209366
|
||||
646.860778808594 0.464776039123535
|
||||
735.981384277344 0.562472403049469
|
||||
822.081420898438 0.652581214904785
|
||||
909.827087402344 0.736820816993713
|
||||
997.698059082031 0.810925543308258
|
||||
1084.0146484375 0.872016489505768
|
||||
1166.98999023438 0.919003963470459
|
||||
1244.78735351562 0.952542722225189
|
||||
1327.77099609375 0.977624654769897
|
||||
1416.28674316406 0.993412911891937
|
||||
1510.70336914062 0.999795496463776
|
||||
1611.41430664062 0.99761289358139
|
||||
1750.82690429688 0.985440492630005
|
||||
2105.34497070312 0.954312384128571
|
||||
2245.69750976562 0.953376352787018
|
||||
2417.59350585938 0.961674928665161
|
||||
3044.27270507812 0.999955236911774
|
||||
3277.29516601562 0.996050477027893
|
||||
3798.21533203125 0.983582615852356
|
||||
4088.9482421875 0.989397346973419
|
||||
4567.30078125 0.999957740306854
|
||||
4916.90283203125 0.996340095996857
|
||||
5391.7734375 0.991844594478607
|
||||
6727.1005859375 0.995344817638397
|
||||
7242.02392578125 0.997393310070038
|
||||
7868.57275390625 0.999349117279053
|
||||
8708.4326171875 0.997791707515717
|
||||
9549.486328125 0.998842895030975
|
||||
10000 0.997636675834656
|
||||
};
|
||||
\addlegendentry{1e+04}
|
||||
\addplot [very thin, mediumpurple148103189]
|
||||
table {%
|
||||
0.0200200229883194 5.60935353721703e-10
|
||||
0.220220178365707 6.20724849298426e-09
|
||||
0.400400370359421 1.1440524083639e-08
|
||||
0.580580532550812 1.69377276648675e-08
|
||||
0.76076078414917 2.28043361971686e-08
|
||||
0.960960865020752 2.98699838197081e-08
|
||||
1.18870759010315 3.87428435999482e-08
|
||||
1.4294046163559 4.92249085937146e-08
|
||||
1.70170187950134 6.25994900360638e-08
|
||||
2.02202200889587 8.05595377073587e-08
|
||||
2.42876434326172 1.0704697217534e-07
|
||||
2.92292261123657 1.45017949648718e-07
|
||||
3.5938138961792 2.07058675982807e-07
|
||||
4.52538585662842 3.13652662953245e-07
|
||||
5.98598480224609 5.29233261659101e-07
|
||||
8.52964496612549 1.04683647350612e-06
|
||||
14.2742729187012 2.88220212496526e-06
|
||||
36.021068572998 1.82042713277042e-05
|
||||
1897.92199707031 0.0494529865682125
|
||||
2873.8125 0.110471002757549
|
||||
3833.39526367188 0.189632430672646
|
||||
4771.76171875 0.280941426753998
|
||||
5672.2275390625 0.3768530189991
|
||||
6588.9892578125 0.478028833866119
|
||||
7479.52392578125 0.575257658958435
|
||||
8393.130859375 0.669743180274963
|
||||
9203.732421875 0.746223866939545
|
||||
9976.98046875 0.810854315757751
|
||||
10815.1923828125 0.870359301567078
|
||||
11589.482421875 0.91490638256073
|
||||
12419.21875 0.951441287994385
|
||||
13308.3447265625 0.978322863578796
|
||||
14097.7216796875 0.992583751678467
|
||||
14933.9365234375 0.99931675195694
|
||||
16003.0986328125 0.998214423656464
|
||||
17347.591796875 0.987163960933685
|
||||
21346.638671875 0.953467428684235
|
||||
22874.90234375 0.954549729824066
|
||||
24512.607421875 0.964147806167603
|
||||
29817.720703125 0.999229550361633
|
||||
31952.48828125 0.998376071453094
|
||||
39318.27734375 0.985254168510437
|
||||
47827.7421875 0.998568713665009
|
||||
54921.18359375 0.992645859718323
|
||||
63797.66796875 0.998595297336578
|
||||
70770.0859375 0.995873093605042
|
||||
79414.53125 0.998893857002258
|
||||
87084.3203125 0.9977867603302
|
||||
95494.859375 0.998847246170044
|
||||
100000 0.99763560295105
|
||||
};
|
||||
\addlegendentry{1e+05}
|
||||
\end{axis}
|
||||
|
||||
\end{tikzpicture}
|
|
@ -32,11 +32,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1660485612,
|
||||
"narHash": "sha256-sSLW1KaB1adKTJn9+Ja3h3AaS7QCZyhUKiSUStcLg80=",
|
||||
"lastModified": 1661720780,
|
||||
"narHash": "sha256-AJNGyaB2eKZAYaPNjBZOzap87yL+F9ZLaFzzMkvega0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6512b21eabb4d52e87ea2edcf31a288e67b2e4f8",
|
||||
"rev": "a63021a330d8d33d862a8e29924b42d73037dd37",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -47,11 +47,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1660546381,
|
||||
"narHash": "sha256-rEzCjeWVGhK5AyHxm1zet0lF6+AVSW3JuU5LAU2SMYU=",
|
||||
"lastModified": 1661848632,
|
||||
"narHash": "sha256-TZ0bBXckz5LVrYBup1rCv/o3qg0VKWnhQIQHJiX1nI0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "eb642f80f9aecc19312909e08601a3c2020b5ce2",
|
||||
"rev": "d4b68195fd0bd3559f58b23e130f8b4e0b2a6e19",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -62,36 +62,36 @@
|
|||
},
|
||||
"poetry2nix": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1660542485,
|
||||
"narHash": "sha256-XfklMwJMLB7bLI5ZnQTrNaK7KyBnElLGoWOL++XO3zk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "poetry2nix",
|
||||
"rev": "8b6239cf2ded121f8f3d570d2563d69f05d4208f",
|
||||
"type": "github"
|
||||
"lastModified": 1661849972,
|
||||
"narHash": "sha256-W35hlAYSrJBJW5N2rr6N9MT1VMKWbOq1Fl0Lmd0Q9CA=",
|
||||
"path": "/home/hiro/src/poetry2nix",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "poetry2nix",
|
||||
"type": "github"
|
||||
"path": "/home/hiro/src/poetry2nix",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"poetry2nix": "poetry2nix",
|
||||
"utils": "utils"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"poetry2nix": "poetry2nix"
|
||||
"poetry2nix": [
|
||||
"poetry2nix"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1660547406,
|
||||
|
|
|
@ -3,8 +3,10 @@
|
|||
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
poetry2nix.url = "path:/home/hiro/src/poetry2nix";
|
||||
utils.url = "github:vale981/hiro-flake-utils";
|
||||
utils.inputs.nixpkgs.follows = "nixpkgs";
|
||||
utils.inputs.poetry2nix.follows = "poetry2nix";
|
||||
};
|
||||
|
||||
outputs = { self, utils, nixpkgs, ... }:
|
||||
|
@ -20,10 +22,10 @@
|
|||
python = pkgs: pkgs.python39Full;
|
||||
shellOverride = (pkgs: oldAttrs: {
|
||||
shellHook = ''
|
||||
export PYTHONPATH=/home/hiro/src/two_qubit_model/:$PYTHONPATH
|
||||
export PYTHONPATH=/home/hiro/src/hops/:$PYTHONPATH
|
||||
export PYTHONPATH=/home/hiro/src/hopsflow/:$PYTHONPATH
|
||||
export PYTHONPATH=/home/hiro/src/stocproc/:$PYTHONPATH
|
||||
# export PYTHONPATH=/home/hiro/src/two_qubit_model/:$PYTHONPATH
|
||||
# export PYTHONPATH=/home/hiro/src/hops/:$PYTHONPATH
|
||||
# export PYTHONPATH=/home/hiro/src/hopsflow/:$PYTHONPATH
|
||||
# export PYTHONPATH=/home/hiro/src/stocproc/:$PYTHONPATH
|
||||
|
||||
export LD_LIBRARY_PATH="${(pkgs.lib.makeLibraryPath [pkgs.arb])}"
|
||||
# '';
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
from model import *
|
||||
aux.integrate(model, 10, stream_file="results.fifo")
|
|
@ -0,0 +1,5 @@
|
|||
from model_gap import *
|
||||
import ray
|
||||
ray.shutdown()
|
||||
ray.init()
|
||||
aux.integrate(model, 10_000, stream_file="results.fifo")
|
|
@ -27,12 +27,12 @@ from anti_zeno_engine import *
|
|||
ε=1,#.1,
|
||||
ω_c=1,
|
||||
ε_couple=.68,
|
||||
n=20,
|
||||
n=5,
|
||||
detune=.5,
|
||||
ω_0=20,
|
||||
T_c=5e3,
|
||||
T_h=5e4,
|
||||
δ=[3.2*.01/10, 1.08*.01/10],
|
||||
T_c=10,
|
||||
T_h=100,
|
||||
δ=[3.2/2.5, 1.08/2],
|
||||
γ=.2,
|
||||
switch_cycles=1,
|
||||
therm_initial_state=False,
|
||||
|
@ -43,4 +43,4 @@ from anti_zeno_engine import *
|
|||
init_time_steps=10,
|
||||
interpolation_multiplier=10,
|
||||
)
|
||||
model.k_max = 3
|
||||
model.k_max = 4
|
||||
|
|
49
python/energy_flow_proper/10_antizeno_engine/model_gap.py
Normal file
|
@ -0,0 +1,49 @@
|
|||
import figsaver as fs
|
||||
from hiro_models.one_qubit_model import QubitModelMutliBath, StocProcTolerances
|
||||
import hiro_models.model_auxiliary as aux
|
||||
from hops.util.utilities import relative_entropy, relative_entropy_single, entropy, trace_distance
|
||||
from hopsflow.util import EnsembleValue
|
||||
import numpy as np
|
||||
import qutip as qt
|
||||
import scipy
|
||||
import utilities as ut
|
||||
from hops.util.dynamic_matrix import SmoothStep, Periodic, Harmonic, ConstantMatrix, Piecewise, Shift
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
import matplotlib
|
||||
import plot_utils as pu
|
||||
|
||||
from hops.util.logging_setup import logging_setup
|
||||
import logging
|
||||
logging_setup(logging.INFO, show_stocproc=False)
|
||||
|
||||
from anti_zeno_engine import *
|
||||
import anti_zeno_engine as az
|
||||
|
||||
(
|
||||
model,
|
||||
params
|
||||
) = anti_zeno_engine(
|
||||
Δ=11,
|
||||
ε=.001,#.1,
|
||||
ω_c=.8,
|
||||
ε_couple=.85,
|
||||
n=2,
|
||||
detune=.6,
|
||||
ω_0=20,
|
||||
T_c=5,
|
||||
T_h=20,
|
||||
δ=[2.5, 2],
|
||||
γ=.1,
|
||||
switch_cycles=1,
|
||||
therm_initial_state=False,
|
||||
ε_init=.00001,
|
||||
terms=7,
|
||||
dt=0.01/2,
|
||||
sp_tol=1e-4,
|
||||
init_time_steps=10,
|
||||
interpolation_multiplier=10,
|
||||
cut_end=True,
|
||||
initial_gap=False
|
||||
)
|
||||
model.k_max = 4
|
|
@ -43,12 +43,10 @@
|
|||
#+end_src
|
||||
|
||||
#+begin_src jupyter-python
|
||||
%matplotlib inline
|
||||
c = coef(10)
|
||||
import figsaver as fs
|
||||
# from matplotlib.colors import LogNorm
|
||||
fig, ax = plt.subplots()
|
||||
fig.set_size_inches(fs.get_figsize(fraction=1))
|
||||
ms = ax.matshow(c)
|
||||
fig.colorbar(ms)
|
||||
ax.set_xlabel("$k$")
|
||||
|
@ -58,14 +56,14 @@
|
|||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
[[file:./.ob-jupyter/5d755e0618ed8699c41488f4d4a6627183b5d741.svg]]
|
||||
[[file:./.ob-jupyter/15195a262630c4eff09cc1c25e629c2e4fd3307c.svg]]
|
||||
: /nix/store/jhaz6wa06sid3pc6c0g3wmid421vldwj-python3-3.9.13-env/lib/python3.9/site-packages/tikzplotlib/_cleanfigure.py:166: UserWarning: Cleaning Line Collections (scatter plot) is not supported yet.
|
||||
: warnings.warn(
|
||||
[[file:./.ob-jupyter/531dce055bc42c918a0488082af2995f3d1d694c.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
fig = plt.figure()
|
||||
fig.set_size_inches(fs.get_figsize(fraction=1))
|
||||
import scipy
|
||||
|
||||
for order in 10 ** np.arange(1, 4):
|
||||
|
@ -107,11 +105,13 @@
|
|||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
: /tmp/ipykernel_129770/256163567.py:11: UserWarning: marker is redundantly defined by the 'marker' keyword argument and the fmt string "--o" (-> marker='o'). The keyword argument will take precedence.
|
||||
: /tmp/ipykernel_572734/2027820373.py:10: UserWarning: marker is redundantly defined by the 'marker' keyword argument and the fmt string "--o" (-> marker='o'). The keyword argument will take precedence.
|
||||
: plt.plot(
|
||||
: /nix/store/av32kn66py1m065lq75rmmlxrsqvgbaa-python3-3.9.13-env/lib/python3.9/site-packages/scipy/stats/_discrete_distns.py:69: RuntimeWarning: divide by zero encountered in _binom_pdf
|
||||
: /tmp/ipykernel_572734/2027820373.py:10: UserWarning: marker is redundantly defined by the 'marker' keyword argument and the fmt string "--o" (-> marker='o'). The keyword argument will take precedence.
|
||||
: plt.plot(
|
||||
: /nix/store/jhaz6wa06sid3pc6c0g3wmid421vldwj-python3-3.9.13-env/lib/python3.9/site-packages/scipy/stats/_discrete_distns.py:78: RuntimeWarning: divide by zero encountered in _binom_pdf
|
||||
: return _boost._binom_pdf(x, n, p)
|
||||
[[file:./.ob-jupyter/625ccae9f05819d713eacd97b4a4064fdddc1c72.svg]]
|
||||
[[file:./.ob-jupyter/c0c0a867b86da64af2f24ee48e9744f58062458a.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
sshfs -oIdentityFile=~/.ssh/id_ed25519_taurus s8896854@taurusexport.hrsk.tu-dresden.de:/lustre/ssd/ws/s8896854-10_ssd/.data/ .data
|
||||
sshfs -oIdentityFile=~/.ssh/id_ed25519_taurus s8896854@taurusexport.hrsk.tu-dresden.de:/beegfs/ws/0/s8896854-m_10t/project/python/energy_flow_proper/10_antizeno_engine/results results
|
||||
sshfs s4498638@taurusexport.hrsk.tu-dresden.de:/lustre/ssd/ws/s4498638-m_10t/project/python/energy_flow_proper/10_antizeno_engine/.data/ .data
|
||||
sshfs s4498638@taurusexport.hrsk.tu-dresden.de:/lustre/ssd/ws/s4498638-m_10t/project/python/energy_flow_proper/10_antizeno_engine/results results
|
||||
|
||||
sshfs s4498638@taurusexport.hrsk.tu-dresden.de:/lustre/ssd/ws/s4498638-m_10t/project/python/energy_flow_proper/10_antizeno_engine/ taurus
|
||||
|
||||
|
||||
sshfs -oIdentityFile=~/.ssh/id_ed25519_taurus s8896854@taurusexport.hrsk.tu-dresden.de:/beegfs/ws/0/s8896854-m_10t/project/python/energy_flow_proper/10_antizeno_engine/ taurus
|
||||
# sshfs -oIdentityFile=~/.ssh/id_ed25519_taurus s8896854@taurusexport.hrsk.tu-dresden.de:/lustre/ssd/ws/s8896854-10_ssd/.data/ .data
|
||||
# sshfs -oIdentityFile=~/.ssh/id_ed25519_taurus s8896854@taurusexport.hrsk.tu-dresden.de:/beegfs/ws/0/s8896854-m_10t/project/python/energy_flow_proper/10_antizeno_engine/results results
|
||||
|
||||
|
||||
# sshfs -oIdentityFile=~/.ssh/id_ed25519_taurus s8896854@taurusexport.hrsk.tu-dresden.de:/beegfs/ws/0/s8896854-m_10t/project/python/energy_flow_proper/10_antizeno_engine/ taurus
|
||||
|
|
664
python/energy_flow_proper/10_antizeno_engine/poetry.lock
generated
|
@ -7,9 +7,9 @@ license = "GPLv3"
|
|||
|
||||
[tool.poetry.dependencies]
|
||||
python = ">=3.9,<3.11"
|
||||
# hops = { git = "git@gitlab.hrz.tu-chemnitz.de:s8896854--tu-dresden.de/hops.git", branch="use_new_stocproc_for_10" }
|
||||
# stocproc = { git = "git@github.com:vale981/stocproc.git", branch="fix_relative" }
|
||||
# hopsflow = { git = "git@github.com:vale981/hopsflow.git", branch="fix_for_10" }
|
||||
hops = { git = "git@gitlab.hrz.tu-chemnitz.de:s8896854--tu-dresden.de/hops.git", branch="online_calculation" }
|
||||
stocproc = { git = "git@github.com:vale981/stocproc.git", branch="master" }
|
||||
hopsflow = { git = "git@github.com:vale981/hopsflow.git", branch="online_calculation" }
|
||||
hiro_models = { git = "git@github.com:vale981/two_qubit_model.git", branch="online_calculation" }
|
||||
matplotlib = "^3.5.0"
|
||||
jupyter = "^1.0.0"
|
||||
|
@ -22,6 +22,7 @@ statsmodels = "^0.13.2"
|
|||
protobuf = "==3.20.1"
|
||||
tabulate = "^0.8.9"
|
||||
tikzplotlib = "^0.10.1"
|
||||
brokenaxes = "^0.5.0"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
black = "^21.12b0"
|
||||
|
|
|
@ -25,9 +25,10 @@ Here we try to reproduce the anti zeno engine from the paper.
|
|||
logging_setup(logging.INFO, show_stocproc=False)
|
||||
#+end_src
|
||||
|
||||
* Model Definition
|
||||
* TODO Model Definition
|
||||
#+begin_src jupyter-python :results none :tangle model_gap.py
|
||||
from anti_zeno_engine import *
|
||||
import anti_zeno_engine as az
|
||||
#+end_src
|
||||
|
||||
#+begin_src jupyter-python :tangle model_gap.py
|
||||
|
@ -36,25 +37,26 @@ Here we try to reproduce the anti zeno engine from the paper.
|
|||
params
|
||||
) = anti_zeno_engine(
|
||||
Δ=11,
|
||||
ε=.01,#.1,
|
||||
ω_c=1,
|
||||
ε_couple=.68,
|
||||
n=4,
|
||||
detune=.5,
|
||||
ε=.001,#.1,
|
||||
ω_c=.8,
|
||||
ε_couple=.85,
|
||||
n=2,
|
||||
detune=.6,
|
||||
ω_0=20,
|
||||
T_c=10,
|
||||
T_h=100,
|
||||
δ=[3.2/2.5, 1.08/2],
|
||||
γ=.2,
|
||||
T_c=5,
|
||||
T_h=20,
|
||||
δ=[2.5, 2],
|
||||
γ=.1,
|
||||
switch_cycles=1,
|
||||
therm_initial_state=False,
|
||||
ε_init=.001/2,
|
||||
ε_init=.00001,
|
||||
terms=7,
|
||||
dt=0.01/2,
|
||||
sp_tol=1e-4,
|
||||
init_time_steps=10,
|
||||
interpolation_multiplier=10,
|
||||
cut_end=True
|
||||
cut_end=True,
|
||||
initial_gap=False
|
||||
)
|
||||
model.k_max = 4
|
||||
#+end_src
|
||||
|
@ -67,7 +69,7 @@ Here we try to reproduce the anti zeno engine from the paper.
|
|||
import ray
|
||||
ray.shutdown()
|
||||
ray.init()
|
||||
aux.integrate(model, 10, stream_file="results.fifo")
|
||||
aux.integrate(model, 10_000, stream_file="results.fifo")
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
|
@ -168,34 +170,6 @@ Here we try to reproduce the anti zeno engine from the paper.
|
|||
print(model.all_energies_online("results.fifo"))
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
# [goto error]
|
||||
#+begin_example
|
||||
[0;31m---------------------------------------------------------------------------[0m
|
||||
[0;31mKeyboardInterrupt[0m Traceback (most recent call last)
|
||||
Input [0;32mIn [7][0m, in [0;36m<cell line: 2>[0;34m()[0m
|
||||
[1;32m 1[0m [38;5;28;01mfrom[39;00m [38;5;21;01mmodel_gap[39;00m [38;5;28;01mimport[39;00m [38;5;241m*[39m
|
||||
[0;32m----> 2[0m [38;5;28mprint[39m([43mmodel[49m[38;5;241;43m.[39;49m[43mall_energies_online[49m[43m([49m[38;5;124;43m"[39;49m[38;5;124;43mresults.fifo[39;49m[38;5;124;43m"[39;49m[43m)[49m)
|
||||
|
||||
File [0;32m/nix/store/13dn9rbd9j677ap99g05vklq1lc3w3bd-python3-3.9.13-env/lib/python3.9/site-packages/hiro_models/model_base.py:411[0m, in [0;36mModel.all_energies_online[0;34m(self, stream_pipe, **kwargs)[0m
|
||||
[1;32m 399[0m system_power_worker [38;5;241m=[39m hopsflow[38;5;241m.[39mutil[38;5;241m.[39mmake_operator_expectation_task(
|
||||
[1;32m 400[0m [38;5;28mself[39m[38;5;241m.[39msystem[38;5;241m.[39mderivative(), [38;5;28mself[39m[38;5;241m.[39mt, normalize[38;5;241m=[39m[38;5;28;01mTrue[39;00m, real[38;5;241m=[39m[38;5;28;01mTrue[39;00m
|
||||
[1;32m 401[0m )
|
||||
[1;32m 403[0m flow, interaction, interaction_power, system, system_power [38;5;241m=[39m (
|
||||
[1;32m 404[0m [38;5;28;01mNone[39;00m,
|
||||
[1;32m 405[0m [38;5;28;01mNone[39;00m,
|
||||
[0;32m (...)[0m
|
||||
[1;32m 408[0m [38;5;28;01mNone[39;00m,
|
||||
[1;32m 409[0m )
|
||||
[0;32m--> 411[0m [38;5;28;01mwith[39;00m [38;5;28;43mopen[39;49m[43m([49m[43mstream_pipe[49m[43m,[49m[43m [49m[38;5;124;43m"[39;49m[38;5;124;43mrb[39;49m[38;5;124;43m"[39;49m[43m)[49m [38;5;28;01mas[39;00m fifo:
|
||||
[1;32m 412[0m [38;5;28;01mwhile[39;00m [38;5;28;01mTrue[39;00m:
|
||||
[1;32m 413[0m [38;5;28;01mtry[39;00m:
|
||||
|
||||
[0;31mKeyboardInterrupt[0m:
|
||||
#+end_example
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
%matplotlib tk
|
||||
flow, interaction, int_pow, system, sys_pow = model.all_energies_online_from_cache()
|
||||
|
@ -215,8 +189,8 @@ Here we try to reproduce the anti zeno engine from the paper.
|
|||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
: 897
|
||||
| hline | <AxesSubplot:> | ((<matplotlib.lines.Line2D at 0x7f8110dac100>) <matplotlib.collections.PolyCollection at 0x7f8110d89fa0>) |
|
||||
: 1000
|
||||
| hline | <AxesSubplot:> | ((<matplotlib.lines.Line2D at 0x7fc17ce7d5e0>) <matplotlib.collections.PolyCollection at 0x7fc17ce7d850>) |
|
||||
:END:
|
||||
|
||||
|
||||
|
@ -227,7 +201,7 @@ Here we try to reproduce the anti zeno engine from the paper.
|
|||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:xlabel= | $\tau$ | > |
|
||||
[[file:./.ob-jupyter/ba66070842ce964bbf22617fe2187a53ce7b0eb7.svg]]
|
||||
[[file:./.ob-jupyter/ac1f2d29ca14cd56819bad81a9331fe58699b8a4.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
|
@ -236,84 +210,107 @@ Here we try to reproduce the anti zeno engine from the paper.
|
|||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:xlabel= | $\omega$ | ylabel= | Spectral Density | > |
|
||||
[[file:./.ob-jupyter/ac8e211f0656dcabbdf35b0b21870882d451383a.svg]]
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot: | xlabel= | $\omega$ | ylabel= | Spectral Density | > |
|
||||
[[file:./.ob-jupyter/0750fb10f4322daf823b3a4dd2a778f611cd35ba.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_total_power(model, params)
|
||||
az.plot_total_power(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
# [goto error]
|
||||
#+begin_example
|
||||
[0;31m---------------------------------------------------------------------------[0m
|
||||
[0;31mRuntimeError[0m Traceback (most recent call last)
|
||||
Input [0;32mIn [37][0m, in [0;36m<cell line: 1>[0;34m()[0m
|
||||
[0;32m----> 1[0m [43mplot_total_power[49m[43m([49m[43mmodel[49m[43m,[49m[43m [49m[43mparams[49m[43m)[49m
|
||||
|
||||
File [0;32m~/Documents/Projects/UNI/master/masterarb/python/energy_flow_proper/10_antizeno_engine/plot_utils.py:40[0m, in [0;36mwrap_plot.<locals>.wrapped[0;34m(ax, setup_function, *args, **kwargs)[0m
|
||||
[1;32m 37[0m [38;5;28;01mif[39;00m [38;5;129;01mnot[39;00m ax:
|
||||
[1;32m 38[0m fig, ax [38;5;241m=[39m setup_function()
|
||||
[0;32m---> 40[0m ret_val [38;5;241m=[39m [43mf[49m[43m([49m[38;5;241;43m*[39;49m[43margs[49m[43m,[49m[43m [49m[43max[49m[38;5;241;43m=[39;49m[43max[49m[43m,[49m[43m [49m[38;5;241;43m*[39;49m[38;5;241;43m*[39;49m[43mkwargs[49m[43m)[49m
|
||||
[1;32m 41[0m [38;5;28;01mreturn[39;00m (fig, ax, ret_val) [38;5;28;01mif[39;00m ret_val [38;5;28;01melse[39;00m (fig, ax)
|
||||
|
||||
File [0;32m~/Documents/Projects/UNI/master/masterarb/python/energy_flow_proper/10_antizeno_engine/anti_zeno_engine.py:277[0m, in [0;36mplot_total_power[0;34m(model, params, ax)[0m
|
||||
[1;32m 275[0m [38;5;129m@wrap_plot[39m
|
||||
[1;32m 276[0m [38;5;28;01mdef[39;00m [38;5;21mplot_total_power[39m(model, params, ax[38;5;241m=[39m[38;5;28;01mNone[39;00m):
|
||||
[0;32m--> 277[0m [38;5;28;01mwith[39;00m [43maux[49m[38;5;241;43m.[39;49m[43mget_data[49m[43m([49m[43mmodel[49m[43m)[49m [38;5;28;01mas[39;00m data:
|
||||
[1;32m 278[0m mask [38;5;241m=[39m model[38;5;241m.[39mt [38;5;241m>[39m params[38;5;241m.[39mτ_init
|
||||
[1;32m 279[0m plot_with_σ(
|
||||
[1;32m 280[0m model[38;5;241m.[39mt[mask], model[38;5;241m.[39mtotal_power(data, gc_sleep[38;5;241m=[39m[38;5;241m0[39m)[38;5;241m.[39mslice(mask), ax[38;5;241m=[39max
|
||||
[1;32m 281[0m )
|
||||
|
||||
File [0;32m/nix/store/jhaz6wa06sid3pc6c0g3wmid421vldwj-python3-3.9.13-env/lib/python3.9/site-packages/hiro_models/model_auxiliary.py:161[0m, in [0;36mget_data[0;34m(model, data_path, read_only, **kwargs)[0m
|
||||
[1;32m 150[0m [38;5;28;01mreturn[39;00m HIData(
|
||||
[1;32m 151[0m path,
|
||||
[1;32m 152[0m hi_key[38;5;241m=[39mmodel[38;5;241m.[39mhops_config,
|
||||
[0;32m (...)[0m
|
||||
[1;32m 157[0m [38;5;241m*[39m[38;5;241m*[39mkwargs,
|
||||
[1;32m 158[0m )
|
||||
[1;32m 160[0m [38;5;28;01melse[39;00m:
|
||||
[0;32m--> 161[0m [38;5;28;01mraise[39;00m [38;5;167;01mRuntimeError[39;00m([38;5;124mf[39m[38;5;124m"[39m[38;5;124mNo data found for model with hash [39m[38;5;124m'[39m[38;5;132;01m{[39;00mhexhash[38;5;132;01m}[39;00m[38;5;124m'[39m[38;5;124m.[39m[38;5;124m"[39m)
|
||||
|
||||
[0;31mRuntimeError[0m: No data found for model with hash 'e51d6781660399bc02edc6fa6d2a8709342c8884dc390695bb4024e566f94788'.
|
||||
#+end_example
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot: | > |
|
||||
[[file:./.ob-jupyter/a0940099e4254277356021fe5efb2256a9b41d6f.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_excited_state(model, params, with_init=True)
|
||||
%matplotlib inline
|
||||
az.plot_flow(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:> |
|
||||
[[file:./.ob-jupyter/cb9dd30567ab3e585612450d945f68b293d62b49.svg]]
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot: | > |
|
||||
[[file:./.ob-jupyter/49b58ffd075a7a6568c33e09b51b2d56c5188a18.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
from brokenaxes import brokenaxes
|
||||
|
||||
flow, interaction, int_pow, system, sys_pow = model.all_energies_online_from_cache()
|
||||
f, (ax, ax2) = plt.subplots(ncols=2, sharey=True)
|
||||
mask = np.logical_and(model.t > params.τ_init, model.t < params.τ_init+params.τ_c)
|
||||
plot_with_σ(model.t[mask], flow.for_bath(0).slice(mask), ax=ax, label="Cold", alpha=0.5)
|
||||
plot_with_σ(model.t[mask], flow.for_bath(1).slice(mask), ax=ax, label="Hot", alpha=0.5)
|
||||
mask = np.logical_and(model.t > (params.τ_init + params.τ_off + params.τ_c), model.t < (params.τ_init + params.τ_off + params.τ_c * 2))
|
||||
plot_with_σ(model.t[mask], flow.for_bath(0).slice(mask), ax=ax2, label="Cold", alpha=0.5)
|
||||
plot_with_σ(model.t[mask], flow.for_bath(1).slice(mask), ax=ax2, label="Hot", alpha=0.5)
|
||||
ax.legend()
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
: 114592
|
||||
[[file:./.ob-jupyter/415a9e30963a519d4316460eb97c6ac7e59c4ab9.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
%matplotlib tk
|
||||
flow, interaction, int_pow, system, sys_pow = model.all_energies_online_from_cache()
|
||||
tot_power = (int_pow + sys_pow).sum_baths()
|
||||
f, (ax) = plt.subplots(ncols=1, sharey=True)
|
||||
mask_first = np.logical_and(model.t > params.τ_init, model.t < params.τ_init+params.τ_c)
|
||||
plot_with_σ(model.t[mask_first], tot_power.slice(mask_first), ax=ax, label="Cold", linewidth=.1)
|
||||
ax.axhline(max(tot_power.slice(mask).value))
|
||||
mask = np.logical_and(model.t > (params.τ_init + params.τ_off + params.τ_c), model.t < (params.τ_init + params.τ_off + params.τ_c * 2))
|
||||
plot_with_σ(model.t[mask] - params.τ_off - params.τ_c, tot_power.slice(mask), ax=ax, label="Cold", alpha=0.5, linewidth=.1)
|
||||
ax2.axhline(max(tot_power.slice(mask).value))
|
||||
ax.legend()
|
||||
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: <matplotlib.legend.Legend at 0x7f455af60460>
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_coherences(model, params)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:> |
|
||||
[[file:./.ob-jupyter/b53ff9a196a6e3f854b4fac57edc3a4f6341ab5c.svg]]
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot: | > |
|
||||
[[file:./.ob-jupyter/5ec9de8b7d5e3c6db100f422847f3213e4c82be7.svg]]
|
||||
:END:
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
plot_power_output(model, params, steady_index=2)
|
||||
az.plot_power_output(model, params, steady_index=0)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:RESULTS:
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot:title= | (center : \(\bar{P}=-0.1214\pm 0.0006\)) | xlabel= | $\tau$ | ylabel= | $\langle{P}\rangle$ | > | EnsembleValue | (((50000 -0.12137889710904826 0.0005822571770304311))) |
|
||||
[[file:./.ob-jupyter/308d2abac15b394ba335d0288fc22b63cc78d4aa.svg]]
|
||||
| <Figure | size | 520x320 | with | 1 | Axes> | <AxesSubplot: | title= | (center : \(\bar{P}=-0.01074\pm 0.00018\)) | xlabel= | $\tau$ | ylabel= | $\langle{P}\rangle$ | > | EnsembleValue | (((114592 -0.010740084942026365 0.0001783712160433793))) |
|
||||
[[file:./.ob-jupyter/ebb8a3d6c186256877b7b4f6758b2f4b6a9936f3.svg]]
|
||||
:END:
|
||||
|
||||
#+begin_src jupyter-python
|
||||
powers, *_ = az.get_powers(model, params)
|
||||
δ = abs(powers[0] - powers[1]) * (1 / max([abs(power.value) for power in powers]))
|
||||
δ.value, δ.σ, δ.N, powers[1].value / powers[0].value, powers[1].σ, powers[0].σ, np.sqrt((powers[1].σ / powers[0].value) ** 2 + (powers[1].value / ((powers[0].value) ** 2) * (powers[0].σ)) ** 2)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| 0.848105965701148 | 0.01913064382265813 | 114592 | 6.583537033669784 | 0.00026142881805965064 | 0.0002427347027911536 | 0.5716895128604129 |
|
||||
|
||||
#+begin_src jupyter-python
|
||||
powers[0].value,powers[1].value
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
| -0.0028324737900908177 | -0.018647696093961913 |
|
||||
|
||||
#+begin_src jupyter-python
|
||||
model.hexhash
|
||||
#+end_src
|
||||
|
|
|
@ -1,140 +0,0 @@
|
|||
% This file was created with tikzplotlib v0.10.1.
|
||||
\begin{tikzpicture}
|
||||
|
||||
\definecolor{darkgray176}{RGB}{176,176,176}
|
||||
\definecolor{darkorange25512714}{RGB}{255,127,14}
|
||||
\definecolor{lightgray204}{RGB}{204,204,204}
|
||||
\definecolor{steelblue31119180}{RGB}{31,119,180}
|
||||
|
||||
\begin{axis}[
|
||||
height=\figH,
|
||||
legend cell align={left},
|
||||
legend style={fill opacity=0.8, draw opacity=1, text opacity=1, draw=lightgray204},
|
||||
log basis x={10},
|
||||
log basis y={10},
|
||||
tick align=outside,
|
||||
tick pos=left,
|
||||
width=\figW,
|
||||
x grid style={darkgray176},
|
||||
xlabel={\(\displaystyle \tau\)},
|
||||
xmin=0.0707945784384138, xmax=141.253754462275,
|
||||
xmode=log,
|
||||
xtick style={color=black},
|
||||
xtick={0.001,0.01,0.1,1,10,100,1000,10000},
|
||||
xticklabels={
|
||||
\(\displaystyle {10^{-3}}\),
|
||||
\(\displaystyle {10^{-2}}\),
|
||||
\(\displaystyle {10^{-1}}\),
|
||||
\(\displaystyle {10^{0}}\),
|
||||
\(\displaystyle {10^{1}}\),
|
||||
\(\displaystyle {10^{2}}\),
|
||||
\(\displaystyle {10^{3}}\),
|
||||
\(\displaystyle {10^{4}}\)
|
||||
},
|
||||
y grid style={darkgray176},
|
||||
ylabel={\(\displaystyle |\alpha(\tau)|\)},
|
||||
ymin=2.25169226366166e-06, ymax=0.619147937939852,
|
||||
ymode=log,
|
||||
ytick style={color=black},
|
||||
ytick={1e-07,1e-06,1e-05,0.0001,0.001,0.01,0.1,1,10},
|
||||
yticklabels={
|
||||
\(\displaystyle {10^{-7}}\),
|
||||
\(\displaystyle {10^{-6}}\),
|
||||
\(\displaystyle {10^{-5}}\),
|
||||
\(\displaystyle {10^{-4}}\),
|
||||
\(\displaystyle {10^{-3}}\),
|
||||
\(\displaystyle {10^{-2}}\),
|
||||
\(\displaystyle {10^{-1}}\),
|
||||
\(\displaystyle {10^{0}}\),
|
||||
\(\displaystyle {10^{1}}\)
|
||||
}
|
||||
]
|
||||
\addplot [very thin, steelblue31119180]
|
||||
table {%
|
||||
0.100000001490116 0.350392043590546
|
||||
0.118051640689373 0.344594210386276
|
||||
0.135560184717178 0.338259786367416
|
||||
0.1535275131464 0.331113487482071
|
||||
0.172678083181381 0.322873294353485
|
||||
0.191550090909004 0.314225733280182
|
||||
0.211020365357399 0.304862529039383
|
||||
0.230867817997932 0.294965773820877
|
||||
0.252582013607025 0.283855527639389
|
||||
0.274434328079224 0.272501945495605
|
||||
0.29817721247673 0.260104954242706
|
||||
0.321741849184036 0.247862085700035
|
||||
0.347168624401093 0.234842285513878
|
||||
0.374605029821396 0.221136122941971
|
||||
0.404209583997726 0.206861838698387
|
||||
0.436153769493103 0.192162871360779
|
||||
0.470622450113297 0.177203461527824
|
||||
0.50781512260437 0.162162244319916
|
||||
0.547947287559509 0.147224903106689
|
||||
0.591250836849213 0.132576137781143
|
||||
0.637976706027985 0.118391141295433
|
||||
0.688395142555237 0.104828864336014
|
||||
0.747952163219452 0.0909036248922348
|
||||
0.8126620054245 0.0780229121446609
|
||||
0.882970035076141 0.0662879720330238
|
||||
0.966017484664917 0.0549374520778656
|
||||
1.05687594413757 0.0450283586978912
|
||||
1.17238163948059 0.0353558026254177
|
||||
1.32777094841003 0.0260966345667839
|
||||
1.81241738796234 0.0121243027970195
|
||||
1.99664270877838 0.00971182063221931
|
||||
2.19959330558777 0.00787647254765034
|
||||
2.43998622894287 0.0063685062341392
|
||||
2.80186629295349 0.00485503114759922
|
||||
4.83821058273315 0.00167939730454236
|
||||
7.68928480148315 0.000670014414936304
|
||||
21.2484550476074 8.80772568052635e-05
|
||||
100 3.97877238356159e-06
|
||||
};
|
||||
\addlegendentry{$T=1$}
|
||||
\addplot [very thin, darkorange25512714]
|
||||
table {%
|
||||
0.100000001490116 0.306067138910294
|
||||
0.118870787322521 0.301281154155731
|
||||
0.137447878718376 0.295945942401886
|
||||
0.156745538115501 0.289826720952988
|
||||
0.176297530531883 0.283112406730652
|
||||
0.196922048926353 0.275565981864929
|
||||
0.21844357252121 0.267291784286499
|
||||
0.240647524595261 0.258442908525467
|
||||
0.263281553983688 0.249211356043816
|
||||
0.288044393062592 0.23899319767952
|
||||
0.312964856624603 0.228705704212189
|
||||
0.340041220188141 0.217645987868309
|
||||
0.369460135698318 0.205892130732536
|
||||
0.401424258947372 0.193552568554878
|
||||
0.436153769493103 0.180763334035873
|
||||
0.473887920379639 0.167683392763138
|
||||
0.514886677265167 0.15448684990406
|
||||
0.559432446956635 0.141354247927666
|
||||
0.607832312583923 0.128462627530098
|
||||
0.665001809597015 0.114958576858044
|
||||
0.732596457004547 0.101153805851936
|
||||
0.807062089443207 0.0882870703935623
|
||||
0.895265758037567 0.0756799131631851
|
||||
1 0.0636619701981544
|
||||
1.13254117965698 0.0519214943051338
|
||||
1.30051136016846 0.0409912280738354
|
||||
1.51418936252594 0.0312955901026726
|
||||
1.81241738796234 0.0225122198462486
|
||||
2.2302234172821 0.015233357436955
|
||||
2.90043020248413 0.00918643362820148
|
||||
4.07014226913452 0.0047322316095233
|
||||
6.69615983963013 0.00176491541787982
|
||||
16.7967472076416 0.00028180907247588
|
||||
100 7.95754749560729e-06
|
||||
};
|
||||
\addlegendentry{$T=0$}
|
||||
\end{axis}
|
||||
|
||||
\draw ({$(current bounding box.south west)!0.5!(current bounding box.south east)$}|-{$(current bounding box.south west)!0.98!(current bounding box.north west)$}) node[
|
||||
scale=0.42,
|
||||
anchor=north,
|
||||
text=black,
|
||||
rotate=0.0
|
||||
]{$\alpha(0)=0.64$, $\omega_c=2$};
|
||||
\end{tikzpicture}
|
|
@ -1,140 +0,0 @@
|
|||
% This file was created with tikzplotlib v0.10.1.
|
||||
\begin{tikzpicture}
|
||||
|
||||
\definecolor{darkgray176}{RGB}{176,176,176}
|
||||
\definecolor{darkorange25512714}{RGB}{255,127,14}
|
||||
\definecolor{lightgray204}{RGB}{204,204,204}
|
||||
\definecolor{steelblue31119180}{RGB}{31,119,180}
|
||||
|
||||
\begin{axis}[
|
||||
height=\figH,
|
||||
legend cell align={left},
|
||||
legend style={fill opacity=0.8, draw opacity=1, text opacity=1, draw=lightgray204},
|
||||
log basis x={10},
|
||||
log basis y={10},
|
||||
minor xtick={20,30,40,50,60,70,80,90,200,300,400,500,600,700,800,900,2000,3000,4000,5000,6000,7000,8000,9000,20000,30000,40000,50000,60000,70000,80000,90000,200000,300000,400000,500000,600000,700000,800000,900000},
|
||||
minor xticklabels={
|
||||
\(\displaystyle {2\times10^{1}}\),
|
||||
\(\displaystyle {3\times10^{1}}\),
|
||||
\(\displaystyle {4\times10^{1}}\),
|
||||
,
|
||||
\(\displaystyle {6\times10^{1}}\),
|
||||
,
|
||||
,
|
||||
,
|
||||
\(\displaystyle {2\times10^{2}}\),
|
||||
\(\displaystyle {3\times10^{2}}\),
|
||||
\(\displaystyle {4\times10^{2}}\),
|
||||
,
|
||||
\(\displaystyle {6\times10^{2}}\),
|
||||
,
|
||||
,
|
||||
,
|
||||
\(\displaystyle {2\times10^{3}}\),
|
||||
\(\displaystyle {3\times10^{3}}\),
|
||||
\(\displaystyle {4\times10^{3}}\),
|
||||
,
|
||||
\(\displaystyle {6\times10^{3}}\),
|
||||
,
|
||||
,
|
||||
,
|
||||
\(\displaystyle {2\times10^{4}}\),
|
||||
\(\displaystyle {3\times10^{4}}\),
|
||||
\(\displaystyle {4\times10^{4}}\),
|
||||
,
|
||||
\(\displaystyle {6\times10^{4}}\),
|
||||
,
|
||||
,
|
||||
,
|
||||
\(\displaystyle {2\times10^{5}}\),
|
||||
\(\displaystyle {3\times10^{5}}\),
|
||||
\(\displaystyle {4\times10^{5}}\),
|
||||
,
|
||||
\(\displaystyle {6\times10^{5}}\),
|
||||
,
|
||||
,
|
||||
|
||||
},
|
||||
minor ytick={2e-05,3e-05,4e-05,5e-05,6e-05,7e-05,8e-05,9e-05,0.0002,0.0003,0.0004,0.0005,0.0006,0.0007,0.0008,0.0009,0.002,0.003,0.004,0.005,0.006,0.007,0.008,0.009,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09},
|
||||
minor yticklabels={
|
||||
\(\displaystyle {2\times10^{-5}}\),
|
||||
\(\displaystyle {3\times10^{-5}}\),
|
||||
\(\displaystyle {4\times10^{-5}}\),
|
||||
\(\displaystyle {5\times10^{-5}}\),
|
||||
\(\displaystyle {6\times10^{-5}}\),
|
||||
\(\displaystyle {7\times10^{-5}}\),
|
||||
\(\displaystyle {8\times10^{-5}}\),
|
||||
\(\displaystyle {9\times10^{-5}}\),
|
||||
\(\displaystyle {2\times10^{-4}}\),
|
||||
\(\displaystyle {3\times10^{-4}}\),
|
||||
\(\displaystyle {4\times10^{-4}}\),
|
||||
\(\displaystyle {5\times10^{-4}}\),
|
||||
\(\displaystyle {6\times10^{-4}}\),
|
||||
\(\displaystyle {7\times10^{-4}}\),
|
||||
\(\displaystyle {8\times10^{-4}}\),
|
||||
\(\displaystyle {9\times10^{-4}}\),
|
||||
\(\displaystyle {2\times10^{-3}}\),
|
||||
\(\displaystyle {3\times10^{-3}}\),
|
||||
\(\displaystyle {4\times10^{-3}}\),
|
||||
\(\displaystyle {5\times10^{-3}}\),
|
||||
\(\displaystyle {6\times10^{-3}}\),
|
||||
\(\displaystyle {7\times10^{-3}}\),
|
||||
\(\displaystyle {8\times10^{-3}}\),
|
||||
\(\displaystyle {9\times10^{-3}}\),
|
||||
\(\displaystyle {2\times10^{-2}}\),
|
||||
\(\displaystyle {3\times10^{-2}}\),
|
||||
\(\displaystyle {4\times10^{-2}}\),
|
||||
\(\displaystyle {5\times10^{-2}}\),
|
||||
\(\displaystyle {6\times10^{-2}}\),
|
||||
\(\displaystyle {7\times10^{-2}}\),
|
||||
\(\displaystyle {8\times10^{-2}}\),
|
||||
\(\displaystyle {9\times10^{-2}}\)
|
||||
},
|
||||
tick align=outside,
|
||||
tick pos=left,
|
||||
title={\(\displaystyle \alpha(0)=0.95\), \(\displaystyle \omega_c=2\)},
|
||||
width=\figW,
|
||||
x grid style={darkgray176},
|
||||
xlabel={N},
|
||||
xmin=922.680834590588, xmax=5418.99193367184,
|
||||
xmode=log,
|
||||
xtick style={color=black},
|
||||
xtick={10,100,1000,10000,100000},
|
||||
xticklabels={
|
||||
\(\displaystyle {10^{1}}\),
|
||||
\(\displaystyle {10^{2}}\),
|
||||
\(\displaystyle {10^{3}}\),
|
||||
\(\displaystyle {10^{4}}\),
|
||||
\(\displaystyle {10^{5}}\)
|
||||
},
|
||||
y grid style={darkgray176},
|
||||
ylabel={\(\displaystyle \langle \sigma \rangle / J_\mathrm{max}\)},
|
||||
ymin=0.000345871424493466, ymax=0.000838201019949921,
|
||||
ymode=log,
|
||||
ytick style={color=black},
|
||||
ytick={1e-05,0.0001,0.001,0.01},
|
||||
yticklabels={
|
||||
\(\displaystyle {10^{-5}}\),
|
||||
\(\displaystyle {10^{-4}}\),
|
||||
\(\displaystyle {10^{-3}}\),
|
||||
\(\displaystyle {10^{-2}}\)
|
||||
}
|
||||
]
|
||||
\addplot [semithick, steelblue31119180]
|
||||
table {%
|
||||
1000 0.00080514483852312
|
||||
5000.0009765625 0.000360071600880474
|
||||
};
|
||||
\addlegendentry{$1/\sqrt{N}$}
|
||||
\addplot [semithick, darkorange25512714, dotted, mark=*, mark size=3, mark options={solid}]
|
||||
table {%
|
||||
1000 0.00080514483852312
|
||||
1999.99963378906 0.000566588540095836
|
||||
3000.00073242188 0.000463386240880936
|
||||
4000.00073242188 0.000403286510845646
|
||||
5000.0009765625 0.000361806363798678
|
||||
};
|
||||
\addlegendentry{Numerics}
|
||||
\end{axis}
|
||||
|
||||
\end{tikzpicture}
|
|
@ -1,692 +0,0 @@
|
|||
% This file was created with tikzplotlib v0.10.1.
|
||||
\begin{tikzpicture}
|
||||
|
||||
\definecolor{darkgray176}{RGB}{176,176,176}
|
||||
\definecolor{lightgray204}{RGB}{204,204,204}
|
||||
\definecolor{skyblue127189233}{RGB}{127,189,233}
|
||||
\definecolor{steelblue31119180}{RGB}{31,119,180}
|
||||
|
||||
\begin{axis}[
|
||||
height=\figH,
|
||||
legend cell align={left},
|
||||
legend style={fill opacity=0.8, draw opacity=1, text opacity=1, draw=lightgray204},
|
||||
tick align=outside,
|
||||
tick pos=left,
|
||||
width=\figW,
|
||||
x grid style={darkgray176},
|
||||
xlabel={\(\displaystyle \tau\)},
|
||||
xmin=-2, xmax=42,
|
||||
xtick style={color=black},
|
||||
xtick={-5,0,5,10,15,20,25,30,35,40,45},
|
||||
xticklabels={
|
||||
\(\displaystyle {\ensuremath{-}5}\),
|
||||
\(\displaystyle {0}\),
|
||||
\(\displaystyle {5}\),
|
||||
\(\displaystyle {10}\),
|
||||
\(\displaystyle {15}\),
|
||||
\(\displaystyle {20}\),
|
||||
\(\displaystyle {25}\),
|
||||
\(\displaystyle {30}\),
|
||||
\(\displaystyle {35}\),
|
||||
\(\displaystyle {40}\),
|
||||
\(\displaystyle {45}\)
|
||||
},
|
||||
y grid style={darkgray176},
|
||||
ylabel={\(\displaystyle ||H_\mathrm{sys}||\)},
|
||||
ymin=-0.0598518297430483, ymax=1.25688842460401,
|
||||
ytick style={color=black},
|
||||
ytick={-0.2,0,0.2,0.4,0.6,0.8,1,1.2,1.4},
|
||||
yticklabels={
|
||||
\(\displaystyle {\ensuremath{-}0.2}\),
|
||||
\(\displaystyle {0.0}\),
|
||||
\(\displaystyle {0.2}\),
|
||||
\(\displaystyle {0.4}\),
|
||||
\(\displaystyle {0.6}\),
|
||||
\(\displaystyle {0.8}\),
|
||||
\(\displaystyle {1.0}\),
|
||||
\(\displaystyle {1.2}\),
|
||||
\(\displaystyle {1.4}\)
|
||||
}
|
||||
]
|
||||
\path [draw=skyblue127189233, fill=skyblue127189233, opacity=0.5, line width=0.096pt]
|
||||
(axis cs:0,0)
|
||||
--(axis cs:0,0)
|
||||
--(axis cs:0,0)
|
||||
--(axis cs:0,0)
|
||||
--cycle;
|
||||
\path [draw=skyblue127189233, fill=skyblue127189233, opacity=0.5, line width=0.096pt]
|
||||
(axis cs:0.760760760760761,0.447358142683627)
|
||||
--(axis cs:0.760760760760761,0.451106180911202)
|
||||
--(axis cs:0.800800800800801,0.47445433090629)
|
||||
--(axis cs:0.840840840840841,0.496794731773835)
|
||||
--(axis cs:0.880880880880881,0.518279033837682)
|
||||
--(axis cs:0.920920920920921,0.538997684786408)
|
||||
--(axis cs:0.960960960960961,0.559025235702598)
|
||||
--(axis cs:1.001001001001,0.578429448648772)
|
||||
--(axis cs:1.04104104104104,0.597273587686199)
|
||||
--(axis cs:1.08108108108108,0.615617036392145)
|
||||
--(axis cs:1.12112112112112,0.633515306264184)
|
||||
--(axis cs:1.16116116116116,0.651019930495794)
|
||||
--(axis cs:1.2012012012012,0.668178242868219)
|
||||
--(axis cs:1.24124124124124,0.685033178003566)
|
||||
--(axis cs:1.28128128128128,0.701623111661306)
|
||||
--(axis cs:1.32132132132132,0.717981825229261)
|
||||
--(axis cs:1.36136136136136,0.734138661897857)
|
||||
--(axis cs:1.4014014014014,0.750118786307664)
|
||||
--(axis cs:1.44144144144144,0.765943496236856)
|
||||
--(axis cs:1.48148148148148,0.781630359217054)
|
||||
--(axis cs:1.52152152152152,0.797193107753209)
|
||||
--(axis cs:1.56156156156156,0.812641264245118)
|
||||
--(axis cs:1.6016016016016,0.827979717884476)
|
||||
--(axis cs:1.64164164164164,0.843208454638544)
|
||||
--(axis cs:1.68168168168168,0.858322671928209)
|
||||
--(axis cs:1.72172172172172,0.873313327251162)
|
||||
--(axis cs:1.76176176176176,0.888167997084984)
|
||||
--(axis cs:1.8018018018018,0.902871879223564)
|
||||
--(axis cs:1.84184184184184,0.917408726805117)
|
||||
--(axis cs:1.88188188188188,0.931761576810952)
|
||||
--(axis cs:1.92192192192192,0.945913240240077)
|
||||
--(axis cs:1.96196196196196,0.959846518935303)
|
||||
--(axis cs:2.002002002002,0.973544230670027)
|
||||
--(axis cs:2.04204204204204,0.986989053190052)
|
||||
--(axis cs:2.08208208208208,1.000163299356)
|
||||
--(axis cs:2.12212212212212,1.01304866746987)
|
||||
--(axis cs:2.16216216216216,1.02562606184788)
|
||||
--(axis cs:2.2022022022022,1.03787555829577)
|
||||
--(axis cs:2.24224224224224,1.04977653165904)
|
||||
--(axis cs:2.28228228228228,1.0613079508111)
|
||||
--(axis cs:2.32232232232232,1.07244876464691)
|
||||
--(axis cs:2.36236236236236,1.08317831155148)
|
||||
--(axis cs:2.4024024024024,1.09347670983488)
|
||||
--(axis cs:2.44244244244244,1.10332522766714)
|
||||
--(axis cs:2.48248248248248,1.11270665749219)
|
||||
--(axis cs:2.52252252252252,1.12160572071435)
|
||||
--(axis cs:2.56256256256256,1.1300094743298)
|
||||
--(axis cs:2.6026026026026,1.13790769608486)
|
||||
--(axis cs:2.64264264264264,1.14529317832404)
|
||||
--(axis cs:2.68268268268268,1.15216190216086)
|
||||
--(axis cs:2.72272272272272,1.15851306355674)
|
||||
--(axis cs:2.76276276276276,1.16434889929657)
|
||||
--(axis cs:2.8028028028028,1.16967432978197)
|
||||
--(axis cs:2.84284284284284,1.17449636305701)
|
||||
--(axis cs:2.88288288288288,1.17882340010771)
|
||||
--(axis cs:2.92292292292292,1.18266452747672)
|
||||
--(axis cs:2.96296296296296,1.18602898634243)
|
||||
--(axis cs:3.003003003003,1.18892593574472)
|
||||
--(axis cs:3.04304304304304,1.19136449528901)
|
||||
--(axis cs:3.08308308308308,1.19335401796879)
|
||||
--(axis cs:3.12312312312312,1.19490445447008)
|
||||
--(axis cs:3.16316316316316,1.19602670525167)
|
||||
--(axis cs:3.2032032032032,1.19673290683344)
|
||||
--(axis cs:3.24324324324324,1.19703659486097)
|
||||
--(axis cs:3.28328328328328,1.19695275316788)
|
||||
--(axis cs:3.32332332332332,1.19649770460018)
|
||||
--(axis cs:3.36336336336336,1.19568888344417)
|
||||
--(axis cs:3.4034034034034,1.19454453192824)
|
||||
--(axis cs:3.44344344344344,1.19308339578362)
|
||||
--(axis cs:3.48348348348348,1.19132450483969)
|
||||
--(axis cs:3.52352352352352,1.18928706783661)
|
||||
--(axis cs:3.56356356356356,1.18699047182623)
|
||||
--(axis cs:3.6036036036036,1.18445434283809)
|
||||
--(axis cs:3.64364364364364,1.18169857464812)
|
||||
--(axis cs:3.68368368368368,1.17874328754736)
|
||||
--(axis cs:3.72372372372372,1.17560866141019)
|
||||
--(axis cs:3.76376376376376,1.17231467488518)
|
||||
--(axis cs:3.8038038038038,1.16888079277089)
|
||||
--(axis cs:3.84384384384384,1.16532568544371)
|
||||
--(axis cs:3.88388388388388,1.1616670395442)
|
||||
--(axis cs:3.92392392392392,1.15792151140982)
|
||||
--(axis cs:3.96396396396396,1.1541048192511)
|
||||
--(axis cs:4.004004004004,1.15023195582656)
|
||||
--(axis cs:4.04404404404404,1.14631744909561)
|
||||
--(axis cs:4.08408408408408,1.14237561211904)
|
||||
--(axis cs:4.12412412412412,1.1384206850025)
|
||||
--(axis cs:4.16416416416416,1.13446681688744)
|
||||
--(axis cs:4.2042042042042,1.13052784708476)
|
||||
--(axis cs:4.24424424424424,1.1266169267222)
|
||||
--(axis cs:4.28428428428428,1.1227460638131)
|
||||
--(axis cs:4.32432432432432,1.11892573043215)
|
||||
--(axis cs:4.36436436436436,1.11516464953957)
|
||||
--(axis cs:4.4044044044044,1.11146985367667)
|
||||
--(axis cs:4.44444444444444,1.10784701700129)
|
||||
--(axis cs:4.48448448448448,1.10430101826806)
|
||||
--(axis cs:4.52452452452452,1.10083657943041)
|
||||
--(axis cs:4.56456456456456,1.0974588372496)
|
||||
--(axis cs:4.6046046046046,1.09417367713914)
|
||||
--(axis cs:4.64464464464464,1.09098773967806)
|
||||
--(axis cs:4.68468468468468,1.08790807351757)
|
||||
--(axis cs:4.72472472472472,1.08494150834108)
|
||||
--(axis cs:4.76476476476476,1.08209387564164)
|
||||
--(axis cs:4.8048048048048,1.07936925737011)
|
||||
--(axis cs:4.84484484484484,1.07676942936276)
|
||||
--(axis cs:4.88488488488488,1.07429360951304)
|
||||
--(axis cs:4.92492492492492,1.07193855356121)
|
||||
--(axis cs:4.96496496496496,1.06969894565669)
|
||||
--(axis cs:5.00500500500501,1.06756796593448)
|
||||
--(axis cs:5.04504504504505,1.06553790013672)
|
||||
--(axis cs:5.08508508508509,1.06360066390821)
|
||||
--(axis cs:5.12512512512513,1.06174817843936)
|
||||
--(axis cs:5.16516516516517,1.05997258151657)
|
||||
--(axis cs:5.20520520520521,1.05826632201766)
|
||||
--(axis cs:5.24524524524525,1.05662217604)
|
||||
--(axis cs:5.28528528528529,1.05503322592051)
|
||||
--(axis cs:5.32532532532533,1.05349281118474)
|
||||
--(axis cs:5.36536536536537,1.05199444919131)
|
||||
--(axis cs:5.40540540540541,1.05053174183942)
|
||||
--(axis cs:5.44544544544545,1.04909830643694)
|
||||
--(axis cs:5.48548548548549,1.04768777833269)
|
||||
--(axis cs:5.52552552552553,1.04629391274844)
|
||||
--(axis cs:5.56556556556557,1.0449107739451)
|
||||
--(axis cs:5.60560560560561,1.04353292880161)
|
||||
--(axis cs:5.64564564564565,1.04215554441572)
|
||||
--(axis cs:5.68568568568569,1.04077429603093)
|
||||
--(axis cs:5.72572572572573,1.03938504361781)
|
||||
--(axis cs:5.76576576576577,1.03798334304139)
|
||||
--(axis cs:5.80580580580581,1.03656388095758)
|
||||
--(axis cs:5.84584584584585,1.03511998741537)
|
||||
--(axis cs:5.88588588588589,1.03364332784722)
|
||||
--(axis cs:5.92592592592593,1.03212382863214)
|
||||
--(axis cs:5.96596596596597,1.03054986387669)
|
||||
--(axis cs:6.00600600600601,1.02890865992126)
|
||||
--(axis cs:6.04604604604605,1.02718688054311)
|
||||
--(axis cs:6.08608608608609,1.02537134931945)
|
||||
--(axis cs:6.12612612612613,1.02344983817713)
|
||||
--(axis cs:6.16616616616617,1.02141185676471)
|
||||
--(axis cs:6.20620620620621,1.01924934505044)
|
||||
--(axis cs:6.24624624624625,1.01695715243278)
|
||||
--(axis cs:6.28628628628629,1.01453321266498)
|
||||
--(axis cs:6.32632632632633,1.01197838197737)
|
||||
--(axis cs:6.36636636636637,1.00929597788876)
|
||||
--(axis cs:6.40640640640641,1.00649114251626)
|
||||
--(axis cs:6.44644644644645,1.00357019627549)
|
||||
--(axis cs:6.48648648648649,1.00054009728546)
|
||||
--(axis cs:6.52652652652653,0.9974080787424)
|
||||
--(axis cs:6.56656656656657,0.994181432178912)
|
||||
--(axis cs:6.60660660660661,0.990867351559417)
|
||||
--(axis cs:6.64664664664665,0.987472750254218)
|
||||
--(axis cs:6.68668668668669,0.984004019304146)
|
||||
--(axis cs:6.72672672672673,0.98046675112549)
|
||||
--(axis cs:6.76676676676677,0.97686552626382)
|
||||
--(axis cs:6.80680680680681,0.973203839244464)
|
||||
--(axis cs:6.84684684684685,0.969484241347255)
|
||||
--(axis cs:6.88688688688689,0.96570866438758)
|
||||
--(axis cs:6.92692692692693,0.961878880821376)
|
||||
--(axis cs:6.96696696696697,0.957996948788602)
|
||||
--(axis cs:7.00700700700701,0.954065534942426)
|
||||
--(axis cs:7.04704704704705,0.950087999289172)
|
||||
--(axis cs:7.08708708708709,0.946068245412512)
|
||||
--(axis cs:7.12712712712713,0.942010392659985)
|
||||
--(axis cs:7.16716716716717,0.937918404137098)
|
||||
--(axis cs:7.20720720720721,0.933795788243568)
|
||||
--(axis cs:7.24724724724725,0.929645444646526)
|
||||
--(axis cs:7.28728728728729,0.925469666905402)
|
||||
--(axis cs:7.32732732732733,0.921270246563173)
|
||||
--(axis cs:7.36736736736737,0.917048644588891)
|
||||
--(axis cs:7.40740740740741,0.912806171263013)
|
||||
--(axis cs:7.44744744744745,0.908544159992589)
|
||||
--(axis cs:7.48748748748749,0.904264123888273)
|
||||
--(axis cs:7.52752752752753,0.899967902461171)
|
||||
--(axis cs:7.56756756756757,0.89565777066064)
|
||||
--(axis cs:7.60760760760761,0.891336499206361)
|
||||
--(axis cs:7.64764764764765,0.887007351536918)
|
||||
--(axis cs:7.68768768768769,0.882674024264399)
|
||||
--(axis cs:7.72772772772773,0.878340581899318)
|
||||
--(axis cs:7.76776776776777,0.874011392444627)
|
||||
--(axis cs:7.80780780780781,0.869691123609032)
|
||||
--(axis cs:7.84784784784785,0.865384764735752)
|
||||
--(axis cs:7.88788788788789,0.861097650980276)
|
||||
--(axis cs:7.92792792792793,0.856835405311491)
|
||||
--(axis cs:7.96796796796797,0.852603773274407)
|
||||
--(axis cs:8.00800800800801,0.848408346019409)
|
||||
--(axis cs:8.04804804804805,0.844254237717199)
|
||||
--(axis cs:8.08808808808809,0.840145803694554)
|
||||
--(axis cs:8.12812812812813,0.836086477971838)
|
||||
--(axis cs:8.16816816816817,0.832078761613066)
|
||||
--(axis cs:8.20820820820821,0.828124352270036)
|
||||
--(axis cs:8.24824824824825,0.824224383614854)
|
||||
--(axis cs:8.28828828828829,0.820379701887204)
|
||||
--(axis cs:8.32832832832833,0.816591130659663)
|
||||
--(axis cs:8.36836836836837,0.81285963990449)
|
||||
--(axis cs:8.40840840840841,0.809186362472827)
|
||||
--(axis cs:8.44844844844845,0.805572413424102)
|
||||
--(axis cs:8.48848848848849,0.802018522515356)
|
||||
--(axis cs:8.52852852852853,0.79852453846489)
|
||||
--(axis cs:8.56856856856857,0.79508892500325)
|
||||
--(axis cs:8.60860860860861,0.791708375353586)
|
||||
--(axis cs:8.64864864864865,0.788377669887048)
|
||||
--(axis cs:8.68868868868869,0.785089823116674)
|
||||
--(axis cs:8.72872872872873,0.781836508495081)
|
||||
--(axis cs:8.76876876876877,0.778608648811129)
|
||||
--(axis cs:8.80880880880881,0.775397030374495)
|
||||
--(axis cs:8.84884884884885,0.772192806618261)
|
||||
--(axis cs:8.88888888888889,0.768987800336657)
|
||||
--(axis cs:8.92892892892893,0.765774595249602)
|
||||
--(axis cs:8.96896896896897,0.762546487599191)
|
||||
--(axis cs:9.00900900900901,0.759297384136557)
|
||||
--(axis cs:9.04904904904905,0.756021746702515)
|
||||
--(axis cs:9.08908908908909,0.752714646865699)
|
||||
--(axis cs:9.12912912912913,0.749371933091359)
|
||||
--(axis cs:9.16916916916917,0.745990479572791)
|
||||
--(axis cs:9.20920920920921,0.742568476101756)
|
||||
--(axis cs:9.24924924924925,0.739105685728214)
|
||||
--(axis cs:9.28928928928929,0.735603654132212)
|
||||
--(axis cs:9.32932932932933,0.732065816635149)
|
||||
--(axis cs:9.36936936936937,0.728497462464803)
|
||||
--(axis cs:9.40940940940941,0.724905500161634)
|
||||
--(axis cs:9.44944944944945,0.721297978697713)
|
||||
--(axis cs:9.48948948948949,0.717683371634153)
|
||||
--(axis cs:9.52952952952953,0.714069704734781)
|
||||
--(axis cs:9.56956956956957,0.710463683123031)
|
||||
--(axis cs:9.60960960960961,0.706869980278012)
|
||||
--(axis cs:9.64964964964965,0.703290826970395)
|
||||
--(axis cs:9.68968968968969,0.699725940250315)
|
||||
--(axis cs:9.72972972972973,0.696172746923022)
|
||||
--(axis cs:9.76976976976977,0.69262678259562)
|
||||
--(axis cs:9.80980980980981,0.689082157325892)
|
||||
--(axis cs:9.84984984984985,0.685532012333298)
|
||||
--(axis cs:9.88988988988989,0.681968959960293)
|
||||
--(axis cs:9.92992992992993,0.678385559782479)
|
||||
--(axis cs:9.96996996996997,0.674774863892122)
|
||||
--(axis cs:10.01001001001,0.67113101347979)
|
||||
--(axis cs:10.0500500500501,0.667449784483005)
|
||||
--(axis cs:10.0900900900901,0.663728935117634)
|
||||
--(axis cs:10.1301301301301,0.659968222048019)
|
||||
--(axis cs:10.1701701701702,0.656169056551463)
|
||||
--(axis cs:10.2102102102102,0.6523338727568)
|
||||
--(axis cs:10.2502502502503,0.648465333125137)
|
||||
--(axis cs:10.2902902902903,0.644565447335794)
|
||||
--(axis cs:10.3303303303303,0.64063449340663)
|
||||
--(axis cs:10.3703703703704,0.63666917563445)
|
||||
--(axis cs:10.4104104104104,0.632658066646073)
|
||||
--(axis cs:10.4504504504505,0.628565038039291)
|
||||
--(axis cs:10.4904904904905,0.624174203172302)
|
||||
--(axis cs:10.4904904904905,0.623340463895704)
|
||||
--(axis cs:10.4904904904905,0.623340463895704)
|
||||
--(axis cs:10.4504504504505,0.626221566568605)
|
||||
--(axis cs:10.4104104104104,0.629421108853249)
|
||||
--(axis cs:10.3703703703704,0.632713866924058)
|
||||
--(axis cs:10.3303303303303,0.636053868524342)
|
||||
--(axis cs:10.2902902902903,0.639419559724858)
|
||||
--(axis cs:10.2502502502503,0.642797346923518)
|
||||
--(axis cs:10.2102102102102,0.646177136147037)
|
||||
--(axis cs:10.1701701701702,0.649550728957555)
|
||||
--(axis cs:10.1301301301301,0.65291127769036)
|
||||
--(axis cs:10.0900900900901,0.656253283689244)
|
||||
--(axis cs:10.0500500500501,0.659572868930251)
|
||||
--(axis cs:10.01001001001,0.662868101906603)
|
||||
--(axis cs:9.96996996996997,0.666139185898489)
|
||||
--(axis cs:9.92992992992993,0.669388399348064)
|
||||
--(axis cs:9.88988988988989,0.672619782043052)
|
||||
--(axis cs:9.84984984984985,0.675838661272111)
|
||||
--(axis cs:9.80980980980981,0.679051131463524)
|
||||
--(axis cs:9.76976976976977,0.682263562852398)
|
||||
--(axis cs:9.72972972972973,0.685482146247457)
|
||||
--(axis cs:9.68968968968969,0.688712444718635)
|
||||
--(axis cs:9.64964964964965,0.691958909564198)
|
||||
--(axis cs:9.60960960960961,0.695224379661132)
|
||||
--(axis cs:9.56956956956957,0.698509644252209)
|
||||
--(axis cs:9.52952952952953,0.701813178698062)
|
||||
--(axis cs:9.48948948948949,0.705131167122912)
|
||||
--(axis cs:9.44944944944945,0.708457856693084)
|
||||
--(axis cs:9.40940940940941,0.711786204344121)
|
||||
--(axis cs:9.36936936936937,0.715108684683032)
|
||||
--(axis cs:9.32932932932933,0.718418105255106)
|
||||
--(axis cs:9.28928928928929,0.721708280682529)
|
||||
--(axis cs:9.24924924924925,0.724974488191224)
|
||||
--(axis cs:9.20920920920921,0.728213695574777)
|
||||
--(axis cs:9.16916916916917,0.731424601609594)
|
||||
--(axis cs:9.12912912912913,0.734607539750632)
|
||||
--(axis cs:9.08908908908909,0.737764280828628)
|
||||
--(axis cs:9.04904904904905,0.740897785919207)
|
||||
--(axis cs:9.00900900900901,0.74401192448686)
|
||||
--(axis cs:8.96896896896897,0.747111229407903)
|
||||
--(axis cs:8.92892892892893,0.750200729730669)
|
||||
--(axis cs:8.88888888888889,0.753285894972181)
|
||||
--(axis cs:8.84884884884885,0.756372690539936)
|
||||
--(axis cs:8.80880880880881,0.759467688690295)
|
||||
--(axis cs:8.76876876876877,0.762578138310049)
|
||||
--(axis cs:8.72872872872873,0.765711911436443)
|
||||
--(axis cs:8.68868868868869,0.768877252960276)
|
||||
--(axis cs:8.64864864864865,0.772082338904937)
|
||||
--(axis cs:8.60860860860861,0.775334722795333)
|
||||
--(axis cs:8.56856856856857,0.778640792840069)
|
||||
--(axis cs:8.52852852852853,0.782005371947745)
|
||||
--(axis cs:8.48848848848849,0.785431561677355)
|
||||
--(axis cs:8.44844844844845,0.788920843831427)
|
||||
--(axis cs:8.40840840840841,0.792473397941607)
|
||||
--(axis cs:8.36836836836837,0.796088526539263)
|
||||
--(axis cs:8.32832832832833,0.79976507664497)
|
||||
--(axis cs:8.28828828828829,0.803501750979836)
|
||||
--(axis cs:8.24824824824825,0.807297256282426)
|
||||
--(axis cs:8.20820820820821,0.811150276929344)
|
||||
--(axis cs:8.16816816816817,0.815059314416221)
|
||||
--(axis cs:8.12812812812813,0.819022443248037)
|
||||
--(axis cs:8.08808808808809,0.823037062203809)
|
||||
--(axis cs:8.04804804804805,0.827099687627451)
|
||||
--(axis cs:8.00800800800801,0.831205856959211)
|
||||
--(axis cs:7.96796796796797,0.835350174134915)
|
||||
--(axis cs:7.92792792792793,0.839526500573777)
|
||||
--(axis cs:7.88788788788789,0.843728257326549)
|
||||
--(axis cs:7.84784784784785,0.847948755541325)
|
||||
--(axis cs:7.80780780780781,0.852181466357195)
|
||||
--(axis cs:7.76776776776777,0.856420163022246)
|
||||
--(axis cs:7.72772772772773,0.860658943216846)
|
||||
--(axis cs:7.68768768768769,0.86489216358199)
|
||||
--(axis cs:7.64764764764765,0.869114381829869)
|
||||
--(axis cs:7.60760760760761,0.873320345634727)
|
||||
--(axis cs:7.56756756756757,0.877505077195446)
|
||||
--(axis cs:7.52752752752753,0.881664005028128)
|
||||
--(axis cs:7.48748748748749,0.885793135818818)
|
||||
--(axis cs:7.44744744744745,0.889889199490903)
|
||||
--(axis cs:7.40740740740741,0.893949732840131)
|
||||
--(axis cs:7.36736736736737,0.897973073171996)
|
||||
--(axis cs:7.32732732732733,0.901958231564174)
|
||||
--(axis cs:7.28728728728729,0.905904659505472)
|
||||
--(axis cs:7.24724724724725,0.909811951977309)
|
||||
--(axis cs:7.20720720720721,0.913679551052372)
|
||||
--(axis cs:7.16716716716717,0.917506481112895)
|
||||
--(axis cs:7.12712712712713,0.921291184039034)
|
||||
--(axis cs:7.08708708708709,0.925031480466916)
|
||||
--(axis cs:7.04704704704705,0.928724696945113)
|
||||
--(axis cs:7.00700700700701,0.932367943367687)
|
||||
--(axis cs:6.96696696696697,0.935958469232769)
|
||||
--(axis cs:6.92692692692693,0.939493984856173)
|
||||
--(axis cs:6.88688688688689,0.942972816321846)
|
||||
--(axis cs:6.84684684684685,0.946393836460398)
|
||||
--(axis cs:6.80680680680681,0.949756165040541)
|
||||
--(axis cs:6.76676676676677,0.953058747219063)
|
||||
--(axis cs:6.72672672672673,0.956299916149987)
|
||||
--(axis cs:6.68668668668669,0.959477088604514)
|
||||
--(axis cs:6.64664664664665,0.962586641748555)
|
||||
--(axis cs:6.60660660660661,0.965624006169348)
|
||||
--(axis cs:6.56656656656657,0.968583895200824)
|
||||
--(axis cs:6.52652652652653,0.971460590504308)
|
||||
--(axis cs:6.48648648648649,0.974248180971487)
|
||||
--(axis cs:6.44644644644645,0.976940728963997)
|
||||
--(axis cs:6.40640640640641,0.979532395278336)
|
||||
--(axis cs:6.36636636636637,0.982017614750365)
|
||||
--(axis cs:6.32632632632633,0.984391412537181)
|
||||
--(axis cs:6.28628628628629,0.986649901489782)
|
||||
--(axis cs:6.24624624624625,0.988790897426327)
|
||||
--(axis cs:6.20620620620621,0.990814541468565)
|
||||
--(axis cs:6.16616616616617,0.992723762386008)
|
||||
--(axis cs:6.12612612612613,0.99452444727473)
|
||||
--(axis cs:6.08608608608609,0.996225270547716)
|
||||
--(axis cs:6.04604604604605,0.997837209917384)
|
||||
--(axis cs:6.00600600600601,0.999372841275947)
|
||||
--(axis cs:5.96596596596597,1.00084553920812)
|
||||
--(axis cs:5.92592592592593,1.00226869088248)
|
||||
--(axis cs:5.88588588588589,1.00365499496739)
|
||||
--(axis cs:5.84584584584585,1.00501591490615)
|
||||
--(axis cs:5.80580580580581,1.00636131919101)
|
||||
--(axis cs:5.76576576576577,1.00769933347777)
|
||||
--(axis cs:5.72572572572573,1.00903643336851)
|
||||
--(axis cs:5.68568568568569,1.01037774704933)
|
||||
--(axis cs:5.64564564564565,1.01172751727136)
|
||||
--(axis cs:5.60560560560561,1.01308963087687)
|
||||
--(axis cs:5.56556556556557,1.01446807668707)
|
||||
--(axis cs:5.52552552552553,1.01586724957091)
|
||||
--(axis cs:5.48548548548549,1.01729203970433)
|
||||
--(axis cs:5.44544544544545,1.01874774431917)
|
||||
--(axis cs:5.40540540540541,1.02023988857419)
|
||||
--(axis cs:5.36536536536537,1.0217740479946)
|
||||
--(axis cs:5.32532532532533,1.0233557495237)
|
||||
--(axis cs:5.28528528528529,1.02499046371803)
|
||||
--(axis cs:5.24524524524525,1.0266836629232)
|
||||
--(axis cs:5.20520520520521,1.02844090371184)
|
||||
--(axis cs:5.16516516516517,1.03026790006272)
|
||||
--(axis cs:5.12512512512513,1.03217057278541)
|
||||
--(axis cs:5.08508508508509,1.03415508138534)
|
||||
--(axis cs:5.04504504504505,1.03622783240432)
|
||||
--(axis cs:5.00500500500501,1.03839542652599)
|
||||
--(axis cs:4.96496496496496,1.04066450641833)
|
||||
--(axis cs:4.92492492492492,1.04304144981024)
|
||||
--(axis cs:4.88488488488488,1.0455319113815)
|
||||
--(axis cs:4.84484484484484,1.04814026107373)
|
||||
--(axis cs:4.8048048048048,1.05086903341923)
|
||||
--(axis cs:4.76476476476476,1.05371851547505)
|
||||
--(axis cs:4.72472472472472,1.05668659017021)
|
||||
--(axis cs:4.68468468468468,1.05976889371695)
|
||||
--(axis cs:4.64464464464464,1.06295925528478)
|
||||
--(axis cs:4.6046046046046,1.06625032545178)
|
||||
--(axis cs:4.56456456456456,1.06963424519349)
|
||||
--(axis cs:4.52452452452452,1.07310319360024)
|
||||
--(axis cs:4.48448448448448,1.07664970380166)
|
||||
--(axis cs:4.44444444444444,1.08026668400841)
|
||||
--(axis cs:4.4044044044044,1.08394717636157)
|
||||
--(axis cs:4.36436436436436,1.08768393996723)
|
||||
--(axis cs:4.32432432432432,1.09146901366122)
|
||||
--(axis cs:4.28428428428428,1.09529337755739)
|
||||
--(axis cs:4.24424424424424,1.09914682942757)
|
||||
--(axis cs:4.2042042042042,1.10301807554269)
|
||||
--(axis cs:4.16416416416416,1.10689498966037)
|
||||
--(axis cs:4.12412412412412,1.11076492499554)
|
||||
--(axis cs:4.08408408408408,1.11461498416201)
|
||||
--(axis cs:4.04404404404404,1.11843217292445)
|
||||
--(axis cs:4.004004004004,1.12220342578228)
|
||||
--(axis cs:3.96396396396396,1.12591550389316)
|
||||
--(axis cs:3.92392392392392,1.12955481064345)
|
||||
--(axis cs:3.88388388388388,1.13310715599257)
|
||||
--(axis cs:3.84384384384384,1.13655754186975)
|
||||
--(axis cs:3.8038038038038,1.1398900039337)
|
||||
--(axis cs:3.76376376376376,1.14308756776458)
|
||||
--(axis cs:3.72372372372372,1.14613232977277)
|
||||
--(axis cs:3.68368368368368,1.1490056651886)
|
||||
--(axis cs:3.64364364364364,1.15168851680068)
|
||||
--(axis cs:3.6036036036036,1.15416170972855)
|
||||
--(axis cs:3.56356356356356,1.15640621797475)
|
||||
--(axis cs:3.52352352352352,1.15840334287552)
|
||||
--(axis cs:3.48348348348348,1.16013477209956)
|
||||
--(axis cs:3.44344344344344,1.16158257095701)
|
||||
--(axis cs:3.4034034034034,1.16272913908364)
|
||||
--(axis cs:3.36336336336336,1.16355722353891)
|
||||
--(axis cs:3.32332332332332,1.16405003037159)
|
||||
--(axis cs:3.28328328328328,1.16419144249217)
|
||||
--(axis cs:3.24324324324324,1.16396631324799)
|
||||
--(axis cs:3.2032032032032,1.16336074316517)
|
||||
--(axis cs:3.16316316316316,1.16236226901693)
|
||||
--(axis cs:3.12312312312312,1.16095991974547)
|
||||
--(axis cs:3.08308308308308,1.15914411420091)
|
||||
--(axis cs:3.04304304304304,1.15690645120634)
|
||||
--(axis cs:3.003003003003,1.15423939295395)
|
||||
--(axis cs:2.96296296296296,1.15113590698897)
|
||||
--(axis cs:2.92292292292292,1.14758911401191)
|
||||
--(axis cs:2.88288288288288,1.14359204346621)
|
||||
--(axis cs:2.84284284284284,1.13913761491542)
|
||||
--(axis cs:2.8028028028028,1.13421888506673)
|
||||
--(axis cs:2.76276276276276,1.1288295608452)
|
||||
--(axis cs:2.72272272272272,1.12296465618563)
|
||||
--(axis cs:2.68268268268268,1.11662111395266)
|
||||
--(axis cs:2.64264264264264,1.10979831343036)
|
||||
--(axis cs:2.6026026026026,1.10249834697982)
|
||||
--(axis cs:2.56256256256256,1.09472613473511)
|
||||
--(axis cs:2.52252252252252,1.08648937153681)
|
||||
--(axis cs:2.48248248248248,1.07779836283431)
|
||||
--(axis cs:2.44244244244244,1.06866576222819)
|
||||
--(axis cs:2.4024024024024,1.05910622912817)
|
||||
--(axis cs:2.36236236236236,1.04913605681609)
|
||||
--(axis cs:2.32232232232232,1.0387727869503)
|
||||
--(axis cs:2.28228228228228,1.02803484326473)
|
||||
--(axis cs:2.24224224224224,1.01694116376664)
|
||||
--(axis cs:2.2022022022022,1.00551082479371)
|
||||
--(axis cs:2.16216216216216,0.993762665660266)
|
||||
--(axis cs:2.12212212212212,0.981714960937949)
|
||||
--(axis cs:2.08208208208208,0.969385202773465)
|
||||
--(axis cs:2.04204204204204,0.956790050564809)
|
||||
--(axis cs:2.002002002002,0.943945438741834)
|
||||
--(axis cs:1.96196196196196,0.930866810181114)
|
||||
--(axis cs:1.92192192192192,0.917569417743242)
|
||||
--(axis cs:1.88188188188188,0.904068603090474)
|
||||
--(axis cs:1.84184184184184,0.890380000317645)
|
||||
--(axis cs:1.8018018018018,0.876519520347772)
|
||||
--(axis cs:1.76176176176176,0.86250305615337)
|
||||
--(axis cs:1.72172172172172,0.848345846061103)
|
||||
--(axis cs:1.68168168168168,0.834061586855731)
|
||||
--(axis cs:1.64164164164164,0.819661422208753)
|
||||
--(axis cs:1.6016016016016,0.805152986899388)
|
||||
--(axis cs:1.56156156156156,0.790539694351264)
|
||||
--(axis cs:1.52152152152152,0.775820388589682)
|
||||
--(axis cs:1.48148148148148,0.760989416437423)
|
||||
--(axis cs:1.44144144144144,0.746037027328713)
|
||||
--(axis cs:1.4014014014014,0.730949854038622)
|
||||
--(axis cs:1.36136136136136,0.715711260810874)
|
||||
--(axis cs:1.32132132132132,0.700301372883024)
|
||||
--(axis cs:1.28128128128128,0.684696833969117)
|
||||
--(axis cs:1.24124124124124,0.668870428650666)
|
||||
--(axis cs:1.2012012012012,0.652790812547492)
|
||||
--(axis cs:1.16116116116116,0.63642245205795)
|
||||
--(axis cs:1.12112112112112,0.619725844518547)
|
||||
--(axis cs:1.08108108108108,0.602657975352992)
|
||||
--(axis cs:1.04104104104104,0.585172936081269)
|
||||
--(axis cs:1.001001001001,0.567222758543129)
|
||||
--(axis cs:0.960960960960961,0.548758481309793)
|
||||
--(axis cs:0.920920920920921,0.529731834319099)
|
||||
--(axis cs:0.880880880880881,0.510097994398011)
|
||||
--(axis cs:0.840840840840841,0.489821121609849)
|
||||
--(axis cs:0.800800800800801,0.468887764526639)
|
||||
--(axis cs:0.760760760760761,0.447358142683627)
|
||||
--cycle;
|
||||
|
||||
\addplot [very thin, steelblue31119180]
|
||||
table {%
|
||||
0 -0
|
||||
0.0400400161743164 0.00488054752349854
|
||||
0.0800800323486328 0.0164093971252441
|
||||
0.120120167732239 0.0327221155166626
|
||||
0.160160183906555 0.0527238845825195
|
||||
0.200200200080872 0.0755805969238281
|
||||
0.240240216255188 0.100606322288513
|
||||
0.280280351638794 0.127220630645752
|
||||
0.360360383987427 0.183284401893616
|
||||
0.480480432510376 0.269015550613403
|
||||
0.560560584068298 0.324335217475891
|
||||
0.640640616416931 0.376818895339966
|
||||
0.680680751800537 0.401818752288818
|
||||
0.720720767974854 0.425955295562744
|
||||
0.76076078414917 0.44923210144043
|
||||
0.800800800323486 0.471671104431152
|
||||
0.880880832672119 0.514188528060913
|
||||
0.960960984230042 0.553891897201538
|
||||
1.04104101657867 0.591223239898682
|
||||
1.1211211681366 0.626620531082153
|
||||
1.20120120048523 0.660484552383423
|
||||
1.28128123283386 0.693160057067871
|
||||
1.4014014005661 0.74053430557251
|
||||
1.52152156829834 0.786506772041321
|
||||
1.68168163299561 0.846192121505737
|
||||
1.80180180072784 0.889695644378662
|
||||
1.92192196846008 0.93174135684967
|
||||
2.04204201698303 0.971889495849609
|
||||
2.12212204933167 0.997381806373596
|
||||
2.20220232009888 1.02169322967529
|
||||
2.28228235244751 1.04467141628265
|
||||
2.36236238479614 1.06615722179413
|
||||
2.44244241714478 1.08599543571472
|
||||
2.52252244949341 1.10404753684998
|
||||
2.60260272026062 1.12020301818848
|
||||
2.68268275260925 1.13439154624939
|
||||
2.76276278495789 1.1465892791748
|
||||
2.84284281730652 1.1568169593811
|
||||
2.92292284965515 1.16512680053711
|
||||
3.00300312042236 1.17158269882202
|
||||
3.083083152771 1.1762490272522
|
||||
3.16316318511963 1.17919445037842
|
||||
3.24324321746826 1.18050146102905
|
||||
3.32332324981689 1.1802738904953
|
||||
3.40340352058411 1.1786367893219
|
||||
3.48348355293274 1.17572963237762
|
||||
3.56356358528137 1.17169833183289
|
||||
3.68368363380432 1.16387450695038
|
||||
3.80380392074585 1.15438544750214
|
||||
3.96396398544312 1.1400101184845
|
||||
4.56456470489502 1.08354651927948
|
||||
4.72472476959229 1.07081401348114
|
||||
4.84484481811523 1.06245481967926
|
||||
4.96496486663818 1.05518174171448
|
||||
5.12512493133545 1.046959400177
|
||||
5.32532548904419 1.03842425346375
|
||||
5.6056056022644 1.02831125259399
|
||||
6.00600624084473 1.0141407251358
|
||||
6.16616630554199 1.00706779956818
|
||||
6.28628635406494 1.00059151649475
|
||||
6.40640640258789 0.993011713027954
|
||||
6.56656646728516 0.981382608413696
|
||||
6.72672653198242 0.968383312225342
|
||||
6.92692708969116 0.950686454772949
|
||||
7.12712717056274 0.931650876998901
|
||||
7.36736726760864 0.907510876655579
|
||||
7.68768787384033 0.873783111572266
|
||||
8.0880880355835 0.831591367721558
|
||||
8.28828811645508 0.811940670013428
|
||||
8.48848819732666 0.79372501373291
|
||||
8.68868827819824 0.776983499526978
|
||||
9.36936950683594 0.721803069114685
|
||||
10.3703699111938 0.634691476821899
|
||||
10.730731010437 0.602354764938354
|
||||
10.9709711074829 0.582029223442078
|
||||
11.1711711883545 0.566482305526733
|
||||
11.3313312530518 0.555291652679443
|
||||
11.5315313339233 0.542772054672241
|
||||
11.8518514633179 0.524681329727173
|
||||
12.4124126434326 0.493420124053955
|
||||
12.6526527404785 0.481948852539062
|
||||
12.9329328536987 0.469943165779114
|
||||
13.2132129669189 0.45796275138855
|
||||
13.3733730316162 0.449936032295227
|
||||
13.5735731124878 0.438592314720154
|
||||
14.2142143249512 0.400914192199707
|
||||
14.4944944381714 0.387105107307434
|
||||
14.9349346160889 0.365057349205017
|
||||
15.3353357315063 0.345635652542114
|
||||
15.6956958770752 0.328966975212097
|
||||
15.8958959579468 0.32126247882843
|
||||
16.0560569763184 0.31636905670166
|
||||
16.2562561035156 0.311796307563782
|
||||
16.6566562652588 0.303695559501648
|
||||
16.8968963623047 0.296688795089722
|
||||
17.8578586578369 0.26725161075592
|
||||
18.3383388519287 0.253704428672791
|
||||
18.5785789489746 0.248642921447754
|
||||
18.9789791107178 0.242129564285278
|
||||
19.4194202423096 0.23615574836731
|
||||
19.7797794342041 0.230757236480713
|
||||
20.0600605010986 0.225056529045105
|
||||
20.4604606628418 0.215296864509583
|
||||
20.9409408569336 0.203076720237732
|
||||
21.1411418914795 0.199517011642456
|
||||
21.4214210510254 0.19611382484436
|
||||
22.382381439209 0.186945080757141
|
||||
22.7427425384521 0.184108734130859
|
||||
23.3833827972412 0.179861545562744
|
||||
23.7437438964844 0.175101161003113
|
||||
24.1441440582275 0.170179605484009
|
||||
24.5845851898193 0.166652321815491
|
||||
25.1451454162598 0.163221120834351
|
||||
25.5855846405029 0.161814332008362
|
||||
25.9859867095947 0.161665439605713
|
||||
26.3063068389893 0.161487102508545
|
||||
27.1871871948242 0.157648205757141
|
||||
27.5875873565674 0.155122637748718
|
||||
28.3083076477051 0.150086522102356
|
||||
28.5885887145996 0.149673342704773
|
||||
29.2692699432373 0.149664282798767
|
||||
29.6296291351318 0.148158431053162
|
||||
30.2302303314209 0.145047426223755
|
||||
30.5505504608154 0.145012974739075
|
||||
31.9919910430908 0.146338939666748
|
||||
32.5125122070312 0.145876407623291
|
||||
33.6736755371094 0.142343640327454
|
||||
35.1551551818848 0.140413880348206
|
||||
35.8358345031738 0.138945341110229
|
||||
36.7567558288574 0.138567447662354
|
||||
37.3573570251465 0.138107299804688
|
||||
38.1181182861328 0.138453125953674
|
||||
38.5585594177246 0.137667655944824
|
||||
38.9589576721191 0.137561559677124
|
||||
39.6396408081055 0.137812376022339
|
||||
40 0.136801600456238
|
||||
};
|
||||
\addlegendentry{$\alpha(0)=0.32$, $\omega_c=1$}
|
||||
\end{axis}
|
||||
|
||||
\end{tikzpicture}
|
|
@ -86,18 +86,48 @@
|
|||
|
||||
#+RESULTS:
|
||||
#+begin_example
|
||||
stocproc.stocproc - INFO - Loaded instance from cache.
|
||||
INFO:stocproc.stocproc:Loaded instance from cache.
|
||||
stocproc.stocproc - INFO - non neg freq only
|
||||
INFO:stocproc.stocproc:non neg freq only
|
||||
[ 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7. 7.5 8.5 9.5 10.5 11.5 12.5
|
||||
13.5]
|
||||
stocproc.stocproc - INFO - Loaded instance from cache.
|
||||
INFO:stocproc.stocproc:Loaded instance from cache.
|
||||
stocproc.stocproc - INFO - Fourier Integral Boundaries: [0.000e+00, 1.527e+03]
|
||||
INFO:stocproc.stocproc:Fourier Integral Boundaries: [0.000e+00, 1.527e+03]
|
||||
stocproc.stocproc - INFO - Number of Nodes : 131072
|
||||
INFO:stocproc.stocproc:Number of Nodes : 131072
|
||||
stocproc.stocproc - INFO - yields dx : 1.165e-02
|
||||
INFO:stocproc.stocproc:yields dx : 1.165e-02
|
||||
stocproc.stocproc - INFO - yields dt : 4.114e-03
|
||||
INFO:stocproc.stocproc:yields dt : 4.114e-03
|
||||
stocproc.stocproc - INFO - yields t_max : 5.392e+02
|
||||
INFO:stocproc.stocproc:yields t_max : 5.392e+02
|
||||
stocproc.stocproc - INFO - non neg freq only
|
||||
INFO:stocproc.stocproc:non neg freq only
|
||||
[ 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7. 7.5 8.5 9.5 10.5 11.5 12.5
|
||||
13.5]
|
||||
stocproc.stocproc - INFO - Loaded instance from cache.
|
||||
INFO:stocproc.stocproc:Loaded instance from cache.
|
||||
stocproc.stocproc - INFO - Fourier Integral Boundaries: [0.000e+00, 5.527e+03]
|
||||
INFO:stocproc.stocproc:Fourier Integral Boundaries: [0.000e+00, 5.527e+03]
|
||||
stocproc.stocproc - INFO - Number of Nodes : 262144
|
||||
INFO:stocproc.stocproc:Number of Nodes : 262144
|
||||
stocproc.stocproc - INFO - yields dx : 2.108e-02
|
||||
INFO:stocproc.stocproc:yields dx : 2.108e-02
|
||||
stocproc.stocproc - INFO - yields dt : 1.137e-03
|
||||
INFO:stocproc.stocproc:yields dt : 1.137e-03
|
||||
stocproc.stocproc - INFO - yields t_max : 2.980e+02
|
||||
INFO:stocproc.stocproc:yields t_max : 2.980e+02
|
||||
stocproc.stocproc - INFO - non neg freq only
|
||||
INFO:stocproc.stocproc:non neg freq only
|
||||
[ 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7. 7.5 8.5 9.5 10.5 11.5 12.5
|
||||
13.5]
|
||||
stocproc.stocproc - INFO - Fourier Integral Boundaries: [0.000e+00, 3.235e+03]
|
||||
INFO:stocproc.stocproc:Fourier Integral Boundaries: [0.000e+00, 3.235e+03]
|
||||
stocproc.stocproc - INFO - Number of Nodes : 262144
|
||||
INFO:stocproc.stocproc:Number of Nodes : 262144
|
||||
stocproc.stocproc - INFO - yields dx : 1.234e-02
|
||||
INFO:stocproc.stocproc:yields dx : 1.234e-02
|
||||
stocproc.stocproc - INFO - yields dt : 1.942e-03
|
||||
INFO:stocproc.stocproc:yields dt : 1.942e-03
|
||||
stocproc.stocproc - INFO - yields t_max : 5.091e+02
|
||||
INFO:stocproc.stocproc:yields t_max : 5.091e+02
|
||||
stocproc.stocproc - INFO - Loaded instance from cache.
|
||||
INFO:stocproc.stocproc:Loaded instance from cache.
|
||||
[ 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7. 7.5 8.5 9.5 10.5 11.5 12.5
|
||||
|
@ -114,6 +144,26 @@
|
|||
#+RESULTS:
|
||||
: RayContext(dashboard_url='', python_version='3.9.13', ray_version='1.13.0', ray_commit='e4ce38d001dbbe09cd21c497fedd03d692b2be3e', address_info={'node_ip_address': '141.30.17.225', 'raylet_ip_address': '141.30.17.225', 'redis_address': None, 'object_store_address': '/tmp/ray/session_2022-08-05_11-16-57_697267_44068/sockets/plasma_store', 'raylet_socket_name': '/tmp/ray/session_2022-08-05_11-16-57_697267_44068/sockets/raylet', 'webui_url': '', 'session_dir': '/tmp/ray/session_2022-08-05_11-16-57_697267_44068', 'metrics_export_port': 59076, 'gcs_address': '141.30.17.225:59268', 'address': '141.30.17.225:59268', 'node_id': 'f205a3b0dd8a57759edce36de05aadac8b525793d4478cd44bede964'})
|
||||
|
||||
#+begin_src jupyter-python
|
||||
fig, ax = plt.subplots()
|
||||
for i, (params, keys) in enumerate(zip(multi_params, model_keys)):
|
||||
plt.axhline(
|
||||
np.sqrt(params.SysP.g[0].sum().real) / keys["wc"],
|
||||
label=rf"$\alpha(0)={params.SysP.g[0].sum().real:.2f}$, $\omega_c={keys['wc']}$",
|
||||
color=(ax.plot([],[])[0].get_color())
|
||||
)
|
||||
|
||||
plt.ylim(0,.6)
|
||||
plt.legend(fontsize="x-small")
|
||||
plt.ylabel(r"$\sqrt{\alpha(0)} / \omega_c$")
|
||||
plt.xticks([])
|
||||
fs.export_fig("timescale_comparison", x_scaling=.3, tikz=False)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
[[file:./.ob-jupyter/1a6e39e8cf92ba799e42a667460ebffb57909043.svg]]
|
||||
|
||||
|
||||
|
||||
#+begin_src jupyter-python
|
||||
supervisors = []
|
||||
|
|
|
@ -82,6 +82,20 @@ import ray
|
|||
ray.shutdown()
|
||||
ray.init()
|
||||
|
||||
fig, ax = plt.subplots()
|
||||
for i, (params, keys) in enumerate(zip(multi_params, model_keys)):
|
||||
plt.axhline(
|
||||
np.sqrt(params.SysP.g[0].sum().real) / keys["wc"],
|
||||
label=rf"$\alpha(0)={params.SysP.g[0].sum().real:.2f}$, $\omega_c={keys['wc']}$",
|
||||
color=(ax.plot([],[])[0].get_color())
|
||||
)
|
||||
|
||||
plt.ylim(0,.6)
|
||||
plt.legend(fontsize="x-small")
|
||||
plt.ylabel(r"$\sqrt{\alpha(0)} / \omega_c$")
|
||||
plt.xticks([])
|
||||
fs.export_fig("timescale_comparison", x_scaling=.3, tikz=False)
|
||||
|
||||
supervisors = []
|
||||
for params in multi_params:
|
||||
supervisor = HOPSSupervisor(
|
||||
|
|
|
@ -117,14 +117,14 @@ def plot_complex(x, y, *args, ax=None, label="", absolute=False, **kwargs):
|
|||
x,
|
||||
abs(y.real) if absolute else y.real,
|
||||
*args,
|
||||
label=f"{label}absolute real part",
|
||||
label=f"{label}{'absolute' if absolute else ''} real part",
|
||||
**kwargs,
|
||||
)
|
||||
ax.plot(
|
||||
x,
|
||||
abs(y.imag) if absolute else y.imag,
|
||||
*args,
|
||||
label=f"{label}absolute imag part",
|
||||
label=f"{label}{'absolute' if absolute else ''} imag part",
|
||||
**kwargs,
|
||||
)
|
||||
ax.legend()
|
||||
|
@ -601,6 +601,7 @@ def plot_energy_overview(
|
|||
# total=True,
|
||||
# flow=True,
|
||||
# interaction=True,
|
||||
bath_names=None,
|
||||
**kwargs,
|
||||
):
|
||||
if not ensemble_args:
|
||||
|
@ -620,11 +621,12 @@ def plot_energy_overview(
|
|||
|
||||
num_baths = interaction_energy.num_baths
|
||||
for bath in range(num_baths):
|
||||
label = bath_names[bath] if bath_names else bath + 1
|
||||
# plot_with_σ(
|
||||
# model.t, flow, bath=bath, ax=ax, label=f"Flow {bath+1}", **kwargs
|
||||
# )
|
||||
plot_with_σ(
|
||||
model.t, bath_energy, bath=bath, ax=ax, label=f"Bath {bath+1}", **kwargs
|
||||
model.t, bath_energy, bath=bath, ax=ax, label=f"Bath {label}", **kwargs
|
||||
)
|
||||
|
||||
plot_with_σ(
|
||||
|
@ -632,7 +634,7 @@ def plot_energy_overview(
|
|||
interaction_energy,
|
||||
ax=ax,
|
||||
bath=bath,
|
||||
label=f"Interaction {bath+1}",
|
||||
label=f"Interaction {label}",
|
||||
**kwargs,
|
||||
)
|
||||
|
||||
|
@ -695,12 +697,13 @@ def plot_σ_development(ensemble_value, ax=None, **kwargs):
|
|||
def plot_multi_energy_overview(
|
||||
models,
|
||||
label_fn=lambda m: fr"$\omega_c={m.ω_c:.1f},\,\alpha(0)={m.bcf(0).real:.2f}$",
|
||||
ensemble_arg=dict(),
|
||||
):
|
||||
fig, ((ax_sys, ax_flow), (ax_inter, ax_bath)) = plt.subplots(
|
||||
nrows=2, ncols=2, sharex=True
|
||||
)
|
||||
|
||||
flow_ins = ax_flow.inset_axes([0.4, 0.20, 0.5, 0.55])
|
||||
# flow_ins = ax_flow.inset_axes([0.4, 0.20, 0.5, 0.55])
|
||||
ax_sys.set_ylabel(r"$\langle H_\mathrm{S}\rangle$")
|
||||
ax_flow.set_ylabel("$J$")
|
||||
ax_inter.set_ylabel(r"$\langle H_\mathrm{I}\rangle$")
|
||||
|
@ -734,11 +737,11 @@ def plot_multi_energy_overview(
|
|||
)
|
||||
|
||||
mask = np.logical_and(7 <= data.time[:], data.time[:] <= 9)
|
||||
plot_with_σ(
|
||||
data.time[mask],
|
||||
flow.slice(mask),
|
||||
ax=flow_ins,
|
||||
)
|
||||
# plot_with_σ(
|
||||
# data.time[mask],
|
||||
# flow.slice(mask),
|
||||
# ax=flow_ins,
|
||||
# )
|
||||
|
||||
plot_with_σ(
|
||||
data.time[:],
|
||||
|
|