如何在Python中找到两个隐式函数的根,而不必对方程组使用fsolve

如何在Python中找到两个隐式函数的根,而不必对方程组使用fsolve,python,root,Python,Root,我处理的是一组非线性方程,我可以通过分析将其简化为一组两变量的隐式方程。现在我想用布伦特的方法找到这些方程的根。我想将一个函数作为参数传递给另一个函数,并根据每个变量1求解变量2的方程 用数学术语,我想用这种方法解:f(x,y)和g(x,y) 这里可以给出我希望做的简单示例 而不是: import scipy.optimize from scipy.optimize import fsolve def equations(p): y,z = p f1 = -10*z

我处理的是一组非线性方程,我可以通过分析将其简化为一组两变量的隐式方程。现在我想用布伦特的方法找到这些方程的根。我想将一个函数作为参数传递给另一个函数,并根据每个变量1求解变量2的方程

用数学术语,我想用这种方法解:f(x,y)和g(x,y)

这里可以给出我希望做的简单示例

而不是:

import scipy.optimize
from scipy.optimize import fsolve  

def equations(p): 
     y,z = p 
     f1 = -10*z + 4*y*z - 5*y + 4*z**2 - 7 
     f2 = 2*y*z + 5*y - 3 
     return (f1,f2)
并通过以下方式解决:

y、 z=F解(方程[0,19])

我想这样写:

def func2(x, y):
    f2= 2*y*x + 5*y - 3
    return brentq(f2, -5, 5) 
def func(x,y):  
    y = func2(x,y)
    return -10*x + 4*x*y - 5*y + 4*x**2 - 7

sol, = brentq(lambda x: func(x, func2), -5, 5)
我想寻求帮助,了解如何将函数作为参数传递给此特定目的,并解释我做错了什么。我是Python新手,也许有更好的方法来确保问题的精确解决