Trailing-Edge
-
PDP-10 Archives
-
decus_20tap2_198111
-
decus/20-0026/drtmi.doc
There are 2 other files named drtmi.doc in the archive. Click here to see a list.
SUBROUTINE DRTMI
PURPOSE
TO SOLVE GENERAL NONLINEAR EQUATIONS OF THE FORM FCT(X)=0
BY MEANS OF MUELLER-S ITERATION METHOD.
USAGE
CALL DRTMI (X,F,FCT,XLI,XRI,EPS,IEND,IER)
PARAMETER FCT REQUIRES AN EXTERNAL STATEMENT.
DESCRIPTION OF PARAMETERS
X - DOUBLE PRECISION RESULTANT ROOT OF EQUATION
FCT(X)=0.
F - DOUBLE PRECISION RESULTANT FUNCTION VALUE
AT ROOT X.
FCT - NAME OF THE EXTERNAL DOUBLE PRECISION FUNCTION
SUBPROGRAM USED.
XLI - DOUBLE PRECISION INPUT VALUE WHICH SPECIFIES THE
INITIAL LEFT BOUND OF THE ROOT X.
XRI - DOUBLE PRECISION INPUT VALUE WHICH SPECIFIES THE
INITIAL RIGHT BOUND OF THE ROOT X.
EPS - SINGLE PRECISION INPUT VALUE WHICH SPECIFIES THE
UPPER BOUND OF THE ERROR OF RESULT X.
IEND - MAXIMUM NUMBER OF ITERATION STEPS SPECIFIED.
IER - RESULTANT ERROR PARAMETER CODED AS FOLLOWS
IER=0 - NO ERROR,
IER=1 - NO CONVERGENCE AFTER IEND ITERATION STEPS
FOLLOWED BY IEND SUCCESSIVE STEPS OF
BISECTION,
IER=2 - BASIC ASSUMPTION FCT(XLI)*FCT(XRI) LESS
THAN OR EQUAL TO ZERO IS NOT SATISFIED.
REMARKS
THE PROCEDURE ASSUMES THAT FUNCTION VALUES AT INITIAL
BOUNDS XLI AND XRI HAVE NOT THE SAME SIGN. IF THIS BASIC
ASSUMPTION IS NOT SATISFIED BY INPUT VALUES XLI AND XRI, THE
PROCEDURE IS BYPASSED AND GIVES THE ERROR MESSAGE IER=2.
SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
THE EXTERNAL DOUBLE PRECISION FUNCTION SUBPROGRAM FCT(X)
MUST BE FURNISHED BY THE USER.
METHOD
SOLUTION OF EQUATION FCT(X)=0 IS DONE BY MEANS OF MUELLER-S
ITERATION METHOD OF SUCCESSIVE BISECTIONS AND INVERSE
PARABOLIC INTERPOLATION, WHICH STARTS AT THE INITIAL BOUNDS
XLI AND XRI. CONVERGENCE IS QUADRATIC IF THE DERIVATIVE OF
FCT(X) AT ROOT X IS NOT EQUAL TO ZERO. ONE ITERATION STEP
REQUIRES TWO EVALUATIONS OF FCT(X). FOR TEST ON SATISFACTORY
ACCURACY SEE FORMULAE (3,4) OF MATHEMATICAL DESCRIPTION.
FOR REFERENCE, SEE G. K. KRISTIANSEN, ZERO OF ARBITRARY
FUNCTION, BIT, VOL. 3 (1963), PP.205-206.