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
../_images/13d8a731248a71044fba960efb63e3b86f3fe216016330ba2dfb52dd291c3f79.png ../_images/b3449664b6ce9634f7767a84ca3022a17a2df09a1a432db59f1377a5a5547c15.png ../_images/92dbc9d5b8b8b66a256d676a8717c754da9aecdc6e1743c272a705b64f08b29f.png
         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
../_images/b17c54f9d34776a2b625b18bb573673a12bf104a86b6e6fab547937701275fef.png ../_images/23a2a846d8741294c09c8bea65fe97d7258e11fc4b49c109c5691aa76cfa7235.png ../_images/293aff1071ce218b0272b158722bfb8e6be020b37ea43ee0cec474b21adbef32.png
         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
../_images/c880bbd10f75cba38d359e35607dea30888b4aaa739612f288ea810a796d6224.png
-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
../_images/5b702bd9df2011411034fdf16e496325a280ea11c6d834f354d6f6fc80ba49d3.png
-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
../_images/1f1c4bdd0b164137d5c156148c02683b5436c1b04ea64193e40ceacb7ba5e5aa.png
-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
../_images/5f8dd3e70729ae3200d631be91f603f693b8dad392b125fbec5cbff00eacebaa.png
-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
../_images/35e2d75f48c06bd3f2d17cce763abceaa558acc652eab4a64cb58d6cbe63a28e.png
Text(0.5, 1.0, 'w2 vs distance')
../_images/3ec8be027dcffb198ab776b3a93b6c32e7595cd699196cf66775ab5a2ab166f9.png