Я решаю большие системы уравнений, но имею доступ к матрице jacobian.Передача дополнительных аргументов якобиану в scipy.optimize.root
Я решил использовать scipy.optimize.root (открыт для других предложений), где я могу передать якобиан в качестве дополнительного вызываемого. Единственная проблема заключается в том, что мой якобиан содержит дополнительные константы, например.
В этом примере у, г должна быть решена, и к является постоянной
import scipy.optimize
def fun(x, k):
[y, z]= x
return [k*y**2 + z**2 - 25, k*z*y ]
def jacobian(x, k):
[y, z] = x
j = [[2*k*y, 2*z],
[ k*z, k*y]]
return j
solution = scipy.optimize.root(fun, [x1, x2], jaco=(jacobian, value_for_k))
вы можете ввести k, используя 'functools.partial'. https://docs.python.org/3/library/functools.html#functools.partial – cel