🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: sci.math.num-analysis
Article #979

Re: Nonlinear systems of equations

#979
From: Pierre Asselin
Date: Sat, 19 Dec 1992 18:55
47 lines
2761 bytes
In <92Dec17.174419.27750@acs.ucalgary.ca>
	mgh@hobbes.phys.ucalgary.ca (Mike Henderson) writes:

>I am trying to solve a set of 8 nonlinear equations in 8 unknowns.
>I have tried the Newton-Raphson technique given in NR (I know
>roughly what the solution should be) but havent had much luck. Are
>there any more robust methods to choose from?

In <1992Dec17.173036@roper.mc.ti.com>
	a722756@roper.mc.ti.com (W. Donald Rolph) writes:

>It depends on how you are failing, and the nature of the nonlinearity.
>If the solution is continuous in slope,  you might explore using full
>newton-raphson with line search.  The line search provides a dynamically
>computed over/under acceleration factor which can sometimes stablize
>certain problems, and can sometimes speed up the rate of convergence.

I agree with Don, although I am not entirely sure how to proceed in the
general case.  You need a way to detect divergence and, if you see it, a
way to step on the brakes.  A line search works nicely if you can decide
on 1) what you are searching for, and 2) what triggers an alarm.  The
two can be the same.

In my own work, the nonlinear equations arise from the minimization of a
nonquadratic finite-element functional.  This means that the Hessian
matrix is symmetric, and ultimately positive-definite.  Positive-
definite matrices are sooo easy :)

I guard-band the Newton step with a line search for a minimum, with
initial step length 1.0.  I actually look for a zero in the directional
derivative, but I do make sure that the cost function never increases.
The result is absolutely bullet-proof.  It's reasonably fast, too.  The
trickiest problem I've done is the magnetostatics of a transformer
with a hard-saturating core.  The solver has several hiccups, but it
zeroes in on the answer just the same.

A generalization of what works for me would be to search for
(NL residual).(search direction)=0.  Then again, I have it easy.  I know
that my line search need only look forward, and I know that if I go far
enough I will pick up a sign change and bracket a zero.  If your problem
is not a minimization, or if your equations are not even self-adjoint,
various pathological things can happen.  And if your system of equations
has no solution, no amount of armor-plating will give you one!
-- 

--Pierre Asselin, Santa Barbara, California
  pa@verano.sba.ca.us
Technical Details
Message-ID: <1210@verano.sba.ca.us>
Path: arc1-ca.pugleaf.net!sparky!uunet!psinntp!curly.appmag.com!verano!pa
References: <92Dec17.174419.27750@acs.ucalgary.ca>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!psinntp!curly.appmag.com!verano!pa
From: pa@verano.sba.ca.us (Pierre Asselin)
Newsgroups: sci.math.num-analysis
Subject: Re: Nonlinear systems of equations
Message-ID: <1210@verano.sba.ca.us>
Date: 19 Dec 92 18:55:21 GMT
References: <92Dec17.174419.27750@acs.ucalgary.ca>
Organization: None.  Santa Barbara, CA
Lines: 47