Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aaqx_v1_0.gz(32 Kbytes)
Manuscript Title: A flexible program for performing analytic differentiation and substitutions on a system of equations.
Authors: D.W. Merdes, J. Pliva
Program title: EQSYSTM
Catalogue identifier: AAQX_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 24(1981)113
Programming language: PL/1-FORMAC73.
Computer: IBM 370/3033.
Operating system: MVS.
RAM: 300K words
Word size: 32
Peripherals: disc.
Keywords: General purpose, Utility, (symbolic) algebraic Language, Jacobian matrix, Nonlinear equations, Nonlinear regression, (symbolic) Differentiation, Partial derivative, (symbolic) substitution, Formac, Pl/1, Pl/c, Fortran, Sas, Minpack, Computer algebra.
Classification: 4.14, 5.

Nature of problem:
This program is designed to operate on a system of equations, making user-specified substitutions and returning for each expression its partial derivatives with respect to a list of specified variables. The output expressions for the derivatives of each input expression, in the form of statements directly usable in other programs, are organized into an array with subscripts corresponding to the variables by which it was differentiated. Output in either PL/1, Fortran, or SAS syntax is available at user option.

Solution method:
The program makes use of the powerful symbolic algebraic manipulation facilities of the PL/1-FORMAC73 language.

The maximum length of input expressions depends only on the limits inherent in the PL/1 compiler itself (32 765 characters in the current IBM implementation of PL/1). Output expressions are normally limited to 5000 characters. There are no a priori limits on the number of variables, substitutions or expressions to be differentiated; these are ultimately limited by installation resources and the FORMAC system itself, and are unlikely to be exceeded by most users. The program can be used to determine derivatives beyond first order, up to a maximum of fourth order.