Test 1D Signal#
import sys
import os
sys.path.append(os.path.abspath("../.."))
import math
import numpy as np
import matplotlib.pyplot as plt
import cProfile
import pstats
from BFOT.BFOT_1D import BFM
n = 64
np.random.seed(50976)
# x = np.linspace(0, 5 * math.pi, n) # Generate n equally spaced points between 0 and 2pi
# mu = np.abs(np.sin(x))
# x = x/(2 * math.pi)
# mu *= n / np.sum(mu)
# visualize mu distribution
# plt.figure(figsize=(8, 4))
# plt.plot(x, mu, color='blue')
# plt.title("$\\mu$")
# x = np.linspace(0, 1 * math.pi, n) # Generate n equally spaced points between 0 and 2pi
# nu = np.abs(np.cos(x))
# x = x/(2 * math.pi)
# nu *= n / np.sum(nu)
x = np.linspace(0, 1, n)
mu = np.exp(-0.1 * x) * np.sin(2 * np.pi * 1.5 * x)
mu *= n / np.sum(mu)
nu = np.exp(-((x - 5) ** 2) / (2 * 0.8**2)) + 0.00000005 * np.random.randn(len(x))
nu *= n / np.sum(nu)
vmin = np.minimum(mu.min(), nu.min())
mu -= vmin
nu -= vmin
n += 4
mu = np.pad(mu, (2,2), mode = "edge")
nu = np.pad(nu, (2,2), mode = "edge")
# # visualize mu distribution
# plt.figure(figsize=(8, 4))
# plt.plot(x, mu, color='blue')
# plt.title("$\\mu$")
# # visualize nu distribution
# plt.figure(figsize=(8, 4))
# plt.plot(x, nu, color='blue')
# plt.title("$\\nu$")
x = np.linspace(0.5 / n, 1 - 0.5 / n, n)
phi = 0.5 * (x * x)
psi = 0.5 * (x * x)
numIters = 50
sigma = 4 / np.maximum(mu.max(), nu.max())
def plot_interpolation(mu, nu, phi, psi, bf, n_fig=11):
"""
Plots the discrete geodesic interpolation between mu and nu
using the given potentials phi and psi.
Parameters
----------
mu : 2D array (n2, n1)
Source measure.
nu : 2D array (n2, n1)
Target measure.
phi, psi : 2D arrays (n2, n1)
Kantorovich potentials.
bf : BFM object
Instance of the Semi-discrete solver that has a pushforward method.
x, y : 2D arrays (n2, n1)
Grid coordinates.
n_fig : int
Number of frames to plot (including t=0 and t=1).
"""
x = np.linspace(0.5 / n, 1 - 0.5 / n, n)
phi_0 = 0.5 * (x * x)
# Use the same max for color scaling
vmax = mu.max()
# Allocate arrays for intermediate pushforwards
interpolate = np.zeros_like(mu)
rho_fwd = np.zeros_like(mu)
rho_bwd = np.zeros_like(mu)
fig, ax = plt.subplots(1, n_fig, figsize=(24,4), sharex=True, sharey=True)
# for axi in ax:
# axi.axis('off')
# Generate intermediate frames
for i in range(0, n_fig):
t = i / (n_fig - 1)
# Blend potentials in 2D form
# psi_t interpolates from phi_0 to psi
# phi_t interpolates from phi_0 to phi
psi_t = (1 - t) * phi_0 + t * psi
phi_t = t * phi_0 + (1 - t) * phi
# Pushforward mu by psi_t
bf.pushforward(rho_fwd, psi_t, mu)
# Pushforward nu by phi_t
bf.pushforward(rho_bwd, phi_t, nu)
# Convex combination of the two pushforwards
interpolate = (1 - t) * rho_fwd + t * rho_bwd
interpolate = interpolate[2:-2]
# Plot the interpolation
x = np.linspace(0, 1, n-4)
ax[i].plot(x, interpolate, color='blue')
ax[i].set_title(f"$t={t:.2f}$")
# Save the interpolation
# filename = f'{NewImageName}_{t:.2f}.png'
# filepath = os.path.join(output_dir, filename)
# imsave(filepath, interpolate, vmax=vmax, cmap='gray_r')
plt.show()
# def main():
# bf = BFM(n, mu, nu, phi, psi, sigma, x, numIters)
# bf.compute_ot()
# plot_interpolation(bf.mu, bf.nu, bf.phi, bf.psi, bf)
# if __name__ == "__main__":
# profiler = cProfile.Profile()
# profiler.enable()
# main()
# profiler.disable()
# stats = pstats.Stats(profiler)
# stats.sort_stats('tottime').print_stats(10)
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In[1], line 9
7 import cProfile
8 import pstats
----> 9 from BFOT.BFOT_1D import BFM
11 n = 64
12 np.random.seed(50976)
File ~/work/BFOT/BFOT/BFOT/BFOT_1D.py:2
1 import numpy as np
----> 2 import numba
3 from scipy.spatial import ConvexHull
4 from scipy.fftpack import dct, idct
ModuleNotFoundError: No module named 'numba'
n = 256
def ricker_wavelet(t, a):
return (1 - (t / a)**2) * np.exp(- (t**2) / (2 * a**2))
# Time vector centered at 0
t = np.linspace(-1, 1, n)
t1 = t-0.2
t2 = t+0.2
# displacement example: Ricker wavelet
sigma_1 = 0.2
sigma_2 = 0.2
mu = ricker_wavelet(t1, sigma_1)
nu = ricker_wavelet(t2, sigma_1)
vmin = np.minimum(mu.min(), nu.min())
print(vmin)
mu -= vmin
nu -= vmin
mu *= n / np.sum(mu)
nu *= n / np.sum(nu)
# plot mu
x = np.linspace(0, 1, n)
plt.figure(figsize=(8, 4))
plt.plot(x, mu, color='blue')
plt.title("$\\mu$")
plt.figure(figsize=(8, 4))
plt.plot(x, nu, color='blue')
plt.title("$\\nu$")
n += 4
mu = np.pad(mu, (2,2), mode = "edge")
nu = np.pad(nu, (2,2), mode = "edge")
x = np.linspace(0.5 / n, 1 - 0.5 / n, n)
phi = 0.5 * (x * x)
psi = 0.5 * (x * x)
numIters = 50
sigma = 4 / np.maximum(mu.max(), nu.max())
def main():
bf = BFM(n, mu, nu, phi, psi, sigma, x, numIters)
bf.compute_ot()
plot_interpolation(bf.mu, bf.nu, bf.phi, bf.psi, bf)
if __name__ == "__main__":
profiler = cProfile.Profile()
profiler.enable()
main()
profiler.disable()
stats = pstats.Stats(profiler)
stats.sort_stats('tottime').print_stats(10)
# plot the potential functions phi and psi
# example with different mass: WOP
-0.4462313997207008
iter 0, W2 value: 4.014403e-03, H1 err: 3.92e-03
iter 5, W2 value: 4.304727e-03, H1 err: 1.53e-04
iter 10, W2 value: 4.326270e-03, H1 err: 2.38e-05
iter 15, W2 value: 4.327229e-03, H1 err: 1.49e-05
iter 20, W2 value: 4.327402e-03, H1 err: 1.32e-05
iter 25, W2 value: 4.327502e-03, H1 err: 1.23e-05
iter 30, W2 value: 4.327565e-03, H1 err: 1.19e-05
iter 35, W2 value: 4.327601e-03, H1 err: 1.17e-05
iter 40, W2 value: 4.327622e-03, H1 err: 1.15e-05
iter 45, W2 value: 4.327635e-03, H1 err: 1.14e-05
iter 50, W2 value: 4.327642e-03, H1 err: 1.14e-05
2687335 function calls (2588359 primitive calls) in 1.410 seconds
Ordered by: internal time
List reduced from 1486 to 10 due to restriction <10>
ncalls tottime percall cumtime percall filename:lineno(function)
32572 0.054 0.000 0.054 0.000 {method 'reduce' of 'numpy.ufunc' objects}
4 0.043 0.011 0.043 0.011 {method 'encode' of 'ImagingEncoder' objects}
108296/75694 0.038 0.000 0.063 0.000 /Users/liuqian/anaconda3/lib/python3.11/site-packages/matplotlib/artist.py:319(stale)
204 0.035 0.000 0.044 0.000 /Users/liuqian/Documents/BFOT/BFOT/BFOT_1D.py:31(ctransform)
11450 0.026 0.000 0.026 0.000 /Users/liuqian/anaconda3/lib/python3.11/site-packages/matplotlib/cbook/__init__.py:839(<listcomp>)
23800/408 0.021 0.000 0.042 0.000 /Users/liuqian/anaconda3/lib/python3.11/copy.py:128(deepcopy)
40119/29091 0.019 0.000 0.157 0.000 {built-in method numpy.core._multiarray_umath.implement_array_function}
70811 0.019 0.000 0.103 0.000 {built-in method builtins.getattr}
53052 0.018 0.000 0.035 0.000 /Users/liuqian/anaconda3/lib/python3.11/site-packages/matplotlib/__init__.py:729(__getitem__)
1248 0.016 0.000 0.140 0.000 /Users/liuqian/anaconda3/lib/python3.11/site-packages/matplotlib/ticker.py:2074(_raw_ticks)
n = 256
def ricker_wavelet(t, a):
return (1 - (t / a)**2) * np.exp(- (t**2) / (2 * a**2))
# Time vector centered at 0
t = np.linspace(-1, 1, n)
t1 = t-0.1
t2 = t+0.1
# displacement example: Ricker wavelet
sigma_1 = 0.2
sigma_2 = 0.2
mu = ricker_wavelet(t1, sigma_1)
nu = ricker_wavelet(t2, sigma_1)
vmin = np.minimum(mu.min(), nu.min())
print(vmin)
mu -= vmin
nu -= vmin
mu *= n / np.sum(mu)
nu *= n / np.sum(nu)
# plot mu
x = np.linspace(0, 1, n)
plt.figure(figsize=(8, 4))
plt.plot(x, mu, color='blue')
plt.title("$\\mu$")
plt.figure(figsize=(8, 4))
plt.plot(x, nu, color='blue')
plt.title("$\\nu$")
n += 4
mu = np.pad(mu, (2,2), mode = "edge")
nu = np.pad(nu, (2,2), mode = "edge")
x = np.linspace(0.5 / n, 1 - 0.5 / n, n)
phi = 0.5 * (x * x)
psi = 0.5 * (x * x)
numIters = 50
sigma = 4 / np.maximum(mu.max(), nu.max())
def main():
bf = BFM(n, mu, nu, phi, psi, sigma, x, numIters)
bf.compute_ot()
plot_interpolation(bf.mu, bf.nu, bf.phi, bf.psi, bf)
if __name__ == "__main__":
profiler = cProfile.Profile()
profiler.enable()
main()
profiler.disable()
stats = pstats.Stats(profiler)
stats.sort_stats('tottime').print_stats(10)
-0.44625329213547255
iter 0, W2 value: 9.921768e-04, H1 err: 6.50e-03
iter 5, W2 value: 1.975164e-03, H1 err: 3.93e-04
iter 10, W2 value: 2.011144e-03, H1 err: 2.07e-05
iter 15, W2 value: 2.011763e-03, H1 err: 1.47e-05
iter 20, W2 value: 2.011941e-03, H1 err: 1.30e-05
iter 25, W2 value: 2.012021e-03, H1 err: 1.22e-05
iter 30, W2 value: 2.012067e-03, H1 err: 1.17e-05
iter 35, W2 value: 2.012093e-03, H1 err: 1.15e-05
iter 40, W2 value: 2.012107e-03, H1 err: 1.14e-05
iter 45, W2 value: 2.012115e-03, H1 err: 1.13e-05
iter 50, W2 value: 2.012119e-03, H1 err: 1.12e-05
2687335 function calls (2588359 primitive calls) in 1.231 seconds
Ordered by: internal time
List reduced from 1486 to 10 due to restriction <10>
ncalls tottime percall cumtime percall filename:lineno(function)
4 0.051 0.013 0.051 0.013 {method 'encode' of 'ImagingEncoder' objects}
108296/75694 0.037 0.000 0.061 0.000 /Users/liuqian/anaconda3/lib/python3.11/site-packages/matplotlib/artist.py:319(stale)
32572 0.033 0.000 0.033 0.000 {method 'reduce' of 'numpy.ufunc' objects}
204 0.032 0.000 0.041 0.000 /Users/liuqian/Documents/BFOT/BFOT/BFOT_1D.py:31(ctransform)
23800/408 0.021 0.000 0.041 0.000 /Users/liuqian/anaconda3/lib/python3.11/copy.py:128(deepcopy)
11450 0.021 0.000 0.021 0.000 /Users/liuqian/anaconda3/lib/python3.11/site-packages/matplotlib/cbook/__init__.py:839(<listcomp>)
53052 0.017 0.000 0.034 0.000 /Users/liuqian/anaconda3/lib/python3.11/site-packages/matplotlib/__init__.py:729(__getitem__)
40119/29091 0.017 0.000 0.135 0.000 {built-in method numpy.core._multiarray_umath.implement_array_function}
1248 0.015 0.000 0.132 0.000 /Users/liuqian/anaconda3/lib/python3.11/site-packages/matplotlib/ticker.py:2074(_raw_ticks)
114891 0.014 0.000 0.014 0.000 /Users/liuqian/anaconda3/lib/python3.11/site-packages/matplotlib/axes/_base.py:845(<genexpr>)
# plot w2 vs. distance
nIter = 50
distance = np.linspace(-0.25, 0.25, nIter)
w2 = np.zeros(nIter)
for i in range(nIter):
# Time vector centered at 0
t = np.linspace(-1, 1, n)
t1 = t-distance[i]
t2 = t+distance[i]
# displacement example: Ricker wavelet
sigma_1 = 0.2
sigma_2 = 0.2
mu = ricker_wavelet(t1, sigma_1)
nu = ricker_wavelet(t2, sigma_1)
vmin = np.minimum(mu.min(), nu.min())
print(vmin)
mu -= vmin
nu -= vmin
mu *= n / np.sum(mu)
nu *= n / np.sum(nu)
bf = BFM(n, mu, nu, phi, psi, sigma, x, numIters)
w2[i] = bf.compute_ot()
if i % 10 == 9:
plot_interpolation(bf.mu, bf.nu, bf.phi, bf.psi, bf)
plt.figure(figsize=(8, 4))
distance *= 2
plt.plot(distance, w2, color='blue')
plt.title("w2 vs distance")
-0.4462600993030624
iter 0, W2 value: 5.015336e-03, H1 err: 4.37e-03
iter 5, W2 value: 5.410921e-03, H1 err: 1.43e-04
iter 10, W2 value: 5.403927e-03, H1 err: 1.33e-04
iter 15, W2 value: 5.450338e-03, H1 err: 2.37e-05
iter 20, W2 value: 5.452636e-03, H1 err: 1.59e-05
iter 25, W2 value: 5.452862e-03, H1 err: 1.42e-05
iter 30, W2 value: 5.452952e-03, H1 err: 1.33e-05
iter 35, W2 value: 5.452997e-03, H1 err: 1.29e-05
iter 40, W2 value: 5.453022e-03, H1 err: 1.26e-05
iter 45, W2 value: 5.453036e-03, H1 err: 1.25e-05
iter 50, W2 value: 5.453044e-03, H1 err: 1.24e-05
-0.44616591108380066
iter 0, W2 value: 4.315224e-03, H1 err: 1.06e-02
iter 5, W2 value: 5.181280e-03, H1 err: 5.44e-04
iter 10, W2 value: 5.280745e-03, H1 err: 8.42e-05
iter 15, W2 value: 5.288392e-03, H1 err: 1.57e-05
iter 20, W2 value: 5.288589e-03, H1 err: 1.37e-05
iter 25, W2 value: 5.288667e-03, H1 err: 1.28e-05
iter 30, W2 value: 5.288710e-03, H1 err: 1.23e-05
iter 35, W2 value: 5.288734e-03, H1 err: 1.21e-05
iter 40, W2 value: 5.288748e-03, H1 err: 1.20e-05
iter 45, W2 value: 5.288756e-03, H1 err: 1.18e-05
iter 50, W2 value: 5.288761e-03, H1 err: 1.18e-05
-0.44625180917750806
iter 0, W2 value: 4.101178e-03, H1 err: 1.07e-02
iter 5, W2 value: 5.005869e-03, H1 err: 5.32e-04
iter 10, W2 value: 5.101976e-03, H1 err: 7.58e-05
iter 15, W2 value: 5.108638e-03, H1 err: 1.63e-05
iter 20, W2 value: 5.108930e-03, H1 err: 1.43e-05
iter 25, W2 value: 5.109027e-03, H1 err: 1.34e-05
iter 30, W2 value: 5.109068e-03, H1 err: 1.30e-05
iter 35, W2 value: 5.109087e-03, H1 err: 1.27e-05
iter 40, W2 value: 5.109097e-03, H1 err: 1.25e-05
iter 45, W2 value: 5.109103e-03, H1 err: 1.25e-05
iter 50, W2 value: 5.109106e-03, H1 err: 1.24e-05
-0.4462577684027355
iter 0, W2 value: 3.861846e-03, H1 err: 1.07e-02
iter 5, W2 value: 4.859450e-03, H1 err: 4.34e-04
iter 10, W2 value: 4.919072e-03, H1 err: 2.47e-05
iter 15, W2 value: 4.920021e-03, H1 err: 1.50e-05
iter 20, W2 value: 4.920191e-03, H1 err: 1.36e-05
iter 25, W2 value: 4.920263e-03, H1 err: 1.29e-05
iter 30, W2 value: 4.920296e-03, H1 err: 1.25e-05
iter 35, W2 value: 4.920313e-03, H1 err: 1.23e-05
iter 40, W2 value: 4.920322e-03, H1 err: 1.21e-05
iter 45, W2 value: 4.920328e-03, H1 err: 1.21e-05
iter 50, W2 value: 4.920331e-03, H1 err: 1.20e-05
-0.4461866859810927
iter 0, W2 value: 3.613554e-03, H1 err: 1.08e-02
iter 5, W2 value: 4.656978e-03, H1 err: 4.72e-04
iter 10, W2 value: 4.720848e-03, H1 err: 2.30e-05
iter 15, W2 value: 4.721519e-03, H1 err: 1.57e-05
iter 20, W2 value: 4.721664e-03, H1 err: 1.42e-05
iter 25, W2 value: 4.721725e-03, H1 err: 1.35e-05
iter 30, W2 value: 4.721755e-03, H1 err: 1.31e-05
iter 35, W2 value: 4.721773e-03, H1 err: 1.29e-05
iter 40, W2 value: 4.721782e-03, H1 err: 1.27e-05
iter 45, W2 value: 4.721788e-03, H1 err: 1.27e-05
iter 50, W2 value: 4.721791e-03, H1 err: 1.26e-05
-0.44624393129573037
iter 0, W2 value: 3.343452e-03, H1 err: 1.09e-02
iter 5, W2 value: 4.451172e-03, H1 err: 4.65e-04
iter 10, W2 value: 4.509768e-03, H1 err: 2.26e-05
iter 15, W2 value: 4.510590e-03, H1 err: 1.50e-05
iter 20, W2 value: 4.510765e-03, H1 err: 1.35e-05
iter 25, W2 value: 4.510833e-03, H1 err: 1.28e-05
iter 30, W2 value: 4.510864e-03, H1 err: 1.24e-05
iter 35, W2 value: 4.510881e-03, H1 err: 1.22e-05
iter 40, W2 value: 4.510889e-03, H1 err: 1.21e-05
iter 45, W2 value: 4.510893e-03, H1 err: 1.20e-05
iter 50, W2 value: 4.510896e-03, H1 err: 1.19e-05
-0.44625290050448413
iter 0, W2 value: 3.051013e-03, H1 err: 1.08e-02
iter 5, W2 value: 4.236793e-03, H1 err: 4.59e-04
iter 10, W2 value: 4.290802e-03, H1 err: 2.19e-05
iter 15, W2 value: 4.291447e-03, H1 err: 1.57e-05
iter 20, W2 value: 4.291608e-03, H1 err: 1.41e-05
iter 25, W2 value: 4.291676e-03, H1 err: 1.34e-05
iter 30, W2 value: 4.291709e-03, H1 err: 1.30e-05
iter 35, W2 value: 4.291726e-03, H1 err: 1.27e-05
iter 40, W2 value: 4.291734e-03, H1 err: 1.26e-05
iter 45, W2 value: 4.291739e-03, H1 err: 1.25e-05
iter 50, W2 value: 4.291742e-03, H1 err: 1.24e-05
-0.4462048694367986
iter 0, W2 value: 2.749740e-03, H1 err: 1.07e-02
iter 5, W2 value: 4.008349e-03, H1 err: 5.04e-04
iter 10, W2 value: 4.063835e-03, H1 err: 2.14e-05
iter 15, W2 value: 4.064649e-03, H1 err: 1.55e-05
iter 20, W2 value: 4.064786e-03, H1 err: 1.39e-05
iter 25, W2 value: 4.064844e-03, H1 err: 1.32e-05
iter 30, W2 value: 4.064870e-03, H1 err: 1.27e-05
iter 35, W2 value: 4.064881e-03, H1 err: 1.25e-05
iter 40, W2 value: 4.064887e-03, H1 err: 1.24e-05
iter 45, W2 value: 4.064891e-03, H1 err: 1.23e-05
iter 50, W2 value: 4.064893e-03, H1 err: 1.22e-05
-0.44623348606973007
iter 0, W2 value: 2.421002e-03, H1 err: 1.07e-02
iter 5, W2 value: 3.771178e-03, H1 err: 5.59e-04
iter 10, W2 value: 3.827674e-03, H1 err: 2.13e-05
iter 15, W2 value: 3.828243e-03, H1 err: 1.58e-05
iter 20, W2 value: 3.828373e-03, H1 err: 1.42e-05
iter 25, W2 value: 3.828426e-03, H1 err: 1.34e-05
iter 30, W2 value: 3.828453e-03, H1 err: 1.30e-05
iter 35, W2 value: 3.828468e-03, H1 err: 1.27e-05
iter 40, W2 value: 3.828477e-03, H1 err: 1.26e-05
iter 45, W2 value: 3.828482e-03, H1 err: 1.25e-05
iter 50, W2 value: 3.828485e-03, H1 err: 1.25e-05
-0.4462455017065871
iter 0, W2 value: 2.067671e-03, H1 err: 1.08e-02
iter 5, W2 value: 3.522023e-03, H1 err: 5.80e-04
iter 10, W2 value: 3.584561e-03, H1 err: 2.16e-05
iter 15, W2 value: 3.585078e-03, H1 err: 1.54e-05
iter 20, W2 value: 3.585185e-03, H1 err: 1.38e-05
iter 25, W2 value: 3.585224e-03, H1 err: 1.31e-05
iter 30, W2 value: 3.585242e-03, H1 err: 1.26e-05
iter 35, W2 value: 3.585252e-03, H1 err: 1.24e-05
iter 40, W2 value: 3.585257e-03, H1 err: 1.23e-05
iter 45, W2 value: 3.585259e-03, H1 err: 1.22e-05
iter 50, W2 value: 3.585260e-03, H1 err: 1.21e-05
-0.446220467459915
iter 0, W2 value: 1.723128e-03, H1 err: 1.07e-02
iter 5, W2 value: 3.267380e-03, H1 err: 6.39e-04
iter 10, W2 value: 3.335906e-03, H1 err: 2.14e-05
iter 15, W2 value: 3.336474e-03, H1 err: 1.57e-05
iter 20, W2 value: 3.336637e-03, H1 err: 1.41e-05
iter 25, W2 value: 3.336707e-03, H1 err: 1.33e-05
iter 30, W2 value: 3.336737e-03, H1 err: 1.29e-05
iter 35, W2 value: 3.336752e-03, H1 err: 1.26e-05
iter 40, W2 value: 3.336760e-03, H1 err: 1.25e-05
iter 45, W2 value: 3.336765e-03, H1 err: 1.24e-05
iter 50, W2 value: 3.336768e-03, H1 err: 1.24e-05
-0.44622046745991506
iter 0, W2 value: 1.386018e-03, H1 err: 1.03e-02
iter 5, W2 value: 3.005755e-03, H1 err: 7.21e-04
iter 10, W2 value: 3.080587e-03, H1 err: 2.18e-05
iter 15, W2 value: 3.081242e-03, H1 err: 1.57e-05
iter 20, W2 value: 3.081398e-03, H1 err: 1.41e-05
iter 25, W2 value: 3.081458e-03, H1 err: 1.33e-05
iter 30, W2 value: 3.081487e-03, H1 err: 1.29e-05
iter 35, W2 value: 3.081502e-03, H1 err: 1.26e-05
iter 40, W2 value: 3.081510e-03, H1 err: 1.25e-05
iter 45, W2 value: 3.081515e-03, H1 err: 1.24e-05
iter 50, W2 value: 3.081518e-03, H1 err: 1.24e-05
-0.44624550170658706
iter 0, W2 value: 1.010935e-03, H1 err: 1.02e-02
iter 5, W2 value: 2.737282e-03, H1 err: 8.04e-04
iter 10, W2 value: 2.821035e-03, H1 err: 2.17e-05
iter 15, W2 value: 2.821698e-03, H1 err: 1.52e-05
iter 20, W2 value: 2.821816e-03, H1 err: 1.35e-05
iter 25, W2 value: 2.821867e-03, H1 err: 1.27e-05
iter 30, W2 value: 2.821888e-03, H1 err: 1.23e-05
iter 35, W2 value: 2.821897e-03, H1 err: 1.21e-05
iter 40, W2 value: 2.821902e-03, H1 err: 1.19e-05
iter 45, W2 value: 2.821905e-03, H1 err: 1.18e-05
iter 50, W2 value: 2.821907e-03, H1 err: 1.18e-05
-0.44623348606973007
iter 0, W2 value: 6.481218e-04, H1 err: 9.93e-03
iter 5, W2 value: 2.464994e-03, H1 err: 8.91e-04
iter 10, W2 value: 2.558733e-03, H1 err: 2.25e-05
iter 15, W2 value: 2.559270e-03, H1 err: 1.56e-05
iter 20, W2 value: 2.559391e-03, H1 err: 1.39e-05
iter 25, W2 value: 2.559442e-03, H1 err: 1.31e-05
iter 30, W2 value: 2.559467e-03, H1 err: 1.26e-05
iter 35, W2 value: 2.559480e-03, H1 err: 1.24e-05
iter 40, W2 value: 2.559487e-03, H1 err: 1.23e-05
iter 45, W2 value: 2.559491e-03, H1 err: 1.22e-05
iter 50, W2 value: 2.559494e-03, H1 err: 1.21e-05
-0.4462048694367986
iter 0, W2 value: 2.916109e-04, H1 err: 9.67e-03
iter 5, W2 value: 2.188995e-03, H1 err: 9.86e-04
iter 10, W2 value: 2.293484e-03, H1 err: 2.26e-05
iter 15, W2 value: 2.294059e-03, H1 err: 1.54e-05
iter 20, W2 value: 2.294174e-03, H1 err: 1.37e-05
iter 25, W2 value: 2.294220e-03, H1 err: 1.29e-05
iter 30, W2 value: 2.294245e-03, H1 err: 1.25e-05
iter 35, W2 value: 2.294260e-03, H1 err: 1.22e-05
iter 40, W2 value: 2.294268e-03, H1 err: 1.21e-05
iter 45, W2 value: 2.294272e-03, H1 err: 1.20e-05
iter 50, W2 value: 2.294274e-03, H1 err: 1.20e-05
-0.4462529005044841
iter 0, W2 value: -5.104416e-05, H1 err: 9.21e-03
iter 5, W2 value: 1.910035e-03, H1 err: 1.09e-03
iter 10, W2 value: 2.027328e-03, H1 err: 2.28e-05
iter 15, W2 value: 2.027849e-03, H1 err: 1.53e-05
iter 20, W2 value: 2.027958e-03, H1 err: 1.35e-05
iter 25, W2 value: 2.028005e-03, H1 err: 1.27e-05
iter 30, W2 value: 2.028029e-03, H1 err: 1.23e-05
iter 35, W2 value: 2.028043e-03, H1 err: 1.20e-05
iter 40, W2 value: 2.028051e-03, H1 err: 1.19e-05
iter 45, W2 value: 2.028055e-03, H1 err: 1.18e-05
iter 50, W2 value: 2.028058e-03, H1 err: 1.17e-05
-0.44624393129573037
iter 0, W2 value: -3.938674e-04, H1 err: 8.92e-03
iter 5, W2 value: 1.679161e-03, H1 err: 8.66e-04
iter 10, W2 value: 1.761814e-03, H1 err: 2.04e-05
iter 15, W2 value: 1.762296e-03, H1 err: 1.48e-05
iter 20, W2 value: 1.762420e-03, H1 err: 1.32e-05
iter 25, W2 value: 1.762470e-03, H1 err: 1.24e-05
iter 30, W2 value: 1.762496e-03, H1 err: 1.20e-05
iter 35, W2 value: 1.762511e-03, H1 err: 1.17e-05
iter 40, W2 value: 1.762519e-03, H1 err: 1.16e-05
iter 45, W2 value: 1.762524e-03, H1 err: 1.15e-05
iter 50, W2 value: 1.762526e-03, H1 err: 1.15e-05
-0.44618668598109273
iter 0, W2 value: -6.891945e-04, H1 err: 8.25e-03
iter 5, W2 value: 1.406818e-03, H1 err: 9.38e-04
iter 10, W2 value: 1.499745e-03, H1 err: 2.07e-05
iter 15, W2 value: 1.500258e-03, H1 err: 1.49e-05
iter 20, W2 value: 1.500343e-03, H1 err: 1.33e-05
iter 25, W2 value: 1.500377e-03, H1 err: 1.25e-05
iter 30, W2 value: 1.500395e-03, H1 err: 1.20e-05
iter 35, W2 value: 1.500404e-03, H1 err: 1.18e-05
iter 40, W2 value: 1.500410e-03, H1 err: 1.17e-05
iter 45, W2 value: 1.500413e-03, H1 err: 1.16e-05
iter 50, W2 value: 1.500414e-03, H1 err: 1.15e-05
-0.44625776840273557
iter 0, W2 value: -9.904672e-04, H1 err: 7.95e-03
iter 5, W2 value: 1.137500e-03, H1 err: 1.01e-03
iter 10, W2 value: 1.240858e-03, H1 err: 2.07e-05
iter 15, W2 value: 1.241251e-03, H1 err: 1.47e-05
iter 20, W2 value: 1.241321e-03, H1 err: 1.30e-05
iter 25, W2 value: 1.241353e-03, H1 err: 1.22e-05
iter 30, W2 value: 1.241364e-03, H1 err: 1.18e-05
iter 35, W2 value: 1.241367e-03, H1 err: 1.16e-05
iter 40, W2 value: 1.241369e-03, H1 err: 1.14e-05
iter 45, W2 value: 1.241370e-03, H1 err: 1.13e-05
iter 50, W2 value: 1.241371e-03, H1 err: 1.13e-05
-0.44625180917750806
iter 0, W2 value: -1.223922e-03, H1 err: 7.10e-03
iter 5, W2 value: 8.778547e-04, H1 err: 1.10e-03
iter 10, W2 value: 9.900206e-04, H1 err: 2.07e-05
iter 15, W2 value: 9.903112e-04, H1 err: 1.46e-05
iter 20, W2 value: 9.903908e-04, H1 err: 1.29e-05
iter 25, W2 value: 9.904194e-04, H1 err: 1.21e-05
iter 30, W2 value: 9.904335e-04, H1 err: 1.17e-05
iter 35, W2 value: 9.904410e-04, H1 err: 1.14e-05
iter 40, W2 value: 9.904450e-04, H1 err: 1.13e-05
iter 45, W2 value: 9.904474e-04, H1 err: 1.12e-05
iter 50, W2 value: 9.904488e-04, H1 err: 1.12e-05
-0.44616591108380077
iter 0, W2 value: -1.415648e-03, H1 err: 6.22e-03
iter 5, W2 value: 6.282266e-04, H1 err: 1.19e-03
iter 10, W2 value: 7.502523e-04, H1 err: 2.09e-05
iter 15, W2 value: 7.505401e-04, H1 err: 1.46e-05
iter 20, W2 value: 7.506113e-04, H1 err: 1.29e-05
iter 25, W2 value: 7.506389e-04, H1 err: 1.21e-05
iter 30, W2 value: 7.506518e-04, H1 err: 1.17e-05
iter 35, W2 value: 7.506591e-04, H1 err: 1.14e-05
iter 40, W2 value: 7.506631e-04, H1 err: 1.13e-05
iter 45, W2 value: 7.506655e-04, H1 err: 1.12e-05
iter 50, W2 value: 7.506669e-04, H1 err: 1.12e-05
-0.4462600993030624
iter 0, W2 value: -1.518186e-03, H1 err: 5.25e-03
iter 5, W2 value: 3.932151e-04, H1 err: 1.24e-03
iter 10, W2 value: 5.247770e-04, H1 err: 2.09e-05
iter 15, W2 value: 5.251862e-04, H1 err: 1.45e-05
iter 20, W2 value: 5.252898e-04, H1 err: 1.28e-05
iter 25, W2 value: 5.253323e-04, H1 err: 1.20e-05
iter 30, W2 value: 5.253542e-04, H1 err: 1.15e-05
iter 35, W2 value: 5.253655e-04, H1 err: 1.13e-05
iter 40, W2 value: 5.253716e-04, H1 err: 1.12e-05
iter 45, W2 value: 5.253751e-04, H1 err: 1.11e-05
iter 50, W2 value: 5.253772e-04, H1 err: 1.10e-05
-0.44625712576466814
iter 0, W2 value: -1.475084e-03, H1 err: 3.88e-03
iter 5, W2 value: 1.781576e-04, H1 err: 1.27e-03
iter 10, W2 value: 3.214276e-04, H1 err: 2.10e-05
iter 15, W2 value: 3.219656e-04, H1 err: 1.45e-05
iter 20, W2 value: 3.220748e-04, H1 err: 1.28e-05
iter 25, W2 value: 3.221002e-04, H1 err: 1.20e-05
iter 30, W2 value: 3.221119e-04, H1 err: 1.15e-05
iter 35, W2 value: 3.221186e-04, H1 err: 1.13e-05
iter 40, W2 value: 3.221217e-04, H1 err: 1.11e-05
iter 45, W2 value: 3.221235e-04, H1 err: 1.10e-05
iter 50, W2 value: 3.221246e-04, H1 err: 1.10e-05
-0.44614253874631077
iter 0, W2 value: -1.095235e-03, H1 err: 1.97e-03
iter 5, W2 value: -1.229024e-06, H1 err: 1.27e-03
iter 10, W2 value: 1.494083e-04, H1 err: 2.15e-05
iter 15, W2 value: 1.501767e-04, H1 err: 1.45e-05
iter 20, W2 value: 1.501933e-04, H1 err: 1.27e-05
iter 25, W2 value: 1.501938e-04, H1 err: 1.19e-05
iter 30, W2 value: 1.501934e-04, H1 err: 1.15e-05
iter 35, W2 value: 1.501927e-04, H1 err: 1.12e-05
iter 40, W2 value: 1.501921e-04, H1 err: 1.11e-05
iter 45, W2 value: 1.501918e-04, H1 err: 1.10e-05
iter 50, W2 value: 1.501916e-04, H1 err: 1.09e-05
-0.4462598871167355
iter 0, W2 value: -3.751445e-04, H1 err: 4.21e-04
iter 5, W2 value: -1.215926e-04, H1 err: 1.25e-03
iter 10, W2 value: 2.514367e-05, H1 err: 2.16e-05
iter 15, W2 value: 2.608397e-05, H1 err: 1.47e-05
iter 20, W2 value: 2.637188e-05, H1 err: 1.29e-05
iter 25, W2 value: 2.647828e-05, H1 err: 1.21e-05
iter 30, W2 value: 2.652759e-05, H1 err: 1.16e-05
iter 35, W2 value: 2.655079e-05, H1 err: 1.14e-05
iter 40, W2 value: 2.656358e-05, H1 err: 1.12e-05
iter 45, W2 value: 2.657099e-05, H1 err: 1.11e-05
iter 50, W2 value: 2.657526e-05, H1 err: 1.11e-05
-0.4462598871167355
iter 0, W2 value: -6.056630e-05, H1 err: 4.23e-05
iter 5, W2 value: -6.590966e-05, H1 err: 6.91e-04
iter 10, W2 value: 2.335874e-05, H1 err: 2.10e-05
iter 15, W2 value: 2.560463e-05, H1 err: 1.44e-05
iter 20, W2 value: 2.622792e-05, H1 err: 1.25e-05
iter 25, W2 value: 2.645750e-05, H1 err: 1.16e-05
iter 30, W2 value: 2.656593e-05, H1 err: 1.12e-05
iter 35, W2 value: 2.661788e-05, H1 err: 1.09e-05
iter 40, W2 value: 2.664572e-05, H1 err: 1.08e-05
iter 45, W2 value: 2.666144e-05, H1 err: 1.07e-05
iter 50, W2 value: 2.667022e-05, H1 err: 1.06e-05
-0.4461425387463107
iter 0, W2 value: -4.874904e-04, H1 err: 8.81e-04
iter 5, W2 value: 9.222221e-05, H1 err: 5.36e-04
iter 10, W2 value: 1.495785e-04, H1 err: 1.93e-05
iter 15, W2 value: 1.499074e-04, H1 err: 1.38e-05
iter 20, W2 value: 1.500172e-04, H1 err: 1.22e-05
iter 25, W2 value: 1.500794e-04, H1 err: 1.13e-05
iter 30, W2 value: 1.501142e-04, H1 err: 1.09e-05
iter 35, W2 value: 1.501349e-04, H1 err: 1.07e-05
iter 40, W2 value: 1.501472e-04, H1 err: 1.05e-05
iter 45, W2 value: 1.501545e-04, H1 err: 1.05e-05
iter 50, W2 value: 1.501588e-04, H1 err: 1.04e-05
-0.4462571257646682
iter 0, W2 value: -1.015506e-03, H1 err: 2.63e-03
iter 5, W2 value: 2.680244e-04, H1 err: 5.46e-04
iter 10, W2 value: 3.213863e-04, H1 err: 1.93e-05
iter 15, W2 value: 3.218369e-04, H1 err: 1.38e-05
iter 20, W2 value: 3.219621e-04, H1 err: 1.21e-05
iter 25, W2 value: 3.220274e-04, H1 err: 1.13e-05
iter 30, W2 value: 3.220653e-04, H1 err: 1.09e-05
iter 35, W2 value: 3.220877e-04, H1 err: 1.06e-05
iter 40, W2 value: 3.221008e-04, H1 err: 1.05e-05
iter 45, W2 value: 3.221087e-04, H1 err: 1.04e-05
iter 50, W2 value: 3.221133e-04, H1 err: 1.04e-05
-0.4462600993030624
iter 0, W2 value: -1.107425e-03, H1 err: 3.93e-03
iter 5, W2 value: 4.763852e-04, H1 err: 5.36e-04
iter 10, W2 value: 5.247662e-04, H1 err: 1.93e-05
iter 15, W2 value: 5.252207e-04, H1 err: 1.38e-05
iter 20, W2 value: 5.252762e-04, H1 err: 1.22e-05
iter 25, W2 value: 5.253152e-04, H1 err: 1.14e-05
iter 30, W2 value: 5.253395e-04, H1 err: 1.10e-05
iter 35, W2 value: 5.253541e-04, H1 err: 1.07e-05
iter 40, W2 value: 5.253631e-04, H1 err: 1.06e-05
iter 45, W2 value: 5.253685e-04, H1 err: 1.05e-05
iter 50, W2 value: 5.253717e-04, H1 err: 1.05e-05
-0.44616591108380077
iter 0, W2 value: -1.037380e-03, H1 err: 4.86e-03
iter 5, W2 value: 7.066675e-04, H1 err: 5.05e-04
iter 10, W2 value: 7.501298e-04, H1 err: 1.90e-05
iter 15, W2 value: 7.504065e-04, H1 err: 1.37e-05
iter 20, W2 value: 7.505151e-04, H1 err: 1.20e-05
iter 25, W2 value: 7.505787e-04, H1 err: 1.12e-05
iter 30, W2 value: 7.506148e-04, H1 err: 1.08e-05
iter 35, W2 value: 7.506365e-04, H1 err: 1.06e-05
iter 40, W2 value: 7.506495e-04, H1 err: 1.04e-05
iter 45, W2 value: 7.506573e-04, H1 err: 1.04e-05
iter 50, W2 value: 7.506620e-04, H1 err: 1.03e-05
-0.4462518091775081
iter 0, W2 value: -8.894946e-04, H1 err: 5.79e-03
iter 5, W2 value: 9.504932e-04, H1 err: 4.76e-04
iter 10, W2 value: 9.897678e-04, H1 err: 1.92e-05
iter 15, W2 value: 9.901321e-04, H1 err: 1.39e-05
iter 20, W2 value: 9.902663e-04, H1 err: 1.23e-05
iter 25, W2 value: 9.903429e-04, H1 err: 1.15e-05
iter 30, W2 value: 9.903865e-04, H1 err: 1.11e-05
iter 35, W2 value: 9.904122e-04, H1 err: 1.08e-05
iter 40, W2 value: 9.904276e-04, H1 err: 1.07e-05
iter 45, W2 value: 9.904367e-04, H1 err: 1.06e-05
iter 50, W2 value: 9.904422e-04, H1 err: 1.06e-05
-0.4462577684027355
iter 0, W2 value: -6.351662e-04, H1 err: 6.23e-03
iter 5, W2 value: 1.206276e-03, H1 err: 4.23e-04
iter 10, W2 value: 1.240574e-03, H1 err: 1.94e-05
iter 15, W2 value: 1.241036e-03, H1 err: 1.41e-05
iter 20, W2 value: 1.241194e-03, H1 err: 1.25e-05
iter 25, W2 value: 1.241275e-03, H1 err: 1.17e-05
iter 30, W2 value: 1.241317e-03, H1 err: 1.13e-05
iter 35, W2 value: 1.241341e-03, H1 err: 1.11e-05
iter 40, W2 value: 1.241355e-03, H1 err: 1.09e-05
iter 45, W2 value: 1.241363e-03, H1 err: 1.08e-05
iter 50, W2 value: 1.241368e-03, H1 err: 1.08e-05
-0.4461866859810927
iter 0, W2 value: -3.837168e-04, H1 err: 6.93e-03
iter 5, W2 value: 1.469075e-03, H1 err: 3.89e-04
iter 10, W2 value: 1.499534e-03, H1 err: 1.94e-05
iter 15, W2 value: 1.500055e-03, H1 err: 1.42e-05
iter 20, W2 value: 1.500225e-03, H1 err: 1.25e-05
iter 25, W2 value: 1.500307e-03, H1 err: 1.18e-05
iter 30, W2 value: 1.500353e-03, H1 err: 1.14e-05
iter 35, W2 value: 1.500379e-03, H1 err: 1.11e-05
iter 40, W2 value: 1.500394e-03, H1 err: 1.10e-05
iter 45, W2 value: 1.500403e-03, H1 err: 1.09e-05
iter 50, W2 value: 1.500408e-03, H1 err: 1.09e-05
-0.44624393129573026
iter 0, W2 value: -5.690838e-05, H1 err: 7.20e-03
iter 5, W2 value: 1.734837e-03, H1 err: 3.54e-04
iter 10, W2 value: 1.761735e-03, H1 err: 1.95e-05
iter 15, W2 value: 1.762222e-03, H1 err: 1.43e-05
iter 20, W2 value: 1.762367e-03, H1 err: 1.27e-05
iter 25, W2 value: 1.762438e-03, H1 err: 1.19e-05
iter 30, W2 value: 1.762477e-03, H1 err: 1.15e-05
iter 35, W2 value: 1.762499e-03, H1 err: 1.13e-05
iter 40, W2 value: 1.762512e-03, H1 err: 1.11e-05
iter 45, W2 value: 1.762520e-03, H1 err: 1.11e-05
iter 50, W2 value: 1.762524e-03, H1 err: 1.10e-05
-0.446252900504484
iter 0, W2 value: 2.459696e-04, H1 err: 7.75e-03
iter 5, W2 value: 1.985413e-03, H1 err: 4.76e-04
iter 10, W2 value: 2.027200e-03, H1 err: 2.02e-05
iter 15, W2 value: 2.027743e-03, H1 err: 1.44e-05
iter 20, W2 value: 2.027878e-03, H1 err: 1.27e-05
iter 25, W2 value: 2.027952e-03, H1 err: 1.19e-05
iter 30, W2 value: 2.027996e-03, H1 err: 1.14e-05
iter 35, W2 value: 2.028023e-03, H1 err: 1.12e-05
iter 40, W2 value: 2.028038e-03, H1 err: 1.11e-05
iter 45, W2 value: 2.028047e-03, H1 err: 1.10e-05
iter 50, W2 value: 2.028052e-03, H1 err: 1.09e-05
-0.4462048694367985
iter 0, W2 value: 6.018393e-04, H1 err: 7.96e-03
iter 5, W2 value: 2.258058e-03, H1 err: 4.15e-04
iter 10, W2 value: 2.293464e-03, H1 err: 2.01e-05
iter 15, W2 value: 2.293918e-03, H1 err: 1.44e-05
iter 20, W2 value: 2.294076e-03, H1 err: 1.27e-05
iter 25, W2 value: 2.294160e-03, H1 err: 1.19e-05
iter 30, W2 value: 2.294209e-03, H1 err: 1.14e-05
iter 35, W2 value: 2.294238e-03, H1 err: 1.12e-05
iter 40, W2 value: 2.294255e-03, H1 err: 1.11e-05
iter 45, W2 value: 2.294265e-03, H1 err: 1.10e-05
iter 50, W2 value: 2.294271e-03, H1 err: 1.09e-05
-0.44623348606973007
iter 0, W2 value: 9.354378e-04, H1 err: 8.42e-03
iter 5, W2 value: 2.527015e-03, H1 err: 3.72e-04
iter 10, W2 value: 2.558544e-03, H1 err: 2.03e-05
iter 15, W2 value: 2.559090e-03, H1 err: 1.47e-05
iter 20, W2 value: 2.559272e-03, H1 err: 1.30e-05
iter 25, W2 value: 2.559371e-03, H1 err: 1.22e-05
iter 30, W2 value: 2.559423e-03, H1 err: 1.18e-05
iter 35, W2 value: 2.559453e-03, H1 err: 1.16e-05
iter 40, W2 value: 2.559471e-03, H1 err: 1.14e-05
iter 45, W2 value: 2.559481e-03, H1 err: 1.13e-05
iter 50, W2 value: 2.559488e-03, H1 err: 1.13e-05
-0.44624550170658706
iter 0, W2 value: 1.302373e-03, H1 err: 8.51e-03
iter 5, W2 value: 2.794061e-03, H1 err: 3.28e-04
iter 10, W2 value: 2.820863e-03, H1 err: 2.05e-05
iter 15, W2 value: 2.821493e-03, H1 err: 1.49e-05
iter 20, W2 value: 2.821682e-03, H1 err: 1.32e-05
iter 25, W2 value: 2.821778e-03, H1 err: 1.24e-05
iter 30, W2 value: 2.821832e-03, H1 err: 1.20e-05
iter 35, W2 value: 2.821862e-03, H1 err: 1.18e-05
iter 40, W2 value: 2.821880e-03, H1 err: 1.16e-05
iter 45, W2 value: 2.821890e-03, H1 err: 1.16e-05
iter 50, W2 value: 2.821896e-03, H1 err: 1.15e-05
-0.44622046745991506
iter 0, W2 value: 1.632576e-03, H1 err: 8.98e-03
iter 5, W2 value: 3.057368e-03, H1 err: 3.10e-04
iter 10, W2 value: 3.080464e-03, H1 err: 2.02e-05
iter 15, W2 value: 3.081115e-03, H1 err: 1.47e-05
iter 20, W2 value: 3.081297e-03, H1 err: 1.30e-05
iter 25, W2 value: 3.081393e-03, H1 err: 1.22e-05
iter 30, W2 value: 3.081446e-03, H1 err: 1.18e-05
iter 35, W2 value: 3.081475e-03, H1 err: 1.16e-05
iter 40, W2 value: 3.081492e-03, H1 err: 1.14e-05
iter 45, W2 value: 3.081502e-03, H1 err: 1.13e-05
iter 50, W2 value: 3.081508e-03, H1 err: 1.13e-05
-0.44622046745991506
iter 0, W2 value: 1.976804e-03, H1 err: 9.06e-03
iter 5, W2 value: 3.313875e-03, H1 err: 2.78e-04
iter 10, W2 value: 3.335867e-03, H1 err: 2.02e-05
iter 15, W2 value: 3.336385e-03, H1 err: 1.50e-05
iter 20, W2 value: 3.336547e-03, H1 err: 1.33e-05
iter 25, W2 value: 3.336639e-03, H1 err: 1.25e-05
iter 30, W2 value: 3.336693e-03, H1 err: 1.20e-05
iter 35, W2 value: 3.336724e-03, H1 err: 1.18e-05
iter 40, W2 value: 3.336743e-03, H1 err: 1.17e-05
iter 45, W2 value: 3.336754e-03, H1 err: 1.16e-05
iter 50, W2 value: 3.336760e-03, H1 err: 1.15e-05
-0.4462455017065871
iter 0, W2 value: 2.313312e-03, H1 err: 9.09e-03
iter 5, W2 value: 3.562950e-03, H1 err: 2.50e-04
iter 10, W2 value: 3.584461e-03, H1 err: 2.06e-05
iter 15, W2 value: 3.584919e-03, H1 err: 1.50e-05
iter 20, W2 value: 3.585080e-03, H1 err: 1.33e-05
iter 25, W2 value: 3.585155e-03, H1 err: 1.25e-05
iter 30, W2 value: 3.585199e-03, H1 err: 1.21e-05
iter 35, W2 value: 3.585224e-03, H1 err: 1.18e-05
iter 40, W2 value: 3.585239e-03, H1 err: 1.17e-05
iter 45, W2 value: 3.585248e-03, H1 err: 1.16e-05
iter 50, W2 value: 3.585253e-03, H1 err: 1.16e-05
-0.44623348606973007
iter 0, W2 value: 2.626685e-03, H1 err: 9.23e-03
iter 5, W2 value: 3.805905e-03, H1 err: 2.39e-04
iter 10, W2 value: 3.827616e-03, H1 err: 2.00e-05
iter 15, W2 value: 3.828069e-03, H1 err: 1.48e-05
iter 20, W2 value: 3.828256e-03, H1 err: 1.32e-05
iter 25, W2 value: 3.828353e-03, H1 err: 1.25e-05
iter 30, W2 value: 3.828410e-03, H1 err: 1.20e-05
iter 35, W2 value: 3.828444e-03, H1 err: 1.18e-05
iter 40, W2 value: 3.828464e-03, H1 err: 1.16e-05
iter 45, W2 value: 3.828474e-03, H1 err: 1.15e-05
iter 50, W2 value: 3.828481e-03, H1 err: 1.15e-05
-0.4462048694367986
iter 0, W2 value: 2.928773e-03, H1 err: 9.55e-03
iter 5, W2 value: 4.037836e-03, H1 err: 2.46e-04
iter 10, W2 value: 4.063626e-03, H1 err: 2.29e-05
iter 15, W2 value: 4.064421e-03, H1 err: 1.54e-05
iter 20, W2 value: 4.064624e-03, H1 err: 1.37e-05
iter 25, W2 value: 4.064737e-03, H1 err: 1.28e-05
iter 30, W2 value: 4.064805e-03, H1 err: 1.24e-05
iter 35, W2 value: 4.064842e-03, H1 err: 1.21e-05
iter 40, W2 value: 4.064864e-03, H1 err: 1.20e-05
iter 45, W2 value: 4.064876e-03, H1 err: 1.19e-05
iter 50, W2 value: 4.064884e-03, H1 err: 1.18e-05
-0.44625290050448413
iter 0, W2 value: 3.205410e-03, H1 err: 9.56e-03
iter 5, W2 value: 4.266636e-03, H1 err: 2.36e-04
iter 10, W2 value: 4.290362e-03, H1 err: 2.32e-05
iter 15, W2 value: 4.291423e-03, H1 err: 1.48e-05
iter 20, W2 value: 4.291562e-03, H1 err: 1.31e-05
iter 25, W2 value: 4.291639e-03, H1 err: 1.23e-05
iter 30, W2 value: 4.291683e-03, H1 err: 1.19e-05
iter 35, W2 value: 4.291709e-03, H1 err: 1.16e-05
iter 40, W2 value: 4.291723e-03, H1 err: 1.15e-05
iter 45, W2 value: 4.291732e-03, H1 err: 1.14e-05
iter 50, W2 value: 4.291737e-03, H1 err: 1.14e-05
-0.44624393129573037
iter 0, W2 value: 3.483761e-03, H1 err: 9.59e-03
iter 5, W2 value: 4.483784e-03, H1 err: 2.22e-04
iter 10, W2 value: 4.509684e-03, H1 err: 2.36e-05
iter 15, W2 value: 4.510475e-03, H1 err: 1.56e-05
iter 20, W2 value: 4.510659e-03, H1 err: 1.39e-05
iter 25, W2 value: 4.510759e-03, H1 err: 1.30e-05
iter 30, W2 value: 4.510817e-03, H1 err: 1.26e-05
iter 35, W2 value: 4.510850e-03, H1 err: 1.23e-05
iter 40, W2 value: 4.510870e-03, H1 err: 1.22e-05
iter 45, W2 value: 4.510882e-03, H1 err: 1.21e-05
iter 50, W2 value: 4.510889e-03, H1 err: 1.20e-05
-0.44618668598109273
iter 0, W2 value: 3.724070e-03, H1 err: 9.59e-03
iter 5, W2 value: 4.687955e-03, H1 err: 2.27e-04
iter 10, W2 value: 4.720092e-03, H1 err: 2.67e-05
iter 15, W2 value: 4.721330e-03, H1 err: 1.49e-05
iter 20, W2 value: 4.721523e-03, H1 err: 1.32e-05
iter 25, W2 value: 4.721640e-03, H1 err: 1.24e-05
iter 30, W2 value: 4.721705e-03, H1 err: 1.20e-05
iter 35, W2 value: 4.721743e-03, H1 err: 1.17e-05
iter 40, W2 value: 4.721764e-03, H1 err: 1.16e-05
iter 45, W2 value: 4.721777e-03, H1 err: 1.15e-05
iter 50, W2 value: 4.721785e-03, H1 err: 1.15e-05
-0.4462577684027355
iter 0, W2 value: 3.963354e-03, H1 err: 9.64e-03
iter 5, W2 value: 4.891020e-03, H1 err: 2.01e-04
iter 10, W2 value: 4.918822e-03, H1 err: 2.53e-05
iter 15, W2 value: 4.919890e-03, H1 err: 1.54e-05
iter 20, W2 value: 4.920082e-03, H1 err: 1.37e-05
iter 25, W2 value: 4.920186e-03, H1 err: 1.29e-05
iter 30, W2 value: 4.920248e-03, H1 err: 1.24e-05
iter 35, W2 value: 4.920283e-03, H1 err: 1.22e-05
iter 40, W2 value: 4.920304e-03, H1 err: 1.21e-05
iter 45, W2 value: 4.920317e-03, H1 err: 1.20e-05
iter 50, W2 value: 4.920324e-03, H1 err: 1.19e-05
-0.44625180917750806
iter 0, W2 value: 4.177870e-03, H1 err: 9.62e-03
iter 5, W2 value: 5.064716e-03, H1 err: 2.53e-04
iter 10, W2 value: 5.105417e-03, H1 err: 4.27e-05
iter 15, W2 value: 5.108697e-03, H1 err: 1.53e-05
iter 20, W2 value: 5.108880e-03, H1 err: 1.33e-05
iter 25, W2 value: 5.108976e-03, H1 err: 1.24e-05
iter 30, W2 value: 5.109030e-03, H1 err: 1.19e-05
iter 35, W2 value: 5.109062e-03, H1 err: 1.17e-05
iter 40, W2 value: 5.109081e-03, H1 err: 1.15e-05
iter 45, W2 value: 5.109092e-03, H1 err: 1.14e-05
iter 50, W2 value: 5.109098e-03, H1 err: 1.14e-05
-0.44616591108380066
iter 0, W2 value: 4.368443e-03, H1 err: 9.60e-03
iter 5, W2 value: 5.250523e-03, H1 err: 2.17e-04
iter 10, W2 value: 5.285015e-03, H1 err: 4.66e-05
iter 15, W2 value: 5.288361e-03, H1 err: 1.58e-05
iter 20, W2 value: 5.288523e-03, H1 err: 1.39e-05
iter 25, W2 value: 5.288619e-03, H1 err: 1.29e-05
iter 30, W2 value: 5.288678e-03, H1 err: 1.24e-05
iter 35, W2 value: 5.288713e-03, H1 err: 1.22e-05
iter 40, W2 value: 5.288734e-03, H1 err: 1.20e-05
iter 45, W2 value: 5.288747e-03, H1 err: 1.19e-05
iter 50, W2 value: 5.288754e-03, H1 err: 1.19e-05
-0.4462600993030624
iter 0, W2 value: 4.551013e-03, H1 err: 9.39e-03
iter 5, W2 value: 5.420135e-03, H1 err: 1.71e-04
iter 10, W2 value: 5.449243e-03, H1 err: 4.01e-05
iter 15, W2 value: 5.452606e-03, H1 err: 1.50e-05
iter 20, W2 value: 5.452793e-03, H1 err: 1.31e-05
iter 25, W2 value: 5.452898e-03, H1 err: 1.22e-05
iter 30, W2 value: 5.452964e-03, H1 err: 1.17e-05
iter 35, W2 value: 5.453002e-03, H1 err: 1.14e-05
iter 40, W2 value: 5.453024e-03, H1 err: 1.13e-05
iter 45, W2 value: 5.453037e-03, H1 err: 1.12e-05
iter 50, W2 value: 5.453045e-03, H1 err: 1.11e-05
Text(0.5, 1.0, 'w2 vs distance')