Representation Comparison¶
It is often useful to compare different state representations to verify results or benchmark performance. In this example, we compare MPS-based evolution (tensor network), dense state-vector evolution, and exact density-matrix master-equation evolution on a small open-system benchmark.
1import matplotlib.pyplot as plt
2from mqt.yaqs.core.data_structures.hamiltonian import Hamiltonian
3from mqt.yaqs.core.data_structures.noise_model import NoiseModel
4from mqt.yaqs.core.data_structures.simulation_parameters import Observable, AnalogSimParams
5from mqt.yaqs.core.data_structures.state import State
6from mqt.yaqs import Simulator
7
8sim = Simulator()
9
10# 1. Define System
11L = 3
12J = 1.0
13g = 0.5
14H = Hamiltonian.ising(L, J, g)
15
16# Noise: Dephasing on all sites
17gamma = 0.2
18noise_processes = [{"name": "pauli_z", "sites": [i], "strength": gamma} for i in range(L)]
19noise = NoiseModel(processes=noise_processes)
20
21# Observable: <X_0>
22obs = Observable("x", sites=[0])
23
24# 2. Simulation Parameters
25t_max = 5.0
26dt = 0.05
27
28# 3. density_matrix (exact ensemble average)
29print("Running density_matrix...")
30params_rho = AnalogSimParams(
31 observables=[obs],
32 elapsed_time=t_max,
33 dt=dt,
34)
35result_rho = sim.run(State(L, initial="zeros", representation="density_matrix"), H, params_rho, noise)
36res_rho = result_rho.expectation_values[0].flatten()
37times = params_rho.times
38
39# 4. vector (stochastic trajectories)
40print("Running vector...")
41params_vector = AnalogSimParams(
42 observables=[obs],
43 elapsed_time=t_max,
44 dt=dt,
45 num_traj=500,
46)
47result_vector = sim.run(State(L, initial="zeros", representation="vector"), H, params_vector, noise)
48res_vector = result_vector.expectation_values[0].flatten()
49
50# 5. mps (default, stochastic trajectories)
51print("Running mps...")
52params_mps = AnalogSimParams(
53 observables=[obs],
54 elapsed_time=t_max,
55 dt=dt,
56 num_traj=500,
57 max_bond_dim=16,
58)
59result_mps = sim.run(State(L, initial="zeros", representation="mps"), H, params_mps, noise)
60res_mps = result_mps.expectation_values[0].flatten()
61
62# 6. Plot Comparison
63plt.figure()
64plt.plot(times, res_rho, label="density_matrix (exact)", linewidth=2, color="black")
65plt.plot(times, res_vector, label="vector (500 traj)", linestyle="--", linewidth=2)
66plt.plot(times, res_mps, label="mps (500 traj)", linestyle=":", linewidth=2)
67plt.xlabel("Time")
68plt.ylabel("$\\langle X_0 \\rangle$")
69plt.legend()
70plt.title("Representation Comparison")
71plt.show()
Running density_matrix...
Running trajectories: 0%| | 0/1 [00:00<?, ?it/s]
Running trajectories: 100%|███████████████████████| 1/1 [00:00<00:00, 4.64it/s]
Running trajectories: 100%|███████████████████████| 1/1 [00:00<00:00, 4.62it/s]
Running vector...
Running trajectories: 0%| | 0/500 [00:00<?, ?it/s]
Running trajectories: 6%|█▏ | 30/500 [00:00<00:01, 294.96it/s]
Running trajectories: 15%|██▊ | 74/500 [00:00<00:01, 377.52it/s]
Running trajectories: 24%|████▎ | 120/500 [00:00<00:00, 412.04it/s]
Running trajectories: 34%|██████ | 169/500 [00:00<00:00, 442.53it/s]
Running trajectories: 44%|███████▉ | 219/500 [00:00<00:00, 460.07it/s]
Running trajectories: 54%|█████████▋ | 270/500 [00:00<00:00, 475.21it/s]
Running trajectories: 64%|███████████▌ | 321/500 [00:00<00:00, 485.99it/s]
Running trajectories: 74%|█████████████▍ | 372/500 [00:00<00:00, 493.37it/s]
Running trajectories: 85%|███████████████▏ | 423/500 [00:00<00:00, 498.39it/s]
Running trajectories: 95%|█████████████████ | 474/500 [00:01<00:00, 499.10it/s]
Running trajectories: 100%|██████████████████| 500/500 [00:01<00:00, 470.99it/s]
Running mps...
Running trajectories: 0%| | 0/500 [00:00<?, ?it/s]
Running trajectories: 0%| | 1/500 [00:00<04:14, 1.96it/s]
Running trajectories: 0%| | 2/500 [00:00<03:47, 2.19it/s]
Running trajectories: 1%|▏ | 3/500 [00:01<03:38, 2.28it/s]
Running trajectories: 1%|▏ | 4/500 [00:01<03:33, 2.32it/s]
Running trajectories: 1%|▏ | 5/500 [00:02<03:32, 2.33it/s]
Running trajectories: 1%|▎ | 6/500 [00:02<03:31, 2.34it/s]
Running trajectories: 1%|▎ | 7/500 [00:03<03:29, 2.35it/s]
Running trajectories: 2%|▎ | 8/500 [00:03<03:29, 2.35it/s]
Running trajectories: 2%|▍ | 9/500 [00:03<03:29, 2.35it/s]
Running trajectories: 2%|▍ | 10/500 [00:04<03:28, 2.35it/s]
Running trajectories: 2%|▍ | 11/500 [00:04<03:27, 2.36it/s]
Running trajectories: 2%|▍ | 12/500 [00:05<03:26, 2.37it/s]
Running trajectories: 3%|▌ | 13/500 [00:05<03:25, 2.37it/s]
Running trajectories: 3%|▌ | 14/500 [00:05<03:25, 2.37it/s]
Running trajectories: 3%|▌ | 15/500 [00:06<03:23, 2.38it/s]
Running trajectories: 3%|▋ | 16/500 [00:06<03:22, 2.39it/s]
Running trajectories: 3%|▋ | 17/500 [00:07<03:22, 2.39it/s]
Running trajectories: 4%|▋ | 18/500 [00:07<03:21, 2.39it/s]
Running trajectories: 4%|▊ | 19/500 [00:08<03:22, 2.38it/s]
Running trajectories: 4%|▊ | 20/500 [00:08<03:20, 2.39it/s]
Running trajectories: 4%|▊ | 21/500 [00:08<03:19, 2.40it/s]
Running trajectories: 4%|▉ | 22/500 [00:09<03:19, 2.39it/s]
Running trajectories: 5%|▉ | 23/500 [00:09<03:20, 2.38it/s]
Running trajectories: 5%|▉ | 24/500 [00:10<03:19, 2.38it/s]
Running trajectories: 5%|█ | 25/500 [00:10<03:19, 2.39it/s]
Running trajectories: 5%|█ | 26/500 [00:11<03:18, 2.39it/s]
Running trajectories: 5%|█ | 27/500 [00:11<03:18, 2.39it/s]
Running trajectories: 6%|█ | 28/500 [00:11<03:18, 2.38it/s]
Running trajectories: 6%|█▏ | 29/500 [00:12<03:17, 2.38it/s]
Running trajectories: 6%|█▏ | 30/500 [00:12<03:18, 2.37it/s]
Running trajectories: 6%|█▏ | 31/500 [00:13<03:17, 2.37it/s]
Running trajectories: 6%|█▎ | 32/500 [00:13<03:17, 2.37it/s]
Running trajectories: 7%|█▎ | 33/500 [00:13<03:16, 2.38it/s]
Running trajectories: 7%|█▎ | 34/500 [00:14<03:17, 2.36it/s]
Running trajectories: 7%|█▍ | 35/500 [00:14<03:16, 2.37it/s]
Running trajectories: 7%|█▍ | 36/500 [00:15<03:15, 2.37it/s]
Running trajectories: 7%|█▍ | 37/500 [00:15<03:14, 2.38it/s]
Running trajectories: 8%|█▌ | 38/500 [00:16<03:14, 2.38it/s]
Running trajectories: 8%|█▌ | 39/500 [00:16<03:13, 2.39it/s]
Running trajectories: 8%|█▌ | 40/500 [00:16<03:12, 2.39it/s]
Running trajectories: 8%|█▋ | 41/500 [00:17<03:11, 2.39it/s]
Running trajectories: 8%|█▋ | 42/500 [00:17<03:11, 2.39it/s]
Running trajectories: 9%|█▋ | 43/500 [00:18<03:11, 2.38it/s]
Running trajectories: 9%|█▊ | 44/500 [00:18<03:11, 2.39it/s]
Running trajectories: 9%|█▊ | 45/500 [00:19<03:10, 2.38it/s]
Running trajectories: 9%|█▊ | 46/500 [00:19<03:10, 2.39it/s]
Running trajectories: 9%|█▉ | 47/500 [00:19<03:10, 2.38it/s]
Running trajectories: 10%|█▉ | 48/500 [00:20<03:09, 2.38it/s]
Running trajectories: 10%|█▉ | 49/500 [00:20<03:09, 2.38it/s]
Running trajectories: 10%|██ | 50/500 [00:21<03:08, 2.38it/s]
Running trajectories: 10%|██ | 51/500 [00:21<03:07, 2.39it/s]
Running trajectories: 10%|██ | 52/500 [00:21<03:07, 2.39it/s]
Running trajectories: 11%|██ | 53/500 [00:22<03:07, 2.38it/s]
Running trajectories: 11%|██▏ | 54/500 [00:22<03:06, 2.39it/s]
Running trajectories: 11%|██▏ | 55/500 [00:23<03:05, 2.39it/s]
Running trajectories: 11%|██▏ | 56/500 [00:23<03:06, 2.39it/s]
Running trajectories: 11%|██▎ | 57/500 [00:24<03:05, 2.38it/s]
Running trajectories: 12%|██▎ | 58/500 [00:24<03:05, 2.39it/s]
Running trajectories: 12%|██▎ | 59/500 [00:24<03:04, 2.39it/s]
Running trajectories: 12%|██▍ | 60/500 [00:25<03:03, 2.39it/s]
Running trajectories: 12%|██▍ | 61/500 [00:25<03:03, 2.39it/s]
Running trajectories: 12%|██▍ | 62/500 [00:26<03:03, 2.39it/s]
Running trajectories: 13%|██▌ | 63/500 [00:26<03:02, 2.40it/s]
Running trajectories: 13%|██▌ | 64/500 [00:26<03:01, 2.40it/s]
Running trajectories: 13%|██▌ | 65/500 [00:27<03:01, 2.39it/s]
Running trajectories: 13%|██▋ | 66/500 [00:27<03:01, 2.39it/s]
Running trajectories: 13%|██▋ | 67/500 [00:28<03:01, 2.38it/s]
Running trajectories: 14%|██▋ | 68/500 [00:28<03:00, 2.39it/s]
Running trajectories: 14%|██▊ | 69/500 [00:29<03:00, 2.38it/s]
Running trajectories: 14%|██▊ | 70/500 [00:29<03:00, 2.38it/s]
Running trajectories: 14%|██▊ | 71/500 [00:29<02:59, 2.39it/s]
Running trajectories: 14%|██▉ | 72/500 [00:30<02:59, 2.38it/s]
Running trajectories: 15%|██▉ | 73/500 [00:30<02:59, 2.38it/s]
Running trajectories: 15%|██▉ | 74/500 [00:31<02:58, 2.39it/s]
Running trajectories: 15%|███ | 75/500 [00:31<02:58, 2.39it/s]
Running trajectories: 15%|███ | 76/500 [00:31<02:58, 2.38it/s]
Running trajectories: 15%|███ | 77/500 [00:32<02:57, 2.39it/s]
Running trajectories: 16%|███ | 78/500 [00:32<02:57, 2.38it/s]
Running trajectories: 16%|███▏ | 79/500 [00:33<02:56, 2.38it/s]
Running trajectories: 16%|███▏ | 80/500 [00:33<02:55, 2.39it/s]
Running trajectories: 16%|███▏ | 81/500 [00:34<02:56, 2.38it/s]
Running trajectories: 16%|███▎ | 82/500 [00:34<02:55, 2.38it/s]
Running trajectories: 17%|███▎ | 83/500 [00:34<02:54, 2.38it/s]
Running trajectories: 17%|███▎ | 84/500 [00:35<02:54, 2.39it/s]
Running trajectories: 17%|███▍ | 85/500 [00:35<02:53, 2.39it/s]
Running trajectories: 17%|███▍ | 86/500 [00:36<02:53, 2.39it/s]
Running trajectories: 17%|███▍ | 87/500 [00:36<02:52, 2.39it/s]
Running trajectories: 18%|███▌ | 88/500 [00:37<02:52, 2.39it/s]
Running trajectories: 18%|███▌ | 89/500 [00:37<02:51, 2.40it/s]
Running trajectories: 18%|███▌ | 90/500 [00:37<02:51, 2.39it/s]
Running trajectories: 18%|███▋ | 91/500 [00:38<02:51, 2.39it/s]
Running trajectories: 18%|███▋ | 92/500 [00:38<02:51, 2.38it/s]
Running trajectories: 19%|███▋ | 93/500 [00:39<02:50, 2.38it/s]
Running trajectories: 19%|███▊ | 94/500 [00:39<02:50, 2.38it/s]
Running trajectories: 19%|███▊ | 95/500 [00:39<02:50, 2.38it/s]
Running trajectories: 19%|███▊ | 96/500 [00:40<02:49, 2.38it/s]
Running trajectories: 19%|███▉ | 97/500 [00:40<02:48, 2.39it/s]
Running trajectories: 20%|███▉ | 98/500 [00:41<02:49, 2.38it/s]
Running trajectories: 20%|███▉ | 99/500 [00:41<02:48, 2.38it/s]
Running trajectories: 20%|███▊ | 100/500 [00:42<02:49, 2.36it/s]
Running trajectories: 20%|███▊ | 101/500 [00:42<02:48, 2.37it/s]
Running trajectories: 20%|███▉ | 102/500 [00:42<02:48, 2.36it/s]
Running trajectories: 21%|███▉ | 103/500 [00:43<02:47, 2.37it/s]
Running trajectories: 21%|███▉ | 104/500 [00:43<02:47, 2.37it/s]
Running trajectories: 21%|███▉ | 105/500 [00:44<02:46, 2.37it/s]
Running trajectories: 21%|████ | 106/500 [00:44<02:47, 2.36it/s]
Running trajectories: 21%|████ | 107/500 [00:45<02:46, 2.36it/s]
Running trajectories: 22%|████ | 108/500 [00:45<02:45, 2.36it/s]
Running trajectories: 22%|████▏ | 109/500 [00:45<02:45, 2.36it/s]
Running trajectories: 22%|████▏ | 110/500 [00:46<02:45, 2.36it/s]
Running trajectories: 22%|████▏ | 111/500 [00:46<02:44, 2.36it/s]
Running trajectories: 22%|████▎ | 112/500 [00:47<02:44, 2.37it/s]
Running trajectories: 23%|████▎ | 113/500 [00:47<02:43, 2.36it/s]
Running trajectories: 23%|████▎ | 114/500 [00:47<02:43, 2.36it/s]
Running trajectories: 23%|████▎ | 115/500 [00:48<02:43, 2.36it/s]
Running trajectories: 23%|████▍ | 116/500 [00:48<02:42, 2.36it/s]
Running trajectories: 23%|████▍ | 117/500 [00:49<02:41, 2.36it/s]
Running trajectories: 24%|████▍ | 118/500 [00:49<02:41, 2.37it/s]
Running trajectories: 24%|████▌ | 119/500 [00:50<02:41, 2.36it/s]
Running trajectories: 24%|████▌ | 120/500 [00:50<02:40, 2.36it/s]
Running trajectories: 24%|████▌ | 121/500 [00:50<02:40, 2.37it/s]
Running trajectories: 24%|████▋ | 122/500 [00:51<02:39, 2.37it/s]
Running trajectories: 25%|████▋ | 123/500 [00:51<02:38, 2.38it/s]
Running trajectories: 25%|████▋ | 124/500 [00:52<02:39, 2.36it/s]
Running trajectories: 25%|████▊ | 125/500 [00:52<02:38, 2.36it/s]
Running trajectories: 25%|████▊ | 126/500 [00:53<02:37, 2.38it/s]
Running trajectories: 25%|████▊ | 127/500 [00:53<02:36, 2.38it/s]
Running trajectories: 26%|████▊ | 128/500 [00:53<02:36, 2.38it/s]
Running trajectories: 26%|████▉ | 129/500 [00:54<02:36, 2.37it/s]
Running trajectories: 26%|████▉ | 130/500 [00:54<02:36, 2.37it/s]
Running trajectories: 26%|████▉ | 131/500 [00:55<02:36, 2.36it/s]
Running trajectories: 26%|█████ | 132/500 [00:55<02:35, 2.37it/s]
Running trajectories: 27%|█████ | 133/500 [00:56<02:35, 2.37it/s]
Running trajectories: 27%|█████ | 134/500 [00:56<02:34, 2.38it/s]
Running trajectories: 27%|█████▏ | 135/500 [00:56<02:33, 2.38it/s]
Running trajectories: 27%|█████▏ | 136/500 [00:57<02:32, 2.39it/s]
Running trajectories: 27%|█████▏ | 137/500 [00:57<02:31, 2.40it/s]
Running trajectories: 28%|█████▏ | 138/500 [00:58<02:31, 2.39it/s]
Running trajectories: 28%|█████▎ | 139/500 [00:58<02:31, 2.38it/s]
Running trajectories: 28%|█████▎ | 140/500 [00:58<02:30, 2.39it/s]
Running trajectories: 28%|█████▎ | 141/500 [00:59<02:30, 2.38it/s]
Running trajectories: 28%|█████▍ | 142/500 [00:59<02:30, 2.38it/s]
Running trajectories: 29%|█████▍ | 143/500 [01:00<02:29, 2.38it/s]
Running trajectories: 29%|█████▍ | 144/500 [01:00<02:29, 2.39it/s]
Running trajectories: 29%|█████▌ | 145/500 [01:01<02:28, 2.39it/s]
Running trajectories: 29%|█████▌ | 146/500 [01:01<02:27, 2.40it/s]
Running trajectories: 29%|█████▌ | 147/500 [01:01<02:27, 2.39it/s]
Running trajectories: 30%|█████▌ | 148/500 [01:02<02:27, 2.38it/s]
Running trajectories: 30%|█████▋ | 149/500 [01:02<02:27, 2.39it/s]
Running trajectories: 30%|█████▋ | 150/500 [01:03<02:26, 2.39it/s]
Running trajectories: 30%|█████▋ | 151/500 [01:03<02:25, 2.39it/s]
Running trajectories: 30%|█████▊ | 152/500 [01:03<02:26, 2.38it/s]
Running trajectories: 31%|█████▊ | 153/500 [01:04<02:25, 2.38it/s]
Running trajectories: 31%|█████▊ | 154/500 [01:04<02:24, 2.40it/s]
Running trajectories: 31%|█████▉ | 155/500 [01:05<02:24, 2.39it/s]
Running trajectories: 31%|█████▉ | 156/500 [01:05<02:23, 2.39it/s]
Running trajectories: 31%|█████▉ | 157/500 [01:06<02:23, 2.39it/s]
Running trajectories: 32%|██████ | 158/500 [01:06<02:23, 2.39it/s]
Running trajectories: 32%|██████ | 159/500 [01:06<02:22, 2.40it/s]
Running trajectories: 32%|██████ | 160/500 [01:07<02:21, 2.40it/s]
Running trajectories: 32%|██████ | 161/500 [01:07<02:21, 2.40it/s]
Running trajectories: 32%|██████▏ | 162/500 [01:08<02:21, 2.39it/s]
Running trajectories: 33%|██████▏ | 163/500 [01:08<02:20, 2.40it/s]
Running trajectories: 33%|██████▏ | 164/500 [01:08<02:20, 2.39it/s]
Running trajectories: 33%|██████▎ | 165/500 [01:09<02:20, 2.39it/s]
Running trajectories: 33%|██████▎ | 166/500 [01:09<02:19, 2.39it/s]
Running trajectories: 33%|██████▎ | 167/500 [01:10<02:19, 2.38it/s]
Running trajectories: 34%|██████▍ | 168/500 [01:10<02:18, 2.40it/s]
Running trajectories: 34%|██████▍ | 169/500 [01:11<02:18, 2.40it/s]
Running trajectories: 34%|██████▍ | 170/500 [01:11<02:17, 2.40it/s]
Running trajectories: 34%|██████▍ | 171/500 [01:11<02:17, 2.40it/s]
Running trajectories: 34%|██████▌ | 172/500 [01:12<02:17, 2.39it/s]
Running trajectories: 35%|██████▌ | 173/500 [01:12<02:16, 2.39it/s]
Running trajectories: 35%|██████▌ | 174/500 [01:13<02:16, 2.39it/s]
Running trajectories: 35%|██████▋ | 175/500 [01:13<02:15, 2.39it/s]
Running trajectories: 35%|██████▋ | 176/500 [01:14<02:15, 2.38it/s]
Running trajectories: 35%|██████▋ | 177/500 [01:14<02:16, 2.36it/s]
Running trajectories: 36%|██████▊ | 178/500 [01:14<02:15, 2.37it/s]
Running trajectories: 36%|██████▊ | 179/500 [01:15<02:15, 2.37it/s]
Running trajectories: 36%|██████▊ | 180/500 [01:15<02:14, 2.37it/s]
Running trajectories: 36%|██████▉ | 181/500 [01:16<02:14, 2.37it/s]
Running trajectories: 36%|██████▉ | 182/500 [01:16<02:14, 2.37it/s]
Running trajectories: 37%|██████▉ | 183/500 [01:16<02:13, 2.37it/s]
Running trajectories: 37%|██████▉ | 184/500 [01:17<02:13, 2.38it/s]
Running trajectories: 37%|███████ | 185/500 [01:17<02:12, 2.37it/s]
Running trajectories: 37%|███████ | 186/500 [01:18<02:12, 2.37it/s]
Running trajectories: 37%|███████ | 187/500 [01:18<02:11, 2.38it/s]
Running trajectories: 38%|███████▏ | 188/500 [01:19<02:10, 2.38it/s]
Running trajectories: 38%|███████▏ | 189/500 [01:19<02:10, 2.38it/s]
Running trajectories: 38%|███████▏ | 190/500 [01:19<02:10, 2.38it/s]
Running trajectories: 38%|███████▎ | 191/500 [01:20<02:10, 2.38it/s]
Running trajectories: 38%|███████▎ | 192/500 [01:20<02:09, 2.38it/s]
Running trajectories: 39%|███████▎ | 193/500 [01:21<02:08, 2.38it/s]
Running trajectories: 39%|███████▎ | 194/500 [01:21<02:08, 2.38it/s]
Running trajectories: 39%|███████▍ | 195/500 [01:22<02:08, 2.38it/s]
Running trajectories: 39%|███████▍ | 196/500 [01:22<02:08, 2.37it/s]
Running trajectories: 39%|███████▍ | 197/500 [01:22<02:08, 2.36it/s]
Running trajectories: 40%|███████▌ | 198/500 [01:23<02:07, 2.36it/s]
Running trajectories: 40%|███████▌ | 199/500 [01:23<02:07, 2.36it/s]
Running trajectories: 40%|███████▌ | 200/500 [01:24<02:06, 2.36it/s]
Running trajectories: 40%|███████▋ | 201/500 [01:24<02:06, 2.36it/s]
Running trajectories: 40%|███████▋ | 202/500 [01:24<02:06, 2.36it/s]
Running trajectories: 41%|███████▋ | 203/500 [01:25<02:05, 2.37it/s]
Running trajectories: 41%|███████▊ | 204/500 [01:25<02:04, 2.37it/s]
Running trajectories: 41%|███████▊ | 205/500 [01:26<02:04, 2.36it/s]
Running trajectories: 41%|███████▊ | 206/500 [01:26<02:04, 2.37it/s]
Running trajectories: 41%|███████▊ | 207/500 [01:27<02:03, 2.36it/s]
Running trajectories: 42%|███████▉ | 208/500 [01:27<02:02, 2.37it/s]
Running trajectories: 42%|███████▉ | 209/500 [01:27<02:03, 2.36it/s]
Running trajectories: 42%|███████▉ | 210/500 [01:28<02:02, 2.36it/s]
Running trajectories: 42%|████████ | 211/500 [01:28<02:02, 2.37it/s]
Running trajectories: 42%|████████ | 212/500 [01:29<02:01, 2.37it/s]
Running trajectories: 43%|████████ | 213/500 [01:29<02:01, 2.36it/s]
Running trajectories: 43%|████████▏ | 214/500 [01:30<02:01, 2.36it/s]
Running trajectories: 43%|████████▏ | 215/500 [01:30<02:00, 2.37it/s]
Running trajectories: 43%|████████▏ | 216/500 [01:30<01:59, 2.37it/s]
Running trajectories: 43%|████████▏ | 217/500 [01:31<01:59, 2.38it/s]
Running trajectories: 44%|████████▎ | 218/500 [01:31<01:58, 2.38it/s]
Running trajectories: 44%|████████▎ | 219/500 [01:32<01:58, 2.37it/s]
Running trajectories: 44%|████████▎ | 220/500 [01:32<01:58, 2.37it/s]
Running trajectories: 44%|████████▍ | 221/500 [01:32<01:57, 2.37it/s]
Running trajectories: 44%|████████▍ | 222/500 [01:33<01:57, 2.37it/s]
Running trajectories: 45%|████████▍ | 223/500 [01:33<01:56, 2.37it/s]
Running trajectories: 45%|████████▌ | 224/500 [01:34<01:57, 2.35it/s]
Running trajectories: 45%|████████▌ | 225/500 [01:34<01:56, 2.36it/s]
Running trajectories: 45%|████████▌ | 226/500 [01:35<01:55, 2.37it/s]
Running trajectories: 45%|████████▋ | 227/500 [01:35<01:54, 2.37it/s]
Running trajectories: 46%|████████▋ | 228/500 [01:35<01:54, 2.37it/s]
Running trajectories: 46%|████████▋ | 229/500 [01:36<01:54, 2.37it/s]
Running trajectories: 46%|████████▋ | 230/500 [01:36<01:53, 2.37it/s]
Running trajectories: 46%|████████▊ | 231/500 [01:37<01:53, 2.37it/s]
Running trajectories: 46%|████████▊ | 232/500 [01:37<01:53, 2.37it/s]
Running trajectories: 47%|████████▊ | 233/500 [01:38<01:52, 2.37it/s]
Running trajectories: 47%|████████▉ | 234/500 [01:38<01:52, 2.36it/s]
Running trajectories: 47%|████████▉ | 235/500 [01:38<01:52, 2.36it/s]
Running trajectories: 47%|████████▉ | 236/500 [01:39<01:51, 2.37it/s]
Running trajectories: 47%|█████████ | 237/500 [01:39<01:51, 2.36it/s]
Running trajectories: 48%|█████████ | 238/500 [01:40<01:51, 2.35it/s]
Running trajectories: 48%|█████████ | 239/500 [01:40<01:50, 2.36it/s]
Running trajectories: 48%|█████████ | 240/500 [01:41<01:50, 2.36it/s]
Running trajectories: 48%|█████████▏ | 241/500 [01:41<01:49, 2.37it/s]
Running trajectories: 48%|█████████▏ | 242/500 [01:41<01:48, 2.37it/s]
Running trajectories: 49%|█████████▏ | 243/500 [01:42<01:48, 2.36it/s]
Running trajectories: 49%|█████████▎ | 244/500 [01:42<01:48, 2.37it/s]
Running trajectories: 49%|█████████▎ | 245/500 [01:43<01:47, 2.37it/s]
Running trajectories: 49%|█████████▎ | 246/500 [01:43<01:47, 2.37it/s]
Running trajectories: 49%|█████████▍ | 247/500 [01:43<01:46, 2.37it/s]
Running trajectories: 50%|█████████▍ | 248/500 [01:44<01:46, 2.36it/s]
Running trajectories: 50%|█████████▍ | 249/500 [01:44<01:46, 2.35it/s]
Running trajectories: 50%|█████████▌ | 250/500 [01:45<01:46, 2.36it/s]
Running trajectories: 50%|█████████▌ | 251/500 [01:45<01:45, 2.36it/s]
Running trajectories: 50%|█████████▌ | 252/500 [01:46<01:44, 2.36it/s]
Running trajectories: 51%|█████████▌ | 253/500 [01:46<01:44, 2.36it/s]
Running trajectories: 51%|█████████▋ | 254/500 [01:46<01:44, 2.36it/s]
Running trajectories: 51%|█████████▋ | 255/500 [01:47<01:43, 2.36it/s]
Running trajectories: 51%|█████████▋ | 256/500 [01:47<01:42, 2.37it/s]
Running trajectories: 51%|█████████▊ | 257/500 [01:48<01:42, 2.37it/s]
Running trajectories: 52%|█████████▊ | 258/500 [01:48<01:42, 2.37it/s]
Running trajectories: 52%|█████████▊ | 259/500 [01:49<01:41, 2.37it/s]
Running trajectories: 52%|█████████▉ | 260/500 [01:49<01:41, 2.38it/s]
Running trajectories: 52%|█████████▉ | 261/500 [01:49<01:40, 2.37it/s]
Running trajectories: 52%|█████████▉ | 262/500 [01:50<01:40, 2.37it/s]
Running trajectories: 53%|█████████▉ | 263/500 [01:50<01:39, 2.37it/s]
Running trajectories: 53%|██████████ | 264/500 [01:51<01:39, 2.38it/s]
Running trajectories: 53%|██████████ | 265/500 [01:51<01:38, 2.38it/s]
Running trajectories: 53%|██████████ | 266/500 [01:52<01:38, 2.37it/s]
Running trajectories: 53%|██████████▏ | 267/500 [01:52<01:38, 2.37it/s]
Running trajectories: 54%|██████████▏ | 268/500 [01:52<01:37, 2.37it/s]
Running trajectories: 54%|██████████▏ | 269/500 [01:53<01:37, 2.37it/s]
Running trajectories: 54%|██████████▎ | 270/500 [01:53<01:37, 2.37it/s]
Running trajectories: 54%|██████████▎ | 271/500 [01:54<01:36, 2.36it/s]
Running trajectories: 54%|██████████▎ | 272/500 [01:54<01:36, 2.37it/s]
Running trajectories: 55%|██████████▎ | 273/500 [01:54<01:35, 2.38it/s]
Running trajectories: 55%|██████████▍ | 274/500 [01:55<01:34, 2.38it/s]
Running trajectories: 55%|██████████▍ | 275/500 [01:55<01:34, 2.38it/s]
Running trajectories: 55%|██████████▍ | 276/500 [01:56<01:34, 2.37it/s]
Running trajectories: 55%|██████████▌ | 277/500 [01:56<01:33, 2.37it/s]
Running trajectories: 56%|██████████▌ | 278/500 [01:57<01:33, 2.38it/s]
Running trajectories: 56%|██████████▌ | 279/500 [01:57<01:33, 2.37it/s]
Running trajectories: 56%|██████████▋ | 280/500 [01:57<01:32, 2.37it/s]
Running trajectories: 56%|██████████▋ | 281/500 [01:58<01:32, 2.37it/s]
Running trajectories: 56%|██████████▋ | 282/500 [01:58<01:31, 2.37it/s]
Running trajectories: 57%|██████████▊ | 283/500 [01:59<01:31, 2.37it/s]
Running trajectories: 57%|██████████▊ | 284/500 [01:59<01:31, 2.36it/s]
Running trajectories: 57%|██████████▊ | 285/500 [02:00<01:30, 2.36it/s]
Running trajectories: 57%|██████████▊ | 286/500 [02:00<01:30, 2.36it/s]
Running trajectories: 57%|██████████▉ | 287/500 [02:00<01:29, 2.37it/s]
Running trajectories: 58%|██████████▉ | 288/500 [02:01<01:29, 2.38it/s]
Running trajectories: 58%|██████████▉ | 289/500 [02:01<01:28, 2.38it/s]
Running trajectories: 58%|███████████ | 290/500 [02:02<01:28, 2.37it/s]
Running trajectories: 58%|███████████ | 291/500 [02:02<01:28, 2.37it/s]
Running trajectories: 58%|███████████ | 292/500 [02:02<01:27, 2.38it/s]
Running trajectories: 59%|███████████▏ | 293/500 [02:03<01:27, 2.38it/s]
Running trajectories: 59%|███████████▏ | 294/500 [02:03<01:26, 2.37it/s]
Running trajectories: 59%|███████████▏ | 295/500 [02:04<01:26, 2.36it/s]
Running trajectories: 59%|███████████▏ | 296/500 [02:04<01:26, 2.37it/s]
Running trajectories: 59%|███████████▎ | 297/500 [02:05<01:25, 2.38it/s]
Running trajectories: 60%|███████████▎ | 298/500 [02:05<01:24, 2.38it/s]
Running trajectories: 60%|███████████▎ | 299/500 [02:05<01:24, 2.37it/s]
Running trajectories: 60%|███████████▍ | 300/500 [02:06<01:24, 2.38it/s]
Running trajectories: 60%|███████████▍ | 301/500 [02:06<01:23, 2.38it/s]
Running trajectories: 60%|███████████▍ | 302/500 [02:07<01:23, 2.39it/s]
Running trajectories: 61%|███████████▌ | 303/500 [02:07<01:22, 2.38it/s]
Running trajectories: 61%|███████████▌ | 304/500 [02:08<01:22, 2.38it/s]
Running trajectories: 61%|███████████▌ | 305/500 [02:08<01:22, 2.37it/s]
Running trajectories: 61%|███████████▋ | 306/500 [02:08<01:21, 2.38it/s]
Running trajectories: 61%|███████████▋ | 307/500 [02:09<01:21, 2.37it/s]
Running trajectories: 62%|███████████▋ | 308/500 [02:09<01:20, 2.37it/s]
Running trajectories: 62%|███████████▋ | 309/500 [02:10<01:20, 2.37it/s]
Running trajectories: 62%|███████████▊ | 310/500 [02:10<01:20, 2.37it/s]
Running trajectories: 62%|███████████▊ | 311/500 [02:10<01:19, 2.37it/s]
Running trajectories: 62%|███████████▊ | 312/500 [02:11<01:19, 2.37it/s]
Running trajectories: 63%|███████████▉ | 313/500 [02:11<01:18, 2.37it/s]
Running trajectories: 63%|███████████▉ | 314/500 [02:12<01:18, 2.37it/s]
Running trajectories: 63%|███████████▉ | 315/500 [02:12<01:18, 2.37it/s]
Running trajectories: 63%|████████████ | 316/500 [02:13<01:17, 2.36it/s]
Running trajectories: 63%|████████████ | 317/500 [02:13<01:17, 2.36it/s]
Running trajectories: 64%|████████████ | 318/500 [02:13<01:16, 2.37it/s]
Running trajectories: 64%|████████████ | 319/500 [02:14<01:16, 2.37it/s]
Running trajectories: 64%|████████████▏ | 320/500 [02:14<01:16, 2.36it/s]
Running trajectories: 64%|████████████▏ | 321/500 [02:15<01:15, 2.37it/s]
Running trajectories: 64%|████████████▏ | 322/500 [02:15<01:15, 2.37it/s]
Running trajectories: 65%|████████████▎ | 323/500 [02:16<01:14, 2.37it/s]
Running trajectories: 65%|████████████▎ | 324/500 [02:16<01:14, 2.37it/s]
Running trajectories: 65%|████████████▎ | 325/500 [02:16<01:13, 2.37it/s]
Running trajectories: 65%|████████████▍ | 326/500 [02:17<01:13, 2.36it/s]
Running trajectories: 65%|████████████▍ | 327/500 [02:17<01:13, 2.37it/s]
Running trajectories: 66%|████████████▍ | 328/500 [02:18<01:12, 2.37it/s]
Running trajectories: 66%|████████████▌ | 329/500 [02:18<01:12, 2.36it/s]
Running trajectories: 66%|████████████▌ | 330/500 [02:18<01:11, 2.37it/s]
Running trajectories: 66%|████████████▌ | 331/500 [02:19<01:11, 2.37it/s]
Running trajectories: 66%|████████████▌ | 332/500 [02:19<01:10, 2.37it/s]
Running trajectories: 67%|████████████▋ | 333/500 [02:20<01:10, 2.37it/s]
Running trajectories: 67%|████████████▋ | 334/500 [02:20<01:10, 2.37it/s]
Running trajectories: 67%|████████████▋ | 335/500 [02:21<01:10, 2.35it/s]
Running trajectories: 67%|████████████▊ | 336/500 [02:21<01:09, 2.36it/s]
Running trajectories: 67%|████████████▊ | 337/500 [02:21<01:09, 2.36it/s]
Running trajectories: 68%|████████████▊ | 338/500 [02:22<01:08, 2.36it/s]
Running trajectories: 68%|████████████▉ | 339/500 [02:22<01:08, 2.36it/s]
Running trajectories: 68%|████████████▉ | 340/500 [02:23<01:07, 2.37it/s]
Running trajectories: 68%|████████████▉ | 341/500 [02:23<01:07, 2.37it/s]
Running trajectories: 68%|████████████▉ | 342/500 [02:24<01:06, 2.38it/s]
Running trajectories: 69%|█████████████ | 343/500 [02:24<01:06, 2.37it/s]
Running trajectories: 69%|█████████████ | 344/500 [02:24<01:05, 2.37it/s]
Running trajectories: 69%|█████████████ | 345/500 [02:25<01:05, 2.37it/s]
Running trajectories: 69%|█████████████▏ | 346/500 [02:25<01:04, 2.37it/s]
Running trajectories: 69%|█████████████▏ | 347/500 [02:26<01:04, 2.38it/s]
Running trajectories: 70%|█████████████▏ | 348/500 [02:26<01:04, 2.37it/s]
Running trajectories: 70%|█████████████▎ | 349/500 [02:27<01:03, 2.37it/s]
Running trajectories: 70%|█████████████▎ | 350/500 [02:27<01:03, 2.37it/s]
Running trajectories: 70%|█████████████▎ | 351/500 [02:27<01:02, 2.38it/s]
Running trajectories: 70%|█████████████▍ | 352/500 [02:28<01:02, 2.38it/s]
Running trajectories: 71%|█████████████▍ | 353/500 [02:28<01:01, 2.37it/s]
Running trajectories: 71%|█████████████▍ | 354/500 [02:29<01:01, 2.38it/s]
Running trajectories: 71%|█████████████▍ | 355/500 [02:29<01:00, 2.38it/s]
Running trajectories: 71%|█████████████▌ | 356/500 [02:29<01:00, 2.37it/s]
Running trajectories: 71%|█████████████▌ | 357/500 [02:30<01:00, 2.37it/s]
Running trajectories: 72%|█████████████▌ | 358/500 [02:30<01:00, 2.36it/s]
Running trajectories: 72%|█████████████▋ | 359/500 [02:31<00:59, 2.36it/s]
Running trajectories: 72%|█████████████▋ | 360/500 [02:31<00:59, 2.37it/s]
Running trajectories: 72%|█████████████▋ | 361/500 [02:32<00:58, 2.37it/s]
Running trajectories: 72%|█████████████▊ | 362/500 [02:32<00:58, 2.37it/s]
Running trajectories: 73%|█████████████▊ | 363/500 [02:32<00:57, 2.37it/s]
Running trajectories: 73%|█████████████▊ | 364/500 [02:33<00:57, 2.37it/s]
Running trajectories: 73%|█████████████▊ | 365/500 [02:33<00:56, 2.37it/s]
Running trajectories: 73%|█████████████▉ | 366/500 [02:34<00:56, 2.37it/s]
Running trajectories: 73%|█████████████▉ | 367/500 [02:34<00:56, 2.37it/s]
Running trajectories: 74%|█████████████▉ | 368/500 [02:35<00:55, 2.37it/s]
Running trajectories: 74%|██████████████ | 369/500 [02:35<00:55, 2.37it/s]
Running trajectories: 74%|██████████████ | 370/500 [02:35<00:54, 2.38it/s]
Running trajectories: 74%|██████████████ | 371/500 [02:36<00:54, 2.38it/s]
Running trajectories: 74%|██████████████▏ | 372/500 [02:36<00:54, 2.37it/s]
Running trajectories: 75%|██████████████▏ | 373/500 [02:37<00:53, 2.37it/s]
Running trajectories: 75%|██████████████▏ | 374/500 [02:37<00:53, 2.37it/s]
Running trajectories: 75%|██████████████▎ | 375/500 [02:37<00:52, 2.37it/s]
Running trajectories: 75%|██████████████▎ | 376/500 [02:38<00:52, 2.37it/s]
Running trajectories: 75%|██████████████▎ | 377/500 [02:38<00:51, 2.37it/s]
Running trajectories: 76%|██████████████▎ | 378/500 [02:39<00:51, 2.37it/s]
Running trajectories: 76%|██████████████▍ | 379/500 [02:39<00:50, 2.38it/s]
Running trajectories: 76%|██████████████▍ | 380/500 [02:40<00:50, 2.37it/s]
Running trajectories: 76%|██████████████▍ | 381/500 [02:40<00:50, 2.37it/s]
Running trajectories: 76%|██████████████▌ | 382/500 [02:40<00:49, 2.37it/s]
Running trajectories: 77%|██████████████▌ | 383/500 [02:41<00:49, 2.37it/s]
Running trajectories: 77%|██████████████▌ | 384/500 [02:41<00:48, 2.37it/s]
Running trajectories: 77%|██████████████▋ | 385/500 [02:42<00:48, 2.37it/s]
Running trajectories: 77%|██████████████▋ | 386/500 [02:42<00:48, 2.37it/s]
Running trajectories: 77%|██████████████▋ | 387/500 [02:43<00:47, 2.37it/s]
Running trajectories: 78%|██████████████▋ | 388/500 [02:43<00:47, 2.37it/s]
Running trajectories: 78%|██████████████▊ | 389/500 [02:43<00:46, 2.37it/s]
Running trajectories: 78%|██████████████▊ | 390/500 [02:44<00:46, 2.37it/s]
Running trajectories: 78%|██████████████▊ | 391/500 [02:44<00:46, 2.35it/s]
Running trajectories: 78%|██████████████▉ | 392/500 [02:45<00:45, 2.36it/s]
Running trajectories: 79%|██████████████▉ | 393/500 [02:45<00:45, 2.37it/s]
Running trajectories: 79%|██████████████▉ | 394/500 [02:45<00:44, 2.37it/s]
Running trajectories: 79%|███████████████ | 395/500 [02:46<00:44, 2.37it/s]
Running trajectories: 79%|███████████████ | 396/500 [02:46<00:44, 2.36it/s]
Running trajectories: 79%|███████████████ | 397/500 [02:47<00:43, 2.37it/s]
Running trajectories: 80%|███████████████ | 398/500 [02:47<00:42, 2.38it/s]
Running trajectories: 80%|███████████████▏ | 399/500 [02:48<00:42, 2.39it/s]
Running trajectories: 80%|███████████████▏ | 400/500 [02:48<00:41, 2.38it/s]
Running trajectories: 80%|███████████████▏ | 401/500 [02:48<00:41, 2.38it/s]
Running trajectories: 80%|███████████████▎ | 402/500 [02:49<00:41, 2.38it/s]
Running trajectories: 81%|███████████████▎ | 403/500 [02:49<00:40, 2.39it/s]
Running trajectories: 81%|███████████████▎ | 404/500 [02:50<00:40, 2.39it/s]
Running trajectories: 81%|███████████████▍ | 405/500 [02:50<00:39, 2.38it/s]
Running trajectories: 81%|███████████████▍ | 406/500 [02:51<00:39, 2.39it/s]
Running trajectories: 81%|███████████████▍ | 407/500 [02:51<00:38, 2.39it/s]
Running trajectories: 82%|███████████████▌ | 408/500 [02:51<00:38, 2.39it/s]
Running trajectories: 82%|███████████████▌ | 409/500 [02:52<00:38, 2.39it/s]
Running trajectories: 82%|███████████████▌ | 410/500 [02:52<00:37, 2.39it/s]
Running trajectories: 82%|███████████████▌ | 411/500 [02:53<00:37, 2.39it/s]
Running trajectories: 82%|███████████████▋ | 412/500 [02:53<00:36, 2.38it/s]
Running trajectories: 83%|███████████████▋ | 413/500 [02:53<00:36, 2.38it/s]
Running trajectories: 83%|███████████████▋ | 414/500 [02:54<00:36, 2.38it/s]
Running trajectories: 83%|███████████████▊ | 415/500 [02:54<00:35, 2.36it/s]
Running trajectories: 83%|███████████████▊ | 416/500 [02:55<00:35, 2.36it/s]
Running trajectories: 83%|███████████████▊ | 417/500 [02:55<00:35, 2.36it/s]
Running trajectories: 84%|███████████████▉ | 418/500 [02:56<00:34, 2.37it/s]
Running trajectories: 84%|███████████████▉ | 419/500 [02:56<00:34, 2.36it/s]
Running trajectories: 84%|███████████████▉ | 420/500 [02:56<00:33, 2.36it/s]
Running trajectories: 84%|███████████████▉ | 421/500 [02:57<00:33, 2.36it/s]
Running trajectories: 84%|████████████████ | 422/500 [02:57<00:32, 2.37it/s]
Running trajectories: 85%|████████████████ | 423/500 [02:58<00:32, 2.37it/s]
Running trajectories: 85%|████████████████ | 424/500 [02:58<00:32, 2.36it/s]
Running trajectories: 85%|████████████████▏ | 425/500 [02:59<00:31, 2.36it/s]
Running trajectories: 85%|████████████████▏ | 426/500 [02:59<00:31, 2.37it/s]
Running trajectories: 85%|████████████████▏ | 427/500 [02:59<00:30, 2.37it/s]
Running trajectories: 86%|████████████████▎ | 428/500 [03:00<00:30, 2.36it/s]
Running trajectories: 86%|████████████████▎ | 429/500 [03:00<00:30, 2.36it/s]
Running trajectories: 86%|████████████████▎ | 430/500 [03:01<00:29, 2.38it/s]
Running trajectories: 86%|████████████████▍ | 431/500 [03:01<00:28, 2.38it/s]
Running trajectories: 86%|████████████████▍ | 432/500 [03:01<00:28, 2.38it/s]
Running trajectories: 87%|████████████████▍ | 433/500 [03:02<00:28, 2.38it/s]
Running trajectories: 87%|████████████████▍ | 434/500 [03:02<00:27, 2.38it/s]
Running trajectories: 87%|████████████████▌ | 435/500 [03:03<00:27, 2.38it/s]
Running trajectories: 87%|████████████████▌ | 436/500 [03:03<00:26, 2.37it/s]
Running trajectories: 87%|████████████████▌ | 437/500 [03:04<00:26, 2.36it/s]
Running trajectories: 88%|████████████████▋ | 438/500 [03:04<00:26, 2.36it/s]
Running trajectories: 88%|████████████████▋ | 439/500 [03:04<00:25, 2.37it/s]
Running trajectories: 88%|████████████████▋ | 440/500 [03:05<00:25, 2.37it/s]
Running trajectories: 88%|████████████████▊ | 441/500 [03:05<00:24, 2.38it/s]
Running trajectories: 88%|████████████████▊ | 442/500 [03:06<00:24, 2.38it/s]
Running trajectories: 89%|████████████████▊ | 443/500 [03:06<00:24, 2.37it/s]
Running trajectories: 89%|████████████████▊ | 444/500 [03:07<00:23, 2.37it/s]
Running trajectories: 89%|████████████████▉ | 445/500 [03:07<00:23, 2.37it/s]
Running trajectories: 89%|████████████████▉ | 446/500 [03:07<00:22, 2.37it/s]
Running trajectories: 89%|████████████████▉ | 447/500 [03:08<00:22, 2.38it/s]
Running trajectories: 90%|█████████████████ | 448/500 [03:08<00:21, 2.37it/s]
Running trajectories: 90%|█████████████████ | 449/500 [03:09<00:21, 2.36it/s]
Running trajectories: 90%|█████████████████ | 450/500 [03:09<00:21, 2.37it/s]
Running trajectories: 90%|█████████████████▏ | 451/500 [03:10<00:20, 2.38it/s]
Running trajectories: 90%|█████████████████▏ | 452/500 [03:10<00:20, 2.38it/s]
Running trajectories: 91%|█████████████████▏ | 453/500 [03:10<00:19, 2.38it/s]
Running trajectories: 91%|█████████████████▎ | 454/500 [03:11<00:19, 2.38it/s]
Running trajectories: 91%|█████████████████▎ | 455/500 [03:11<00:18, 2.38it/s]
Running trajectories: 91%|█████████████████▎ | 456/500 [03:12<00:18, 2.37it/s]
Running trajectories: 91%|█████████████████▎ | 457/500 [03:12<00:18, 2.38it/s]
Running trajectories: 92%|█████████████████▍ | 458/500 [03:12<00:17, 2.37it/s]
Running trajectories: 92%|█████████████████▍ | 459/500 [03:13<00:17, 2.37it/s]
Running trajectories: 92%|█████████████████▍ | 460/500 [03:13<00:16, 2.38it/s]
Running trajectories: 92%|█████████████████▌ | 461/500 [03:14<00:16, 2.38it/s]
Running trajectories: 92%|█████████████████▌ | 462/500 [03:14<00:16, 2.37it/s]
Running trajectories: 93%|█████████████████▌ | 463/500 [03:15<00:15, 2.36it/s]
Running trajectories: 93%|█████████████████▋ | 464/500 [03:15<00:15, 2.36it/s]
Running trajectories: 93%|█████████████████▋ | 465/500 [03:15<00:14, 2.37it/s]
Running trajectories: 93%|█████████████████▋ | 466/500 [03:16<00:14, 2.37it/s]
Running trajectories: 93%|█████████████████▋ | 467/500 [03:16<00:13, 2.36it/s]
Running trajectories: 94%|█████████████████▊ | 468/500 [03:17<00:13, 2.37it/s]
Running trajectories: 94%|█████████████████▊ | 469/500 [03:17<00:13, 2.37it/s]
Running trajectories: 94%|█████████████████▊ | 470/500 [03:18<00:12, 2.38it/s]
Running trajectories: 94%|█████████████████▉ | 471/500 [03:18<00:12, 2.38it/s]
Running trajectories: 94%|█████████████████▉ | 472/500 [03:18<00:11, 2.38it/s]
Running trajectories: 95%|█████████████████▉ | 473/500 [03:19<00:11, 2.37it/s]
Running trajectories: 95%|██████████████████ | 474/500 [03:19<00:10, 2.38it/s]
Running trajectories: 95%|██████████████████ | 475/500 [03:20<00:10, 2.38it/s]
Running trajectories: 95%|██████████████████ | 476/500 [03:20<00:10, 2.38it/s]
Running trajectories: 95%|██████████████████▏| 477/500 [03:20<00:09, 2.38it/s]
Running trajectories: 96%|██████████████████▏| 478/500 [03:21<00:09, 2.38it/s]
Running trajectories: 96%|██████████████████▏| 479/500 [03:21<00:08, 2.39it/s]
Running trajectories: 96%|██████████████████▏| 480/500 [03:22<00:08, 2.38it/s]
Running trajectories: 96%|██████████████████▎| 481/500 [03:22<00:07, 2.38it/s]
Running trajectories: 96%|██████████████████▎| 482/500 [03:23<00:07, 2.37it/s]
Running trajectories: 97%|██████████████████▎| 483/500 [03:23<00:07, 2.36it/s]
Running trajectories: 97%|██████████████████▍| 484/500 [03:23<00:06, 2.37it/s]
Running trajectories: 97%|██████████████████▍| 485/500 [03:24<00:06, 2.38it/s]
Running trajectories: 97%|██████████████████▍| 486/500 [03:24<00:05, 2.37it/s]
Running trajectories: 97%|██████████████████▌| 487/500 [03:25<00:05, 2.37it/s]
Running trajectories: 98%|██████████████████▌| 488/500 [03:25<00:05, 2.37it/s]
Running trajectories: 98%|██████████████████▌| 489/500 [03:26<00:04, 2.38it/s]
Running trajectories: 98%|██████████████████▌| 490/500 [03:26<00:04, 2.37it/s]
Running trajectories: 98%|██████████████████▋| 491/500 [03:26<00:03, 2.36it/s]
Running trajectories: 98%|██████████████████▋| 492/500 [03:27<00:03, 2.37it/s]
Running trajectories: 99%|██████████████████▋| 493/500 [03:27<00:02, 2.37it/s]
Running trajectories: 99%|██████████████████▊| 494/500 [03:28<00:02, 2.37it/s]
Running trajectories: 99%|██████████████████▊| 495/500 [03:28<00:02, 2.37it/s]
Running trajectories: 99%|██████████████████▊| 496/500 [03:28<00:01, 2.37it/s]
Running trajectories: 99%|██████████████████▉| 497/500 [03:29<00:01, 2.38it/s]
Running trajectories: 100%|██████████████████▉| 498/500 [03:29<00:00, 2.37it/s]
Running trajectories: 100%|██████████████████▉| 499/500 [03:30<00:00, 2.37it/s]
Running trajectories: 100%|███████████████████| 500/500 [03:30<00:00, 2.37it/s]
Running trajectories: 100%|███████████████████| 500/500 [03:30<00:00, 2.37it/s]
Note on Statistical Uncertainty: The results for
vectorandmpsare averaged over 500 trajectories. As these use stochastic open-system evolution when a noise model is present, the plotted curves represent the mean value and carry statistical uncertainty (standard error \(\propto 1/\sqrt{N_{traj}}\)). For production-quality results, we recommend increasingnum_traj(e.g., to 1000 or more) or plotting confidence intervals to visualize the uncertainty. Thedensity_matrixrepresentation, in contrast, returns the deterministic ensemble average directly.
Noiseless cross-check¶
With no noise, a State with representation="density_matrix" evolves \(\rho\) under the Hamiltonian only
(noise_model=None). The same holds for representation="mps" and "vector" (a single deterministic trajectory).
1obs_mps = Observable("z", sites=[0])
2obs_rho = Observable("z", sites=[0])
3params_mps_unitary = AnalogSimParams(
4 observables=[obs_mps],
5 elapsed_time=1.0,
6 dt=0.1,
7 max_bond_dim=16,
8)
9params_rho_unitary = AnalogSimParams(
10 observables=[obs_rho],
11 elapsed_time=1.0,
12 dt=0.1,
13)
14quiet_sim = Simulator(show_progress=False)
15result_mps_u = quiet_sim.run(State(L, initial="zeros", representation="mps"), H, params_mps_unitary, None)
16z_mps = result_mps_u.expectation_values[0][-1]
17result_rho_u = quiet_sim.run(State(L, initial="zeros", representation="density_matrix"), H, params_rho_unitary, None)
18z_rho = result_rho_u.expectation_values[0][-1]
19print(f"Noiseless <Z_0> at t=1: mps={z_mps:.6f}, density_matrix={z_rho:.6f}")
Noiseless <Z_0> at t=1: mps=0.672316, density_matrix=0.672315