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