A FORTRAN program is presented which solves a system of nonlinear simultaneous equations using the continuous analog of Newton's method (CANM). The user has the option of either to provide a subroutine which calculates the Jacobian matrix or allow the program to calculate it by a forward-difference approximation. Five iterative schemes using different algorithms of determining adaptive step size of the CANM process are implemented in the program.Title of program: CANMCatalogue number: ADSNProgram summary URL: http://cpc.cs.qub.ac.uk/summaries/ADSNProgram available from: CPC Program Library, Queen's University of Belfast, Northern IrelandLicensing provisions: noneComputer for which the program is designed and others on which it has been tested:Computers: IBM RS/6000 Model 320H, SGI Origin2000, SGI Octane, HP 9000/755, Intel Pentium IV PCInstallation: Department of Chemistry, University of Toronto, Toronto, CanadaOperating systems under which the program has been tested: IRIX64 6.1, 6.4 and 6.5, AIX 3.4, HP-UX 9.01, Linux 2.4.7Programming language used: FORTRAN 90Memory required to execute with typical data: depends on the number of nonlinear equations in a system. Test run requires 80 KBNo. of bits in distributed program including test data, etc.: 15283Distribution format: tar gz formatNo. of lines in distributed program, including test data, etc.: 1794Peripherals used: line printer, scratch disc storeExternal subprograms used: DGECO and DGESL [1]Keywords: nonlinear equations, Newton's method, continuous analog of Newton's method, continuous parameter, evolutionary differential equation, Euler's methodNature of physical problem: System of nonlinear simultaneous equations is numerically solved. It can be written in vector form as where F:Rn→Rn is a twice continuously differentiable function with domain and range in n-dimensional Euclidean space. The solutions of such systems of equations are often the last step in the solution of practical problems arising in physics and engineering. The purpose of this paper is to present the iterative procedure for finding zeroes of a system of n nonlinear equations in n variables using the continuous analog of Newton's method (CANM).Method of solution: A system of n nonlinear simultaneous equations is solved by the iterative CANM procedure [2–4]. In this approach, the solution of a system F(X)=0 is reduced to a solution of evolutionary differential equation ddtF(X(t))=−F(X(t)),X(0)=X0, with respect to an additional continuous parameter t, 0⩽t<∞. The resulting Cauchy problem is solved by Euler's method with variable step length τ. This iterative procedure with step τ specified in different ways [5,6], yields a variety of iterative Newton schemes that are frequently superior to the classical scheme.Restrictions on the complexity of the problem: The computer memory requirements depend on the number of nonlinear simultaneous equations to be solved. Restrictions due to dimension sizes may be easily alleviated by altering PARAMETER statements (see Long write-up and program listing for details). The user must also supply subroutine FCN which evaluates the nonlinear functions. The user has the option of either to provide a subroutine JAC which calculates the Jacobian matrix or allow the program to calculate it by the forward-difference approximation.Typical Running time: The running time depends critically upon the number of nonlinear equations to be solved. The test run which accompanies this paper took 0.06 s on the SGI Origin 2000.
Read full abstract