Я пытаюсь реализовать алгоритм Gillesp ie в python 3.7. У меня есть два массива:
popul_num = np.array([100, 200, 0, 0])
и
LHS = np.array([[1,1,0,0], [0,0,1,0], [0,0,1,0]])
. В первом массиве каждый элемент представляет собой дискретное число молекул для каждого реагента в системе, а во втором массиве каждый ряд представляет реакция, где каждый элемент ряда представляет стехиометрию c коэффициент реагента.
Мне нужно l oop через оба массива и рассчитать биномиальный коэффициент, используя количество дискретных молекул из первого массива и соответствующие стехиометрии реагентов в каждой реакции второго массива. Каждая строка массива LHS должна быть позиционно зависимой от массива popul_num.
Я не получил очень далеко
for i in LHS[0:3]:
for j in popul_num:
aj = binom(j, i)
print(aj)
, но для этого получим:
[100. 100. 1. 1.]
[200. 200. 1. 1.]
[0. 0. 1. 1.]
[0. 0. 1. 1.]
[ 1. 1. 100. 1.]
[ 1. 1. 200. 1.]
[1. 1. 0. 1.]
[1. 1. 0. 1.]
[ 1. 1. 100. 1.]
[ 1. 1. 200. 1.]
[1. 1. 0. 1.]
[1. 1. 0. 1.]
который использует каждый элемент каждой строки в LHS со всеми элементами popul_num. Я хочу просто использовать каждый элемент каждой строки в LHS на возможно соответствующем элементе в popul_num один раз.
любые идеи
извините за длинное приветствие