MathGroup Archive 1996

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: mathematica 3.0 comments?
  • Next by Date: Re: Integration..Constants
  • Previous by thread: [Q] FindRoot & large system of eqns
  • Next by thread: Re: [Q] FindRoot & large system of eqns