“Python Matrix skondensowana na plac” Kod odpowiedzi

Python Matrix skondensowana na plac

import math

def calc_row_idx(k, n):
    return int(math.ceil((1/2.) * (- (-8*k + 4 *n**2 -4*n - 7)**0.5 + 2*n -1) - 1))

def elem_in_i_rows(i, n):
    return i * (n - 1 - i) + (i*(i + 1))//2

def calc_col_idx(k, i, n):
    return int(n - elem_in_i_rows(i + 1, n) + k)

def condensed_to_square(k, n):
    i = calc_row_idx(k, n)
    j = calc_col_idx(k, i, n)
    return i, j
Better Butterfly

Python Matrix skondensowana na plac

>>> square_to_condensed(1, 2, len(points))
3
>>> dist_condensed[3]
4.4721359549995796
>>> dist[1,2]
4.4721359549995796
Better Butterfly

Python Matrix skondensowana na plac

def square_to_condensed(i, j, n):
    assert i != j, "no diagonal elements in condensed matrix"
    if i < j:
        i, j = j, i
    return n*j - j*(j+1)//2 + i - 1 - j
Better Butterfly

Odpowiedzi podobne do “Python Matrix skondensowana na plac”

Pytania podobne do “Python Matrix skondensowana na plac”

Więcej pokrewnych odpowiedzi na “Python Matrix skondensowana na plac” w Python

Przeglądaj popularne odpowiedzi na kod według języka

Przeglądaj inne języki kodu