Ejemplo n.º 1
0
def adjust(G, X, Y, pos, hci, alpha, selection, tmp):
    vector = G[pos]
    # vector = vector + alpha * (vector - sel)
    ufunc.subtract(vector, selection, out=tmp)
    ufunc.multiply(tmp, alpha, out=tmp)
    ufunc.add(vector, tmp, out=vector)
    G[pos] = vector
Ejemplo n.º 2
0
def adjust(G, X, Y, pos, hci, alpha, selection, tmp):
    vector = G[pos]
    # vector = vector + alpha * (vector - sel)
    ufunc.subtract(vector, selection, out=tmp)
    ufunc.multiply(tmp, alpha, out=tmp)
    ufunc.add(vector, tmp, out=vector)
    G[pos] = vector
Ejemplo n.º 3
0
def bmu(grid, x, y, sel, tmp):
    """ Entry in the grid that has the smallest euclidean distance. """
    min_pos = 0
    min_dist = float(10000)
    for i in range(x*y):
        entry = grid[i]
        ufunc.subtract(sel, entry, out=tmp)
        # euclidean dist
        ufunc.multiply(tmp, tmp, out=tmp)
        d = ufunc.sqrt(tmp.sum())
        if d < min_dist:
            min_dist = d
            min_pos = i
    return min_pos
Ejemplo n.º 4
0
def bmu(grid, x, y, sel, tmp):
    """ Entry in the grid that has the smallest euclidean distance. """
    min_pos = 0
    min_dist = float(10000)
    for i in range(x * y):
        entry = grid[i]
        ufunc.subtract(sel, entry, out=tmp)
        # euclidean dist
        ufunc.multiply(tmp, tmp, out=tmp)
        d = ufunc.sqrt(tmp.sum())
        if d < min_dist:
            min_dist = d
            min_pos = i
    return min_pos