Article View: sci.math.num-analysis
Article #979Re: Nonlinear systems of equations
From: Pierre Asselin
Date: Sat, 19 Dec 1992 18:55
Date: Sat, 19 Dec 1992 18:55
47 lines
2761 bytes
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!paReferences:
<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