Project Name: OxfordHED+sunbear
Language: Python
Statement Type: API

Source Code:
def forward(source, phi):
    """
    Obtain the target density distribution given the source distribution and
    the mapping potential, phi.
    The mapping from source coordinate, $x$, to the target coordinate, $y$, is
    given by:

    $$
    y = x + \nabla phi(x).
    $$

    The coordinate in i-th dimension is given by `np.arange(source.shape[i])`.

    Parameters
    ----------
    * `source` : numpy.ndarray
        The source density distribution in n-dimensional array.
    * `phi` : numpy.ndarray
        The mapping potential given above. It must have the same shape as
        `source`.

    Returns
    -------
    * numpy.ndarray
        The target density distribution in n-dimensional array.
    """
    # convert to np.ndarray
    source = np.asarray(source)
    phi = np.asarray(phi)
    # check the shapes of inputs
    if source.shape != phi.shape:
        raise ValueError("The source and phi must have the same shape.")

    # calculate the total potential so that $y = \nabla u(x)$
    u0, u, phi_pad = _get_full_potential(phi)
    ndim = np.ndim(phi)

    # calculate the determinant of the hessian
    det_hess_s = det_hess(u)

    # get the displacement in (n x D) format
    x = np.array([grad(u0, axis=i) for i in range(ndim)]).reshape((ndim,-1)).T
    y = np.array([grad(u , axis=i) for i in range(ndim)]).reshape((ndim,-1)).T

    # interpolate the values
    interp = lambda s: griddata(y, s.flatten(), x, "linear").reshape(s.shape)
    target_s = source / det_hess_s
    target = interp(target_s)

    # fill nan values with zeros
    target[np.isnan(target)] = 0.0
    return target

forward(source=array([3.72665317e-06, 6.14389891e-06, 1.00262383e-05, 1.61957424e-05,       2.58959932e-05, 4.09857759e-05, 6.42099934e-05, 9.95728564e-05,       1.52843925e-04, 2.32233182e-04, 3.49276399e-04, 5.19975743e-04,       7.66241736e-04, 1.11767979e-03, 1.61375600e-03, 2.30636063e-03,       3.26276232e-03, 4.56890930e-03, 6.33298575e-03, 8.68907130e-03,       1.18006814e-02, 1.58638899e-02, 2.11096565e-02, 2.78049116e-02,       3.62518979e-02, 4.67852390e-02, 5.97662260e-02, 7.55738747e-02,       9.45924385e-02, 1.17195255e-01, 1.43725065e-01, 1.74471250e-01,       2.09644807e-01, 2.49352209e-01, 2.93569685e-01, 3.42119690e-01,       3.94651546e-01, 4.50628259e-01, 5.09321387e-01, 5.69815527e-01,       6.31023482e-01, 6.91712523e-01, 7.50541364e-01, 8.06106646e-01,       8.56996891e-01, 9.01851159e-01, 9.39419053e-01, 9.68618450e-01,       9.88587205e-01, 9.98725433e-01, 9.98725433e-01, 9.88587205e-01,       9.68618450e-01, 9.39419053e-01, 9.01851159e-01, 8.56996891e-01,       8.06106646e-01, 7.50541364e-01, 6.91712523e-01, 6.31023482e-01,       5.69815527e-01, 5.09321387e-01, 4.50628259e-01, 3.94651546e-01,       3.42119690e-01, 2.93569685e-01, 2.49352209e-01, 2.09644807e-01,       1.74471250e-01, 1.43725065e-01, 1.17195255e-01, 9.45924385e-02,       7.55738747e-02, 5.97662260e-02, 4.67852390e-02, 3.62518979e-02,       2.78049116e-02, 2.11096565e-02, 1.58638899e-02, 1.18006814e-02,       8.68907130e-03, 6.33298575e-03, 4.56890930e-03, 3.26276232e-03,       2.30636063e-03, 1.61375600e-03, 1.11767979e-03, 7.66241736e-04,       5.19975743e-04, 3.49276399e-04, 2.32233182e-04, 1.52843925e-04,       9.95728564e-05, 6.42099934e-05, 4.09857759e-05, 2.58959932e-05,       1.61957424e-05, 1.00262383e-05, 6.14389891e-06, 3.72665317e-06]), phi=array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]))

Selected Statement: x = np.array([grad(u0, axis=i) for i in range(ndim)]).reshape((ndim,-1)).T

Function Input:
source: array([3.72665317e-06, 6.14389891e-06, 1.00262383e-05, 1.61957424e-05,       2.58959932e-05, 4.09857759e-05, 6.42099934e-05, 9.95728564e-05,       1.52843925e-04, 2.32233182e-04, 3.49276399e-04, 5.19975743e-04,       7.66241736e-04, 1.11767979e-03, 1.61375600e-03, 2.30636063e-03,       3.26276232e-03, 4.56890930e-03, 6.33298575e-03, 8.68907130e-03,       1.18006814e-02, 1.58638899e-02, 2.11096565e-02, 2.78049116e-02,       3.62518979e-02, 4.67852390e-02, 5.97662260e-02, 7.55738747e-02,       9.45924385e-02, 1.17195255e-01, 1.43725065e-01, 1.74471250e-01,       2.09644807e-01, 2.49352209e-01, 2.93569685e-01, 3.42119690e-01,       3.94651546e-01, 4.50628259e-01, 5.09321387e-01, 5.69815527e-01,       6.31023482e-01, 6.91712523e-01, 7.50541364e-01, 8.06106646e-01,       8.56996891e-01, 9.01851159e-01, 9.39419053e-01, 9.68618450e-01,       9.88587205e-01, 9.98725433e-01, 9.98725433e-01, 9.88587205e-01,       9.68618450e-01, 9.39419053e-01, 9.01851159e-01, 8.56996891e-01,       8.06106646e-01, 7.50541364e-01, 6.91712523e-01, 6.31023482e-01,       5.69815527e-01, 5.09321387e-01, 4.50628259e-01, 3.94651546e-01,       3.42119690e-01, 2.93569685e-01, 2.49352209e-01, 2.09644807e-01,       1.74471250e-01, 1.43725065e-01, 1.17195255e-01, 9.45924385e-02,       7.55738747e-02, 5.97662260e-02, 4.67852390e-02, 3.62518979e-02,       2.78049116e-02, 2.11096565e-02, 1.58638899e-02, 1.18006814e-02,       8.68907130e-03, 6.33298575e-03, 4.56890930e-03, 3.26276232e-03,       2.30636063e-03, 1.61375600e-03, 1.11767979e-03, 7.66241736e-04,       5.19975743e-04, 3.49276399e-04, 2.32233182e-04, 1.52843925e-04,       9.95728564e-05, 6.42099934e-05, 4.09857759e-05, 2.58959932e-05,       1.61957424e-05, 1.00262383e-05, 6.14389891e-06, 3.72665317e-06])
phi: array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

Variable Values Before Statement:
ndim: 1

Value After Statement Execution: array([[  1.],       [  2.],       [  3.],       [  4.],       [  5.],       [  6.],       [  7.],       [  8.],       [  9.],       [ 10.],       [ 11.],       [ 12.],       [ 13.],       [ 14.],       [ 15.],       [ 16.],       [ 17.],       [ 18.],       [ 19.],       [ 20.],       [ 21.],       [ 22.],       [ 23.],       [ 24.],       [ 25.],       [ 26.],       [ 27.],       [ 28.],       [ 29.],       [ 30.],       [ 31.],       [ 32.],       [ 33.],       [ 34.],       [ 35.],       [ 36.],       [ 37.],       [ 38.],       [ 39.],       [ 40.],       [ 41.],       [ 42.],       [ 43.],       [ 44.],       [ 45.],       [ 46.],       [ 47.],       [ 48.],       [ 49.],       [ 50.],       [ 51.],       [ 52.],       [ 53.],       [ 54.],       [ 55.],       [ 56.],       [ 57.],       [ 58.],       [ 59.],       [ 60.],       [ 61.],       [ 62.],       [ 63.],       [ 64.],       [ 65.],       [ 66.],       [ 67.],       [ 68.],       [ 69.],       [ 70.],       [ 71.],       [ 72.],       [ 73.],       [ 74.],       [ 75.],       [ 76.],       [ 77.],       [ 78.],       [ 79.],       [ 80.],       [ 81.],       [ 82.],       [ 83.],       [ 84.],       [ 85.],       [ 86.],       [ 87.],       [ 88.],       [ 89.],       [ 90.],       [ 91.],       [ 92.],       [ 93.],       [ 94.],       [ 95.],       [ 96.],       [ 97.],       [ 98.],       [ 99.],       [100.]])

Variable States During Runtime (line, value):
source: 1
array([3.72665317e-06, 6.14389891e-06, 1.00262383e-05, 1.61957424e-05,       2.58959932e-05, 4.09857759e-05, 6.42099934e-05, 9.95728564e-05,       1.52843925e-04, 2.32233182e-04, 3.49276399e-04, 5.19975743e-04,       7.66241736e-04, 1.11767979e-03, 1.61375600e-03, 2.30636063e-03,       3.26276232e-03, 4.56890930e-03, 6.33298575e-03, 8.68907130e-03,       1.18006814e-02, 1.58638899e-02, 2.11096565e-02, 2.78049116e-02,       3.62518979e-02, 4.67852390e-02, 5.97662260e-02, 7.55738747e-02,       9.45924385e-02, 1.17195255e-01, 1.43725065e-01, 1.74471250e-01,       2.09644807e-01, 2.49352209e-01, 2.93569685e-01, 3.42119690e-01,       3.94651546e-01, 4.50628259e-01, 5.09321387e-01, 5.69815527e-01,       6.31023482e-01, 6.91712523e-01, 7.50541364e-01, 8.06106646e-01,       8.56996891e-01, 9.01851159e-01, 9.39419053e-01, 9.68618450e-01,       9.88587205e-01, 9.98725433e-01, 9.98725433e-01, 9.88587205e-01,       9.68618450e-01, 9.39419053e-01, 9.01851159e-01, 8.56996891e-01,       8.06106646e-01, 7.50541364e-01, 6.91712523e-01, 6.31023482e-01,       5.69815527e-01, 5.09321387e-01, 4.50628259e-01, 3.94651546e-01,       3.42119690e-01, 2.93569685e-01, 2.49352209e-01, 2.09644807e-01,       1.74471250e-01, 1.43725065e-01, 1.17195255e-01, 9.45924385e-02,       7.55738747e-02, 5.97662260e-02, 4.67852390e-02, 3.62518979e-02,       2.78049116e-02, 2.11096565e-02, 1.58638899e-02, 1.18006814e-02,       8.68907130e-03, 6.33298575e-03, 4.56890930e-03, 3.26276232e-03,       2.30636063e-03, 1.61375600e-03, 1.11767979e-03, 7.66241736e-04,       5.19975743e-04, 3.49276399e-04, 2.32233182e-04, 1.52843925e-04,       9.95728564e-05, 6.42099934e-05, 4.09857759e-05, 2.58959932e-05,       1.61957424e-05, 1.00262383e-05, 6.14389891e-06, 3.72665317e-06])
phi: 1
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
phi_pad: 35
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
u: 35
array([0.0000e+00, 5.0000e-01, 2.0000e+00, 4.5000e+00, 8.0000e+00,       1.2500e+01, 1.8000e+01, 2.4500e+01, 3.2000e+01, 4.0500e+01,       5.0000e+01, 6.0500e+01, 7.2000e+01, 8.4500e+01, 9.8000e+01,       1.1250e+02, 1.2800e+02, 1.4450e+02, 1.6200e+02, 1.8050e+02,       2.0000e+02, 2.2050e+02, 2.4200e+02, 2.6450e+02, 2.8800e+02,       3.1250e+02, 3.3800e+02, 3.6450e+02, 3.9200e+02, 4.2050e+02,       4.5000e+02, 4.8050e+02, 5.1200e+02, 5.4450e+02, 5.7800e+02,       6.1250e+02, 6.4800e+02, 6.8450e+02, 7.2200e+02, 7.6050e+02,       8.0000e+02, 8.4050e+02, 8.8200e+02, 9.2450e+02, 9.6800e+02,       1.0125e+03, 1.0580e+03, 1.1045e+03, 1.1520e+03, 1.2005e+03,       1.2500e+03, 1.3005e+03, 1.3520e+03, 1.4045e+03, 1.4580e+03,       1.5125e+03, 1.5680e+03, 1.6245e+03, 1.6820e+03, 1.7405e+03,       1.8000e+03, 1.8605e+03, 1.9220e+03, 1.9845e+03, 2.0480e+03,       2.1125e+03, 2.1780e+03, 2.2445e+03, 2.3120e+03, 2.3805e+03,       2.4500e+03, 2.5205e+03, 2.5920e+03, 2.6645e+03, 2.7380e+03,       2.8125e+03, 2.8880e+03, 2.9645e+03, 3.0420e+03, 3.1205e+03,       3.2000e+03, 3.2805e+03, 3.3620e+03, 3.4445e+03, 3.5280e+03,       3.6125e+03, 3.6980e+03, 3.7845e+03, 3.8720e+03, 3.9605e+03,       4.0500e+03, 4.1405e+03, 4.2320e+03, 4.3245e+03, 4.4180e+03,       4.5125e+03, 4.6080e+03, 4.7045e+03, 4.8020e+03, 4.9005e+03,       5.0000e+03, 5.1005e+03])
u0: 35
array([0.0000e+00, 5.0000e-01, 2.0000e+00, 4.5000e+00, 8.0000e+00,       1.2500e+01, 1.8000e+01, 2.4500e+01, 3.2000e+01, 4.0500e+01,       5.0000e+01, 6.0500e+01, 7.2000e+01, 8.4500e+01, 9.8000e+01,       1.1250e+02, 1.2800e+02, 1.4450e+02, 1.6200e+02, 1.8050e+02,       2.0000e+02, 2.2050e+02, 2.4200e+02, 2.6450e+02, 2.8800e+02,       3.1250e+02, 3.3800e+02, 3.6450e+02, 3.9200e+02, 4.2050e+02,       4.5000e+02, 4.8050e+02, 5.1200e+02, 5.4450e+02, 5.7800e+02,       6.1250e+02, 6.4800e+02, 6.8450e+02, 7.2200e+02, 7.6050e+02,       8.0000e+02, 8.4050e+02, 8.8200e+02, 9.2450e+02, 9.6800e+02,       1.0125e+03, 1.0580e+03, 1.1045e+03, 1.1520e+03, 1.2005e+03,       1.2500e+03, 1.3005e+03, 1.3520e+03, 1.4045e+03, 1.4580e+03,       1.5125e+03, 1.5680e+03, 1.6245e+03, 1.6820e+03, 1.7405e+03,       1.8000e+03, 1.8605e+03, 1.9220e+03, 1.9845e+03, 2.0480e+03,       2.1125e+03, 2.1780e+03, 2.2445e+03, 2.3120e+03, 2.3805e+03,       2.4500e+03, 2.5205e+03, 2.5920e+03, 2.6645e+03, 2.7380e+03,       2.8125e+03, 2.8880e+03, 2.9645e+03, 3.0420e+03, 3.1205e+03,       3.2000e+03, 3.2805e+03, 3.3620e+03, 3.4445e+03, 3.5280e+03,       3.6125e+03, 3.6980e+03, 3.7845e+03, 3.8720e+03, 3.9605e+03,       4.0500e+03, 4.1405e+03, 4.2320e+03, 4.3245e+03, 4.4180e+03,       4.5125e+03, 4.6080e+03, 4.7045e+03, 4.8020e+03, 4.9005e+03,       5.0000e+03, 5.1005e+03])
ndim: 36
1
det_hess_s: 39
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,       1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,       1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,       1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,       1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,       1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
x: 42
array([[  1.],       [  2.],       [  3.],       [  4.],       [  5.],       [  6.],       [  7.],       [  8.],       [  9.],       [ 10.],       [ 11.],       [ 12.],       [ 13.],       [ 14.],       [ 15.],       [ 16.],       [ 17.],       [ 18.],       [ 19.],       [ 20.],       [ 21.],       [ 22.],       [ 23.],       [ 24.],       [ 25.],       [ 26.],       [ 27.],       [ 28.],       [ 29.],       [ 30.],       [ 31.],       [ 32.],       [ 33.],       [ 34.],       [ 35.],       [ 36.],       [ 37.],       [ 38.],       [ 39.],       [ 40.],       [ 41.],       [ 42.],       [ 43.],       [ 44.],       [ 45.],       [ 46.],       [ 47.],       [ 48.],       [ 49.],       [ 50.],       [ 51.],       [ 52.],       [ 53.],       [ 54.],       [ 55.],       [ 56.],       [ 57.],       [ 58.],       [ 59.],       [ 60.],       [ 61.],       [ 62.],       [ 63.],       [ 64.],       [ 65.],       [ 66.],       [ 67.],       [ 68.],       [ 69.],       [ 70.],       [ 71.],       [ 72.],       [ 73.],       [ 74.],       [ 75.],       [ 76.],       [ 77.],       [ 78.],       [ 79.],       [ 80.],       [ 81.],       [ 82.],       [ 83.],       [ 84.],       [ 85.],       [ 86.],       [ 87.],       [ 88.],       [ 89.],       [ 90.],       [ 91.],       [ 92.],       [ 93.],       [ 94.],       [ 95.],       [ 96.],       [ 97.],       [ 98.],       [ 99.],       [100.]])
y: 43
array([[  1.],       [  2.],       [  3.],       [  4.],       [  5.],       [  6.],       [  7.],       [  8.],       [  9.],       [ 10.],       [ 11.],       [ 12.],       [ 13.],       [ 14.],       [ 15.],       [ 16.],       [ 17.],       [ 18.],       [ 19.],       [ 20.],       [ 21.],       [ 22.],       [ 23.],       [ 24.],       [ 25.],       [ 26.],       [ 27.],       [ 28.],       [ 29.],       [ 30.],       [ 31.],       [ 32.],       [ 33.],       [ 34.],       [ 35.],       [ 36.],       [ 37.],       [ 38.],       [ 39.],       [ 40.],       [ 41.],       [ 42.],       [ 43.],       [ 44.],       [ 45.],       [ 46.],       [ 47.],       [ 48.],       [ 49.],       [ 50.],       [ 51.],       [ 52.],       [ 53.],       [ 54.],       [ 55.],       [ 56.],       [ 57.],       [ 58.],       [ 59.],       [ 60.],       [ 61.],       [ 62.],       [ 63.],       [ 64.],       [ 65.],       [ 66.],       [ 67.],       [ 68.],       [ 69.],       [ 70.],       [ 71.],       [ 72.],       [ 73.],       [ 74.],       [ 75.],       [ 76.],       [ 77.],       [ 78.],       [ 79.],       [ 80.],       [ 81.],       [ 82.],       [ 83.],       [ 84.],       [ 85.],       [ 86.],       [ 87.],       [ 88.],       [ 89.],       [ 90.],       [ 91.],       [ 92.],       [ 93.],       [ 94.],       [ 95.],       [ 96.],       [ 97.],       [ 98.],       [ 99.],       [100.]])
interp: 46
<function forward.<locals>.<lambda> at 0x7fab7f2e3700>
target_s: 47
array([3.72665317e-06, 6.14389891e-06, 1.00262383e-05, 1.61957424e-05,       2.58959932e-05, 4.09857759e-05, 6.42099934e-05, 9.95728564e-05,       1.52843925e-04, 2.32233182e-04, 3.49276399e-04, 5.19975743e-04,       7.66241736e-04, 1.11767979e-03, 1.61375600e-03, 2.30636063e-03,       3.26276232e-03, 4.56890930e-03, 6.33298575e-03, 8.68907130e-03,       1.18006814e-02, 1.58638899e-02, 2.11096565e-02, 2.78049116e-02,       3.62518979e-02, 4.67852390e-02, 5.97662260e-02, 7.55738747e-02,       9.45924385e-02, 1.17195255e-01, 1.43725065e-01, 1.74471250e-01,       2.09644807e-01, 2.49352209e-01, 2.93569685e-01, 3.42119690e-01,       3.94651546e-01, 4.50628259e-01, 5.09321387e-01, 5.69815527e-01,       6.31023482e-01, 6.91712523e-01, 7.50541364e-01, 8.06106646e-01,       8.56996891e-01, 9.01851159e-01, 9.39419053e-01, 9.68618450e-01,       9.88587205e-01, 9.98725433e-01, 9.98725433e-01, 9.88587205e-01,       9.68618450e-01, 9.39419053e-01, 9.01851159e-01, 8.56996891e-01,       8.06106646e-01, 7.50541364e-01, 6.91712523e-01, 6.31023482e-01,       5.69815527e-01, 5.09321387e-01, 4.50628259e-01, 3.94651546e-01,       3.42119690e-01, 2.93569685e-01, 2.49352209e-01, 2.09644807e-01,       1.74471250e-01, 1.43725065e-01, 1.17195255e-01, 9.45924385e-02,       7.55738747e-02, 5.97662260e-02, 4.67852390e-02, 3.62518979e-02,       2.78049116e-02, 2.11096565e-02, 1.58638899e-02, 1.18006814e-02,       8.68907130e-03, 6.33298575e-03, 4.56890930e-03, 3.26276232e-03,       2.30636063e-03, 1.61375600e-03, 1.11767979e-03, 7.66241736e-04,       5.19975743e-04, 3.49276399e-04, 2.32233182e-04, 1.52843925e-04,       9.95728564e-05, 6.42099934e-05, 4.09857759e-05, 2.58959932e-05,       1.61957424e-05, 1.00262383e-05, 6.14389891e-06, 3.72665317e-06])
target: 48
array([3.72665317e-06, 6.14389891e-06, 1.00262383e-05, 1.61957424e-05,       2.58959932e-05, 4.09857759e-05, 6.42099934e-05, 9.95728564e-05,       1.52843925e-04, 2.32233182e-04, 3.49276399e-04, 5.19975743e-04,       7.66241736e-04, 1.11767979e-03, 1.61375600e-03, 2.30636063e-03,       3.26276232e-03, 4.56890930e-03, 6.33298575e-03, 8.68907130e-03,       1.18006814e-02, 1.58638899e-02, 2.11096565e-02, 2.78049116e-02,       3.62518979e-02, 4.67852390e-02, 5.97662260e-02, 7.55738747e-02,       9.45924385e-02, 1.17195255e-01, 1.43725065e-01, 1.74471250e-01,       2.09644807e-01, 2.49352209e-01, 2.93569685e-01, 3.42119690e-01,       3.94651546e-01, 4.50628259e-01, 5.09321387e-01, 5.69815527e-01,       6.31023482e-01, 6.91712523e-01, 7.50541364e-01, 8.06106646e-01,       8.56996891e-01, 9.01851159e-01, 9.39419053e-01, 9.68618450e-01,       9.88587205e-01, 9.98725433e-01, 9.98725433e-01, 9.88587205e-01,       9.68618450e-01, 9.39419053e-01, 9.01851159e-01, 8.56996891e-01,       8.06106646e-01, 7.50541364e-01, 6.91712523e-01, 6.31023482e-01,       5.69815527e-01, 5.09321387e-01, 4.50628259e-01, 3.94651546e-01,       3.42119690e-01, 2.93569685e-01, 2.49352209e-01, 2.09644807e-01,       1.74471250e-01, 1.43725065e-01, 1.17195255e-01, 9.45924385e-02,       7.55738747e-02, 5.97662260e-02, 4.67852390e-02, 3.62518979e-02,       2.78049116e-02, 2.11096565e-02, 1.58638899e-02, 1.18006814e-02,       8.68907130e-03, 6.33298575e-03, 4.56890930e-03, 3.26276232e-03,       2.30636063e-03, 1.61375600e-03, 1.11767979e-03, 7.66241736e-04,       5.19975743e-04, 3.49276399e-04, 2.32233182e-04, 1.52843925e-04,       9.95728564e-05, 6.42099934e-05, 4.09857759e-05, 2.58959932e-05,       1.61957424e-05, 1.00262383e-05, 6.14389891e-06, 3.72665317e-06])