def test_sum(): X = np.array([[1, 5], [17, 9], [23, 5]]) right_sum_1 = np.array([7, 9]) right_sum_2 = np.array([4, 24, 18]) assert_equal(right_sum_1, gf.sum(X, axis=0)) assert_equal(right_sum_2, gf.sum(X, axis=1))
def test_linsolve_random(self): while True: pm = gf.gen_pow_matrix(92127) pm_len = len(pm) n = 50 A = np.array( [[pm[random.randint(0, pm_len - 1), 1] for _ in range(n)] for _ in range(n)]) b = np.array( [pm[random.randint(0, pm_len - 1), 1] for _ in range(n)]) solution = gf.linsolve(A, b, pm) if not (solution is np.nan): subst = [ gf.sum( gf.prod(A[i].reshape(A[i].size, 1), solution.reshape(solution.size, 1), pm))[0][0] for i in range(n) ] assert_array_equal(subst, b) break