Я создал следующий код для решения системы уравнений:
def vector(variables):
alpha = 0.5
p_1 = 1
c_1, c_2, y_1, y_2, l_1, l_2, w, p_2 = variables
return(
c_1 - w*(1-alpha)/p_1,
c_2 - (w*alpha/p_2),
y_1 - l_1,
y_2 - l_2,
y_1 - c_1,
y_2 - c_2,
l_1 + l_2 - 1,
w - p_1)
starting = 8 * [1]
sol = root(vector, starting, method='krylov')
print(sol)
Рассмотрим вышеупомянутую систему как определение равновесия в местоположении 1. Я также хочу решить аналогичную систему для местоположений 2, .. ., 20. Теперь, учитывая, что вышеупомянутая система имеет 8 уравнений, и я хочу решить для 20 местоположений, это означает 20 * 8 (160) уравнений.
Я не хочу, чтобы эти системы были отделены друг от друга, а скорее частью одна система (поскольку мне нужно создать взаимозависимости между местоположениями позже).
Одно решение - вручную ввести остальные 19 местоположений в систему выше. Но это очень неэффективно, особенно если я хочу добавить еще больше мест позже.
Есть ли способ ввести указанные выше переменные в систему, чтобы каждое приведенное выше уравнение эффективно представляло 20 уравнений (по 1 на каждое местоположение)