Re: [Q] FindRoot & large system of eqns
- To: mathgroup at smc.vnet.net
- Subject: [mg5100] Re: [mg5070] [Q] FindRoot & large system of eqns
- From: "Paul R. Wellin" <wellin>
- Date: Wed, 30 Oct 1996 22:03:50 -0500
- Sender: owner-wri-mathgroup at wolfram.com
In my previous response to the post about FindRoot, I left out a modifier ("typically") that makes for an inaccurate statement. That last paragraph should have read: > FindRoot is typically used for searching for a numerical solution to a single > equation. It uses a variant of Newton's method and hence requires some > initial guesses to get it started. It will use a secant method > if you provide two initial guesses. The reason that I suggested other methods is that there is great difficulty finding solutions for large systems with Newton's method if you don't really know where to start; that is, if you cannot start with decent initial guesses. If you are just taking wild guesses for the initial values for such a system (16 unknowns in your case), you will almost certainly fail. This is what you might see: In[12]:= FindRoot[{x^2-3y==z, 2y^2-3x-z^2==1, x+y-z^2==3}, {x,1.0}, {y,-2.0}, {z,4.0}] FindRoot::"cvnwt": "Newton's method failed to converge to the prescribed accuracy after 15 iterations." Out[12]= {x -> 0.32227,y -> -0.686455,z -> 2.14173} If, on the other hand, you are able to do some analysis and come up with good starting values, then FindRoot should server you quite well. Paul Wellin