Нахождение корней нескольких функций параллельно с взаимным вызовом функции

#python #root #scipy-optimize

Вопрос:

Предположим, что у меня есть многомерная функция :

 def func(x1,x2):
  return f1(x1),f2(x2)

 

Мне нужно найти корни скалярных одномерных функций между границами f1 и f2 . Я хочу объединить вызовы func , так как стоимость их вызовов такая же, как и стоимость каждой подфункции.

Я подумал о том, чтобы выполнить многомерный поиск корней в ограниченной области

 def func2(x1,x2):
  y1,y2=func(x1,x2)
  return pow(y1,2)  pow(y2,2)

 

Но я думаю, что должно существовать лучшее решение, поскольку моя функция является векторной или одномерной функцией. Есть ли способ взаимозаменять вызовы подобной функции в подходе к решению 1d, таком как brentq от scipy ?