我正在尝试实现用于在 Julia 上查找多项式的多个根的 紧缩方法。在紧缩方法中,新函数是由实际函数除以 生成的x - x_roots[i],并且必须找到新生成函数的根。但是g(x) = g(x) / (x - x_root) 给了我一个堆栈溢出错误,因为它可能产生了无限递归关系。如何在每个步骤中生成一个新函数?
function deflation(f::Function, order)
roots=[]
n=1
g(x)=f(x)
x_root=Muller_method(f,-5,0,5,1e-5,50)
while n<=order
x_root=Muller_method(a,-5,0,5,1e-5,50)
g(x)=g(x)/(x-x_root)
append!(roots,x_root)
n=n+1
end
return (roots)
Run Code Online (Sandbox Code Playgroud)