Source code for hybparsimony.lhs.util.bclib

# -*- coding: utf-8 -*-

import numpy as np

# Ya estaría implementadas

[docs]def findorder_zero(v): # create a vector of pairs to hold the value and the integer rank p = np.empty(v.shape, dtype=object) for i, vi in enumerate(v): p[i] = (vi, i) p = np.array(list(sorted(p, key=lambda a: a[0]))) return np.array(list(map(lambda x: x[1], p)))
[docs]def findorder(v): order = findorder_zero(v) for i in range(len(order)): order[i] += 1 return order
[docs]def inner_product(a, b, init=0, op1=lambda a, b: a + b, op2=lambda a, b: a * b): for x, y in zip(a, b): init = op1(init, op2(x, y)) return init