11.07.2015 Views

The Secant method for simultaneous nonlinear equations

The Secant method for simultaneous nonlinear equations

The Secant method for simultaneous nonlinear equations

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>The</strong> <strong>Secant</strong> Method <strong>for</strong> SimultaneousEquationsNonlinearl'mL[V WOI, FE, <strong>The</strong> RAND Corporation, Santa Mo~ffca, Cali<strong>for</strong>niaAbstract. A procedure <strong>for</strong> the <strong>simultaneous</strong> sohition of a sys{)emof not-necessarily-linear <strong>equations</strong>, t~ generalization of the secanl,<strong>method</strong> <strong>for</strong> a single function of one w~ri~fi)le, is given.1. <strong>Secant</strong> Method <strong>for</strong> n EquationsThis note is concerned with a eomputationM procedure<strong>for</strong> the solution of the <strong>simultaneous</strong> <strong>equations</strong>(1) f~(x) = 0, i = 1, .-. ,n,where x = (x~ , ... , x,) ~ I/:,, and each fi is a computablefunction of x. (For the later theoretical discussion of theprocedure, the f~ will be supposed to have second derivatives,but no derivatives are calculated.)<strong>The</strong> procedure consists in the iteration of the followingstep, at the beginning of which it is assumed thai; then + 1 "trial solutions" x ~, ... , x '~ ~1 are at hand.Find rrt, ... , rr~,+l such that(2)and(3)let(4)i~+ltr~+t~r:= 1j=lrr:fi(x j) = 0 <strong>for</strong>i = 1, -'' ,rt;n + 1-~ E ~r J x j,j~l~and obtain a new set of trial solutions by replacing, with2, some x i <strong>for</strong> which ]! S I! is maximal, where(,5) /I :~, II -- E If.i(:r) I ~.Note that <strong>for</strong> the case n = 1 the abow; is just the ordinarysecant <strong>method</strong> <strong>for</strong> finding the root of a single functionf by finding that point on the line through two trim points(x t, f(x ~) ), (x 2, .f(x ~) ) on the graph of f which lies on thex-axis. Note also that in case the f~ are all linear, 2 is immediatelythe solution. Finally, note that the choice ofnorm I] x !I in (5) was pretty arbitrary; it is not knownwhether other norms would be more effective.2. Convergence of the MethodIn the <strong>for</strong>mulas below, let z t)e the solution of the system(1); let Gi be the vector of first partial deriv~ttives ~ of flwith respect to x~, • •. , x~, ; let 2Q~ be the matrix of secondpartial derivatives ~ of f~ ; arid let ~ denote equality to~Atx = z.within terms of second order of the quantities (S -- z).Using (2) liberally,L(2) ~ c,~(, " ~ - z) + (:e - z)Q/~ - z)= ~2, wG


which is to replace the jth eohunn of A, where x 5 is thetrial solution dropped in this iteration. <strong>The</strong> new inverse is~'al< ulated from the old by pivoting:~mdCalculate q = A,-~p. <strong>The</strong>n:t. Computational(A*-'),a: -= (A--~) ~:/qj(A.-*),~. = (A-*),~ - (.4.),.~.. -* (q,/qk)Experience<strong>for</strong> all/%<strong>for</strong> %j,all k.A FOgTRAN II program has been written <strong>for</strong> trying outthis procedure. Its input consists of n, a set of trial solutionsor a signal that such a set should be generated, andprograms which eMeulate the f,. A variety of problemswith n = 2 have been solved. <strong>The</strong> process has converged<strong>for</strong> these in a manner like that which Jeeves [1] has shown<strong>for</strong> the ease rt = 1, namely that the error at a given step isproportional to the product of the errors at the two previotissteps--convergence of order ½(,v/5 + 1).SAMPLE:_ n = -,'2 fl(x, y) = :r9 + :t: -- y2 @ 1,.f2(x, y) = y(1 -- 2x) (the real and imaginary parts ofz2+z+ 1).InitiMPointsNormxy(1 --0.600000 1.100000 0.370000t2 --0.300(N0 1.10(NO0 1.518400--0.600000 1.400000 0.2509004 --0.516058 0.923358 0.0113515 --0.503347 0.870741 0.0001016 --0.500884 0.866819 0.423 X 10 -~7 --0.499988 0.865996 0.306 X 10 -s8 --0.500000 0.866025 0.105 X 10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!