Fermi-Hubbard spin-charge separation results

View on QuantumAI Run in Google Colab View source on GitHub Download notebook

This notebook presents the experimental data which was collected on Google Rainbow processor for the Fermi-Hubbard spin-charge separation experiment.

try:
    import recirq
except ImportError:
    print("Installing ReCirq...")
    !pip install -q git+https://github.com/quantumlib/recirq --quiet
    print("Installed ReCirq!")
import glob
from tqdm.notebook import tqdm

from recirq.fermi_hubbard import (
    InstanceBundle,
    apply_rescalings_to_bundles,
    find_bundles_rescalings,
    load_experiment,
    plot_quantity
)
from recirq.fermi_hubbard.publication import (
    parasitic_cphase_compensation,
    fetch_publication_data
)

# Hide numpy warnings
import warnings
warnings.filterwarnings('ignore')

Get the data

In order to run this notebook, the data sets gaussians_1u1d.zip, trapping_2u2d.zip and trapping_3u3d.zip need to be downloaded and extracted from https://doi.org/10.5061/dryad.crjdfn32v. The function fetch_publication_data is a utility to do this.

data_dir = "fermi_hubbard_data"
fetch_publication_data(base_dir=data_dir)
Downloading gaussians_1u1d_nofloquet...
Successfully downloaded.

Downloading gaussians_1u1d...
Successfully downloaded.

Downloading trapping_2u2d...
Successfully downloaded.

Downloading trapping_3u3d...
Successfully downloaded.


Noninteracting Gaussians

# Load results and create a bundle with extracted quantities.
gaussians_1u1d_files = glob.glob(f'{data_dir}/gaussians_1u1d/0.0/*.json')
gaussians_bundle = InstanceBundle(
    experiments=[load_experiment(file) for file in gaussians_1u1d_files],
    steps=range(65),
    rescale_steps=range(65))
# Simulate the exact numerical results that are used as a reference.
with tqdm(range(len(gaussians_bundle.steps))) as progress:
    def post_run(_1, _2):
        progress.update()
    gaussians_bundle.cache_exact_numerics(post_run_func=post_run)
  0%|          | 0/65 [00:00<?, ?it/s]
plot_quantity(gaussians_bundle, 'post_selection', show_std_dev=True);
(<Figure size 1504.8x237.6 with 1 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f4878b8e6d8>],))

png

plot_quantity(gaussians_bundle, 'scaling', show_std_error=True);
(<Figure size 1504.8x237.6 with 1 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f485fdc0710>],))

png

# The data for this quantity can be viewed after double-clicking this cell output.
plot_quantity(gaussians_bundle, 'up_down_density', show_std_error=True);
(<Figure size 12722.4x237.6 with 65 Axes>,
 [[<matplotlib.axes._axes.Axes at 0x7f4892063668>,
   <matplotlib.axes._axes.Axes at 0x7f485fda7d68>,
   <matplotlib.axes._axes.Axes at 0x7f48920338d0>,
   <matplotlib.axes._axes.Axes at 0x7f48cc99c160>,
   <matplotlib.axes._axes.Axes at 0x7f48899645c0>,
   <matplotlib.axes._axes.Axes at 0x7f4878b6f710>,
   <matplotlib.axes._axes.Axes at 0x7f489204f908>,
   <matplotlib.axes._axes.Axes at 0x7f485fd9a1d0>,
   <matplotlib.axes._axes.Axes at 0x7f485fd9a2e8>,
   <matplotlib.axes._axes.Axes at 0x7f4878ddb128>,
   <matplotlib.axes._axes.Axes at 0x7f4878d96e80>,
   <matplotlib.axes._axes.Axes at 0x7f4878b7b908>,
   <matplotlib.axes._axes.Axes at 0x7f489204f160>,
   <matplotlib.axes._axes.Axes at 0x7f48788404a8>,
   <matplotlib.axes._axes.Axes at 0x7f4878850940>,
   <matplotlib.axes._axes.Axes at 0x7f4878afadd8>,
   <matplotlib.axes._axes.Axes at 0x7f4878ac42b0>,
   <matplotlib.axes._axes.Axes at 0x7f48788f8748>,
   <matplotlib.axes._axes.Axes at 0x7f4878e6abe0>,
   <matplotlib.axes._axes.Axes at 0x7f488994f0b8>,
   <matplotlib.axes._axes.Axes at 0x7f485fcc7550>,
   <matplotlib.axes._axes.Axes at 0x7f485fb3e9e8>,
   <matplotlib.axes._axes.Axes at 0x7f4878f88e80>,
   <matplotlib.axes._axes.Axes at 0x7f4878e15358>,
   <matplotlib.axes._axes.Axes at 0x7f4878e507f0>,
   <matplotlib.axes._axes.Axes at 0x7f485fea6c88>,
   <matplotlib.axes._axes.Axes at 0x7f4878a87160>,
   <matplotlib.axes._axes.Axes at 0x7f4878a315f8>,
   <matplotlib.axes._axes.Axes at 0x7f4878cf0a90>,
   <matplotlib.axes._axes.Axes at 0x7f485ff40f28>,
   <matplotlib.axes._axes.Axes at 0x7f485fec1400>,
   <matplotlib.axes._axes.Axes at 0x7f48789d6898>,
   <matplotlib.axes._axes.Axes at 0x7f4889882d30>,
   <matplotlib.axes._axes.Axes at 0x7f485fe38208>,
   <matplotlib.axes._axes.Axes at 0x7f48920a55c0>,
   <matplotlib.axes._axes.Axes at 0x7f492c5ea320>,
   <matplotlib.axes._axes.Axes at 0x7f485fe5c6d8>,
   <matplotlib.axes._axes.Axes at 0x7f48898c48d0>,
   <matplotlib.axes._axes.Axes at 0x7f487889eac8>,
   <matplotlib.axes._axes.Axes at 0x7f48789a1cc0>,
   <matplotlib.axes._axes.Axes at 0x7f485fbf3eb8>,
   <matplotlib.axes._axes.Axes at 0x7f485ff7c128>,
   <matplotlib.axes._axes.Axes at 0x7f485faf22e8>,
   <matplotlib.axes._axes.Axes at 0x7f485fb294e0>,
   <matplotlib.axes._axes.Axes at 0x7f4878c436d8>,
   <matplotlib.axes._axes.Axes at 0x7f485ffc38d0>,
   <matplotlib.axes._axes.Axes at 0x7f4878f25ac8>,
   <matplotlib.axes._axes.Axes at 0x7f4878913cc0>,
   <matplotlib.axes._axes.Axes at 0x7f485fbb3eb8>,
   <matplotlib.axes._axes.Axes at 0x7f48898e6128>,
   <matplotlib.axes._axes.Axes at 0x7f48899212e8>,
   <matplotlib.axes._axes.Axes at 0x7f4878b414e0>,
   <matplotlib.axes._axes.Axes at 0x7f48789736d8>,
   <matplotlib.axes._axes.Axes at 0x7f485fb868d0>,
   <matplotlib.axes._axes.Axes at 0x7f485feffac8>,
   <matplotlib.axes._axes.Axes at 0x7f485fd33cc0>,
   <matplotlib.axes._axes.Axes at 0x7f485fd68eb8>,
   <matplotlib.axes._axes.Axes at 0x7f485faea128>,
   <matplotlib.axes._axes.Axes at 0x7f485faa12e8>,
   <matplotlib.axes._axes.Axes at 0x7f485fa544e0>,
   <matplotlib.axes._axes.Axes at 0x7f485fa086d8>,
   <matplotlib.axes._axes.Axes at 0x7f485fd81ef0>,
   <matplotlib.axes._axes.Axes at 0x7f4878ae2dd8>,
   <matplotlib.axes._axes.Axes at 0x7f488994f748>,
   <matplotlib.axes._axes.Axes at 0x7f4878e21898>]])

png

plot_quantity(gaussians_bundle, 'up_down_position_average', show_std_error=True);
(<Figure size 1504.8x237.6 with 1 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f48568b0518>],))

png

plot_quantity(gaussians_bundle, 'up_down_position_average_dt', show_std_error=True);
(<Figure size 1504.8x237.6 with 1 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f484e6109b0>],))

png

Trapping Potential N=4

# Load results and create a bundles with extracted quantities for each
# interaction strength.
trapping_2u2d_files = [
    glob.glob(f'{data_dir}/trapping_2u2d/{u}/*.json')
    for u in [0.0, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]]
trapping_2u2d_bundles = [InstanceBundle(
    experiments=[load_experiment(file) for file in files],
    numerics_transform=parasitic_cphase_compensation(0.138),
    steps=range(11),
    rescale_steps=range(11)) for files in trapping_2u2d_files]
# Simulate the exact numerical results that are used as a reference.
total_steps = sum(len(bundle.steps) for bundle in trapping_2u2d_bundles)
with tqdm(range(total_steps)) as progress:
    def post_run(_1, _2):
        progress.update()
    for bundle in trapping_2u2d_bundles:
        bundle.cache_exact_numerics(post_run_func=post_run)
  0%|          | 0/110 [00:00<?, ?it/s]
# Use shared rescaling values among compatible problem instances.
apply_rescalings_to_bundles(find_bundles_rescalings(trapping_2u2d_bundles))
plot_quantity(trapping_2u2d_bundles, 'post_selection', show_std_dev=True);
(<Figure size 2606.4x237.6 with 10 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f4878dadba8>,
   <matplotlib.axes._axes.Axes at 0x7f4878d25898>,
   <matplotlib.axes._axes.Axes at 0x7f4878b71cf8>,
   <matplotlib.axes._axes.Axes at 0x7f484dcea630>,
   <matplotlib.axes._axes.Axes at 0x7f484e79e550>,
   <matplotlib.axes._axes.Axes at 0x7f4878dbbba8>,
   <matplotlib.axes._axes.Axes at 0x7f484dcbd208>,
   <matplotlib.axes._axes.Axes at 0x7f484dcbdeb8>,
   <matplotlib.axes._axes.Axes at 0x7f4804307588>,
   <matplotlib.axes._axes.Axes at 0x7f485fe11898>],))

png

plot_quantity(trapping_2u2d_bundles, 'scaling', show_std_error=True);
(<Figure size 2606.4x237.6 with 10 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f484d4372b0>,
   <matplotlib.axes._axes.Axes at 0x7f48048c49b0>,
   <matplotlib.axes._axes.Axes at 0x7f48048c4860>,
   <matplotlib.axes._axes.Axes at 0x7f48046acbe0>,
   <matplotlib.axes._axes.Axes at 0x7f48047d7cc0>,
   <matplotlib.axes._axes.Axes at 0x7f4804852eb8>,
   <matplotlib.axes._axes.Axes at 0x7f484d36e128>,
   <matplotlib.axes._axes.Axes at 0x7f484d2682e8>,
   <matplotlib.axes._axes.Axes at 0x7f484d2404e0>,
   <matplotlib.axes._axes.Axes at 0x7f484d2df6d8>],))

png

plot_quantity(trapping_2u2d_bundles, 'charge_spin_density', show_std_error=True);
(<Figure size 2224.8x2116.8 with 220 Axes>,
 [[<matplotlib.axes._axes.Axes at 0x7f485fa6b588>,
   <matplotlib.axes._axes.Axes at 0x7f485fd3c780>,
   <matplotlib.axes._axes.Axes at 0x7f4878b36978>,
   <matplotlib.axes._axes.Axes at 0x7f48789a3b70>,
   <matplotlib.axes._axes.Axes at 0x7f485ff46d68>,
   <matplotlib.axes._axes.Axes at 0x7f485ff31f60>,
   <matplotlib.axes._axes.Axes at 0x7f4878b06198>,
   <matplotlib.axes._axes.Axes at 0x7f4878ae2ef0>,
   <matplotlib.axes._axes.Axes at 0x7f485fc60588>,
   <matplotlib.axes._axes.Axes at 0x7f485f091780>,
   <matplotlib.axes._axes.Axes at 0x7f4878bdd978>],
  [<matplotlib.axes._axes.Axes at 0x7f488984ef60>,
   <matplotlib.axes._axes.Axes at 0x7f4856f1e198>,
   <matplotlib.axes._axes.Axes at 0x7f4856f0d390>,
   <matplotlib.axes._axes.Axes at 0x7f4856f64588>,
   <matplotlib.axes._axes.Axes at 0x7f485f05e780>,
   <matplotlib.axes._axes.Axes at 0x7f485f9ee978>,
   <matplotlib.axes._axes.Axes at 0x7f485ff03b70>,
   <matplotlib.axes._axes.Axes at 0x7f485fb89d68>,
   <matplotlib.axes._axes.Axes at 0x7f485fbaef60>,
   <matplotlib.axes._axes.Axes at 0x7f485ffc6198>,
   <matplotlib.axes._axes.Axes at 0x7f485ffb4908>],
  [<matplotlib.axes._axes.Axes at 0x7f4878f314a8>,
   <matplotlib.axes._axes.Axes at 0x7f485fc08940>,
   <matplotlib.axes._axes.Axes at 0x7f485fc17dd8>,
   <matplotlib.axes._axes.Axes at 0x7f48898de2b0>,
   <matplotlib.axes._axes.Axes at 0x7f485f951a58>,
   <matplotlib.axes._axes.Axes at 0x7f485fb1fc50>,
   <matplotlib.axes._axes.Axes at 0x7f4878e61588>,
   <matplotlib.axes._axes.Axes at 0x7f4878a9a780>,
   <matplotlib.axes._axes.Axes at 0x7f4878e00978>,
   <matplotlib.axes._axes.Axes at 0x7f485fd2bb70>,
   <matplotlib.axes._axes.Axes at 0x7f4889844d68>],
  [<matplotlib.axes._axes.Axes at 0x7f4878f5c160>,
   <matplotlib.axes._axes.Axes at 0x7f485fb415f8>,
   <matplotlib.axes._axes.Axes at 0x7f485fb52a90>,
   <matplotlib.axes._axes.Axes at 0x7f4878826f28>,
   <matplotlib.axes._axes.Axes at 0x7f487886f400>,
   <matplotlib.axes._axes.Axes at 0x7f485f550898>,
   <matplotlib.axes._axes.Axes at 0x7f4856f8dd30>,
   <matplotlib.axes._axes.Axes at 0x7f4878f05208>,
   <matplotlib.axes._axes.Axes at 0x7f485f17c6a0>,
   <matplotlib.axes._axes.Axes at 0x7f4878916b38>,
   <matplotlib.axes._axes.Axes at 0x7f485fbc3fd0>],
  [<matplotlib.axes._axes.Axes at 0x7f485f92e668>,
   <matplotlib.axes._axes.Axes at 0x7f485f12e860>,
   <matplotlib.axes._axes.Axes at 0x7f4856cb89e8>,
   <matplotlib.axes._axes.Axes at 0x7f4856ee67b8>,
   <matplotlib.axes._axes.Axes at 0x7f48569be908>,
   <matplotlib.axes._axes.Axes at 0x7f4878b6feb8>,
   <matplotlib.axes._axes.Axes at 0x7f484e76d6a0>,
   <matplotlib.axes._axes.Axes at 0x7f484e606470>,
   <matplotlib.axes._axes.Axes at 0x7f48568b0518>,
   <matplotlib.axes._axes.Axes at 0x7f48789d37f0>,
   <matplotlib.axes._axes.Axes at 0x7f485febbc88>],
  [<matplotlib.axes._axes.Axes at 0x7f485fcd00b8>,
   <matplotlib.axes._axes.Axes at 0x7f4878bc6278>,
   <matplotlib.axes._axes.Axes at 0x7f4856ce3470>,
   <matplotlib.axes._axes.Axes at 0x7f4856e5d668>,
   <matplotlib.axes._axes.Axes at 0x7f4856fb7860>,
   <matplotlib.axes._axes.Axes at 0x7f485f003a58>,
   <matplotlib.axes._axes.Axes at 0x7f4856abac50>,
   <matplotlib.axes._axes.Axes at 0x7f48788b8e48>,
   <matplotlib.axes._axes.Axes at 0x7f487897d0b8>,
   <matplotlib.axes._axes.Axes at 0x7f4878e3a278>,
   <matplotlib.axes._axes.Axes at 0x7f485f8f6470>],
  [<matplotlib.axes._axes.Axes at 0x7f4878b83358>,
   <matplotlib.axes._axes.Axes at 0x7f48568fd710>,
   <matplotlib.axes._axes.Axes at 0x7f485fd71e48>,
   <matplotlib.axes._axes.Axes at 0x7f4889968f28>,
   <matplotlib.axes._axes.Axes at 0x7f4878d4d278>,
   <matplotlib.axes._axes.Axes at 0x7f4878db7898>,
   <matplotlib.axes._axes.Axes at 0x7f485fe70ac8>,
   <matplotlib.axes._axes.Axes at 0x7f4878ab31d0>,
   <matplotlib.axes._axes.Axes at 0x7f4878cf4a58>,
   <matplotlib.axes._axes.Axes at 0x7f4878d07cc0>,
   <matplotlib.axes._axes.Axes at 0x7f4878a90e48>],
  [<matplotlib.axes._axes.Axes at 0x7f485689a3c8>,
   <matplotlib.axes._axes.Axes at 0x7f4856837588>,
   <matplotlib.axes._axes.Axes at 0x7f4856e25128>,
   <matplotlib.axes._axes.Axes at 0x7f4856de57b8>,
   <matplotlib.axes._axes.Axes at 0x7f4856d87630>,
   <matplotlib.axes._axes.Axes at 0x7f4856da64a8>,
   <matplotlib.axes._axes.Axes at 0x7f485685b5c0>,
   <matplotlib.axes._axes.Axes at 0x7f484e7cc5c0>,
   <matplotlib.axes._axes.Axes at 0x7f485693a7f0>,
   <matplotlib.axes._axes.Axes at 0x7f484e7972b0>,
   <matplotlib.axes._axes.Axes at 0x7f484e7a4cc0>],
  [<matplotlib.axes._axes.Axes at 0x7f4889983710>,
   <matplotlib.axes._axes.Axes at 0x7f485696a8d0>,
   <matplotlib.axes._axes.Axes at 0x7f48568f7e10>,
   <matplotlib.axes._axes.Axes at 0x7f4856914f28>,
   <matplotlib.axes._axes.Axes at 0x7f4856c7b940>,
   <matplotlib.axes._axes.Axes at 0x7f4878b71710>,
   <matplotlib.axes._axes.Axes at 0x7f4856f950f0>,
   <matplotlib.axes._axes.Axes at 0x7f4856f44d30>,
   <matplotlib.axes._axes.Axes at 0x7f48568d6828>,
   <matplotlib.axes._axes.Axes at 0x7f4856eb4438>,
   <matplotlib.axes._axes.Axes at 0x7f485687f780>],
  [<matplotlib.axes._axes.Axes at 0x7f484e7daa58>,
   <matplotlib.axes._axes.Axes at 0x7f4878d37438>,
   <matplotlib.axes._axes.Axes at 0x7f485f1a43c8>,
   <matplotlib.axes._axes.Axes at 0x7f485f15a550>,
   <matplotlib.axes._axes.Axes at 0x7f48569e14e0>,
   <matplotlib.axes._axes.Axes at 0x7f484e761400>,
   <matplotlib.axes._axes.Axes at 0x7f485f109470>,
   <matplotlib.axes._axes.Axes at 0x7f485f117940>,
   <matplotlib.axes._axes.Axes at 0x7f485f117eb8>,
   <matplotlib.axes._axes.Axes at 0x7f485f0e9550>,
   <matplotlib.axes._axes.Axes at 0x7f485fc9ae80>]])

png

plot_quantity(trapping_2u2d_bundles, 'charge_spin_spreading', show_std_error=True);
(<Figure size 2606.4x237.6 with 20 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f47f547e7f0>,
   <matplotlib.axes._axes.Axes at 0x7f47f5635080>,
   <matplotlib.axes._axes.Axes at 0x7f47f5635eb8>,
   <matplotlib.axes._axes.Axes at 0x7f47f55bf978>,
   <matplotlib.axes._axes.Axes at 0x7f47f2fb0f98>,
   <matplotlib.axes._axes.Axes at 0x7f47f2f3e1d0>,
   <matplotlib.axes._axes.Axes at 0x7f47f2f783c8>,
   <matplotlib.axes._axes.Axes at 0x7f47f2e845c0>,
   <matplotlib.axes._axes.Axes at 0x7f47f2ee67b8>,
   <matplotlib.axes._axes.Axes at 0x7f47f2ea29b0>],))

png

plot_quantity(trapping_2u2d_bundles, 'charge_spin_spreading_dt', show_std_error=True);
(<Figure size 2606.4x237.6 with 10 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f47ee892ac8>,
   <matplotlib.axes._axes.Axes at 0x7f47ee892f98>,
   <matplotlib.axes._axes.Axes at 0x7f47ee7a9be0>,
   <matplotlib.axes._axes.Axes at 0x7f47ee767da0>,
   <matplotlib.axes._axes.Axes at 0x7f47ee71bf98>,
   <matplotlib.axes._axes.Axes at 0x7f47ee6e00f0>,
   <matplotlib.axes._axes.Axes at 0x7f47ee7152b0>,
   <matplotlib.axes._axes.Axes at 0x7f47ee6cb4a8>,
   <matplotlib.axes._axes.Axes at 0x7f47ee67e6a0>,
   <matplotlib.axes._axes.Axes at 0x7f47ee632898>],))

png

Trapping Potential N=6

# Load results and create a bundles with extracted quantities for each 
# interaction strength.
trapping_3u3d_files = [
    glob.glob(f'{data_dir}/trapping_3u3d/{u}/*.json')
    for u in [0.0, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]]
trapping_3u3d_bundles = [InstanceBundle(
    experiments=[load_experiment(file) for file in files],
    numerics_transform=parasitic_cphase_compensation(0.138),
    steps=range(11),
    rescale_steps=range(11)) for files in trapping_3u3d_files]
# Simulate the exact numerical results that are used as a reference.
total_steps = sum(len(bundle.steps) for bundle in trapping_3u3d_bundles)
with tqdm(range(total_steps)) as progress:
    def post_run(_1, _2):
        progress.update()
    for bundle in trapping_3u3d_bundles:
        bundle.cache_exact_numerics(post_run_func=post_run)
  0%|          | 0/110 [00:00<?, ?it/s]
# Use shared rescaling values among compatible problem instances.
apply_rescalings_to_bundles(find_bundles_rescalings(trapping_3u3d_bundles))
plot_quantity(trapping_3u3d_bundles, 'post_selection', show_std_dev=True);
(<Figure size 2606.4x237.6 with 10 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f48568a9eb8>,
   <matplotlib.axes._axes.Axes at 0x7f485fe11908>,
   <matplotlib.axes._axes.Axes at 0x7f484d432240>,
   <matplotlib.axes._axes.Axes at 0x7f480450d128>,
   <matplotlib.axes._axes.Axes at 0x7f47fcfa4dd8>,
   <matplotlib.axes._axes.Axes at 0x7f4856885a20>,
   <matplotlib.axes._axes.Axes at 0x7f485fc91208>,
   <matplotlib.axes._axes.Axes at 0x7f484d49d6d8>,
   <matplotlib.axes._axes.Axes at 0x7f485f1296d8>,
   <matplotlib.axes._axes.Axes at 0x7f485fca36d8>],))

png

plot_quantity(trapping_3u3d_bundles, 'scaling', show_std_error=True);
(<Figure size 2606.4x237.6 with 10 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f47ee34b278>,
   <matplotlib.axes._axes.Axes at 0x7f485698c940>,
   <matplotlib.axes._axes.Axes at 0x7f4856873828>,
   <matplotlib.axes._axes.Axes at 0x7f484e76d9e8>,
   <matplotlib.axes._axes.Axes at 0x7f484d446fd0>,
   <matplotlib.axes._axes.Axes at 0x7f484dcd58d0>,
   <matplotlib.axes._axes.Axes at 0x7f480449d630>,
   <matplotlib.axes._axes.Axes at 0x7f485fca0518>,
   <matplotlib.axes._axes.Axes at 0x7f4878c8b2b0>,
   <matplotlib.axes._axes.Axes at 0x7f4889998160>],))

png

plot_quantity(trapping_3u3d_bundles, 'charge_spin_density', show_std_error=True);
(<Figure size 2224.8x2116.8 with 220 Axes>,
 [[<matplotlib.axes._axes.Axes at 0x7f4856e19cc0>,
   <matplotlib.axes._axes.Axes at 0x7f480008a3c8>,
   <matplotlib.axes._axes.Axes at 0x7f4878b8c7f0>,
   <matplotlib.axes._axes.Axes at 0x7f47f5bde550>,
   <matplotlib.axes._axes.Axes at 0x7f47f5bbca20>,
   <matplotlib.axes._axes.Axes at 0x7f47ee823208>,
   <matplotlib.axes._axes.Axes at 0x7f47ee848668>,
   <matplotlib.axes._axes.Axes at 0x7f47f2cac588>,
   <matplotlib.axes._axes.Axes at 0x7f47f52f8358>,
   <matplotlib.axes._axes.Axes at 0x7f47f531cc88>,
   <matplotlib.axes._axes.Axes at 0x7f47f53c1b00>],
  [<matplotlib.axes._axes.Axes at 0x7f485683ec50>,
   <matplotlib.axes._axes.Axes at 0x7f47fa2fa940>,
   <matplotlib.axes._axes.Axes at 0x7f47fa1f1a58>,
   <matplotlib.axes._axes.Axes at 0x7f47e8c130b8>,
   <matplotlib.axes._axes.Axes at 0x7f47e8c49278>,
   <matplotlib.axes._axes.Axes at 0x7f4856f44630>,
   <matplotlib.axes._axes.Axes at 0x7f48001a57f0>,
   <matplotlib.axes._axes.Axes at 0x7f480011e828>,
   <matplotlib.axes._axes.Axes at 0x7f47f5fc1080>,
   <matplotlib.axes._axes.Axes at 0x7f47f56da390>,
   <matplotlib.axes._axes.Axes at 0x7f47f56fd8d0>],
  [<matplotlib.axes._axes.Axes at 0x7f480450d940>,
   <matplotlib.axes._axes.Axes at 0x7f485f84e080>,
   <matplotlib.axes._axes.Axes at 0x7f47fcc4c4e0>,
   <matplotlib.axes._axes.Axes at 0x7f47fca770f0>,
   <matplotlib.axes._axes.Axes at 0x7f485fd81588>,
   <matplotlib.axes._axes.Axes at 0x7f47fa8680f0>,
   <matplotlib.axes._axes.Axes at 0x7f485f4072e8>,
   <matplotlib.axes._axes.Axes at 0x7f485f438550>,
   <matplotlib.axes._axes.Axes at 0x7f47fa662a90>,
   <matplotlib.axes._axes.Axes at 0x7f484e7af198>,
   <matplotlib.axes._axes.Axes at 0x7f48569636a0>],
  [<matplotlib.axes._axes.Axes at 0x7f47e8cd0e48>,
   <matplotlib.axes._axes.Axes at 0x7f484d455898>,
   <matplotlib.axes._axes.Axes at 0x7f4878d25358>,
   <matplotlib.axes._axes.Axes at 0x7f47fcd480b8>,
   <matplotlib.axes._axes.Axes at 0x7f47ee8a5550>,
   <matplotlib.axes._axes.Axes at 0x7f47fa762f98>,
   <matplotlib.axes._axes.Axes at 0x7f484e535f60>,
   <matplotlib.axes._axes.Axes at 0x7f4878b719b0>,
   <matplotlib.axes._axes.Axes at 0x7f47fa93d908>,
   <matplotlib.axes._axes.Axes at 0x7f47ee810208>,
   <matplotlib.axes._axes.Axes at 0x7f47ee9bce10>],
  [<matplotlib.axes._axes.Axes at 0x7f47e8efb860>,
   <matplotlib.axes._axes.Axes at 0x7f47e8eafa58>,
   <matplotlib.axes._axes.Axes at 0x7f47e8e62c50>,
   <matplotlib.axes._axes.Axes at 0x7f47e8e1be48>,
   <matplotlib.axes._axes.Axes at 0x7f47e8de00b8>,
   <matplotlib.axes._axes.Axes at 0x7f47e8d95278>,
   <matplotlib.axes._axes.Axes at 0x7f47e8dca470>,
   <matplotlib.axes._axes.Axes at 0x7f47e8d7c668>,
   <matplotlib.axes._axes.Axes at 0x7f47e8d33860>,
   <matplotlib.axes._axes.Axes at 0x7f47e8ce6a58>,
   <matplotlib.axes._axes.Axes at 0x7f47e8c9cc50>],
  [<matplotlib.axes._axes.Axes at 0x7f47e916b278>,
   <matplotlib.axes._axes.Axes at 0x7f47e90dd470>,
   <matplotlib.axes._axes.Axes at 0x7f47e9093668>,
   <matplotlib.axes._axes.Axes at 0x7f47e90c6860>,
   <matplotlib.axes._axes.Axes at 0x7f47e907ca58>,
   <matplotlib.axes._axes.Axes at 0x7f47e9031c50>,
   <matplotlib.axes._axes.Axes at 0x7f47e8fe5e48>,
   <matplotlib.axes._axes.Axes at 0x7f47e8fa80b8>,
   <matplotlib.axes._axes.Axes at 0x7f47e8f5d278>,
   <matplotlib.axes._axes.Axes at 0x7f47e8f92470>,
   <matplotlib.axes._axes.Axes at 0x7f47e8f45668>],
  [<matplotlib.axes._axes.Axes at 0x7f47eb44ac50>,
   <matplotlib.axes._axes.Axes at 0x7f47eb402e48>,
   <matplotlib.axes._axes.Axes at 0x7f47eb3c40b8>,
   <matplotlib.axes._axes.Axes at 0x7f47eb37b278>,
   <matplotlib.axes._axes.Axes at 0x7f47eb330470>,
   <matplotlib.axes._axes.Axes at 0x7f47eb2e3668>,
   <matplotlib.axes._axes.Axes at 0x7f47eb296860>,
   <matplotlib.axes._axes.Axes at 0x7f47eb2cca58>,
   <matplotlib.axes._axes.Axes at 0x7f47eb23fc50>,
   <matplotlib.axes._axes.Axes at 0x7f47eb1f3e48>,
   <matplotlib.axes._axes.Axes at 0x7f47e91b50b8>],
  [<matplotlib.axes._axes.Axes at 0x7f47eb5ea668>,
   <matplotlib.axes._axes.Axes at 0x7f47eb79d860>,
   <matplotlib.axes._axes.Axes at 0x7f47eb706a58>,
   <matplotlib.axes._axes.Axes at 0x7f47eb570c50>,
   <matplotlib.axes._axes.Axes at 0x7f47eb58ce48>,
   <matplotlib.axes._axes.Axes at 0x7f47eb5140b8>,
   <matplotlib.axes._axes.Axes at 0x7f47eb547278>,
   <matplotlib.axes._axes.Axes at 0x7f47eb4fb470>,
   <matplotlib.axes._axes.Axes at 0x7f47eb4af668>,
   <matplotlib.axes._axes.Axes at 0x7f47eb464860>,
   <matplotlib.axes._axes.Axes at 0x7f47eb419a58>],
  [<matplotlib.axes._axes.Axes at 0x7f47eb6910b8>,
   <matplotlib.axes._axes.Axes at 0x7f47eb68b278>,
   <matplotlib.axes._axes.Axes at 0x7f47eb84a470>,
   <matplotlib.axes._axes.Axes at 0x7f47eb773668>,
   <matplotlib.axes._axes.Axes at 0x7f47eb7d8860>,
   <matplotlib.axes._axes.Axes at 0x7f47eb69fa58>,
   <matplotlib.axes._axes.Axes at 0x7f47eb275c50>,
   <matplotlib.axes._axes.Axes at 0x7f47e914ae48>,
   <matplotlib.axes._axes.Axes at 0x7f47eb6460b8>,
   <matplotlib.axes._axes.Axes at 0x7f47eb653278>,
   <matplotlib.axes._axes.Axes at 0x7f47eb8b2470>],
  [<matplotlib.axes._axes.Axes at 0x7f4804458320>,
   <matplotlib.axes._axes.Axes at 0x7f48048399e8>,
   <matplotlib.axes._axes.Axes at 0x7f484d1d2ac8>,
   <matplotlib.axes._axes.Axes at 0x7f484d0c90b8>,
   <matplotlib.axes._axes.Axes at 0x7f47eb968278>,
   <matplotlib.axes._axes.Axes at 0x7f48045bb470>,
   <matplotlib.axes._axes.Axes at 0x7f48044fd668>,
   <matplotlib.axes._axes.Axes at 0x7f484d2e0860>,
   <matplotlib.axes._axes.Axes at 0x7f4804368a58>,
   <matplotlib.axes._axes.Axes at 0x7f47eb93fc50>,
   <matplotlib.axes._axes.Axes at 0x7f47eb953e80>]])

png

plot_quantity(trapping_3u3d_bundles, 'charge_spin_spreading', show_std_error=True);
(<Figure size 2606.4x237.6 with 20 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f47ffcbc9e8>,
   <matplotlib.axes._axes.Axes at 0x7f47f5c437b8>,
   <matplotlib.axes._axes.Axes at 0x7f47f5d1dbe0>,
   <matplotlib.axes._axes.Axes at 0x7f47ffa72f98>,
   <matplotlib.axes._axes.Axes at 0x7f485f9db2e8>,
   <matplotlib.axes._axes.Axes at 0x7f485fc2f4e0>,
   <matplotlib.axes._axes.Axes at 0x7f485fc0e6d8>,
   <matplotlib.axes._axes.Axes at 0x7f485f1aa8d0>,
   <matplotlib.axes._axes.Axes at 0x7f485fa70ac8>,
   <matplotlib.axes._axes.Axes at 0x7f487896bcc0>],))

png

plot_quantity(trapping_3u3d_bundles, 'charge_spin_spreading_dt', show_std_error=True);
(<Figure size 2606.4x237.6 with 10 Axes>,
 ([<matplotlib.axes._axes.Axes at 0x7f47ee64fd30>,
   <matplotlib.axes._axes.Axes at 0x7f47ee5556d8>,
   <matplotlib.axes._axes.Axes at 0x7f485f297b70>,
   <matplotlib.axes._axes.Axes at 0x7f485f2f2fd0>,
   <matplotlib.axes._axes.Axes at 0x7f485f4984a8>,
   <matplotlib.axes._axes.Axes at 0x7f485fe043c8>,
   <matplotlib.axes._axes.Axes at 0x7f47ee677978>,
   <matplotlib.axes._axes.Axes at 0x7f485f587b38>,
   <matplotlib.axes._axes.Axes at 0x7f485f527d30>,
   <matplotlib.axes._axes.Axes at 0x7f485f4faf28>],))

png