April 1966 - Vol. 9 No. 4
Features
Information dissemination and publication control
The present issue contains a “Forum on Algorithms” dealing with some of the problems which arise in connection with the algorithm policy of the Communications. Specifically, many ACM members believe that a policy which designates only one language (ALGOL) as appropriate for publication purposes is too restrictive, particularly when this language is not accessible to many members and may not, moreover, be especially well suited for the description of many types of problems. This feeling is reflected in Professor Perlis' comments when he suggests that several languages should be acceptable “one language being selected for each … algorithmic activity, chosen for the lucidity with which it expresses the diverse data manipulations of that area.”
Debate is under way concerning the Algorithms section of the Communications. Specifically, there is considerable sentiment in favor of also publishing algorithms in languages other than ALGOL.
A simple user-oriented compiler source language for programming automatic test equipment
For the nonprogrammer, difficulty in using a language increases rapidly with the number of nonproblem-oriented conventions. A simple language, even if inelegant, which considers the user's background as part of the problem may be more effective than a source language containing subtle and more powerful capabilities.
The language described in this paper is used to write computer programs which test electronic equipment. Because this testing process contains few complex ideas, there is little need for the elegance and redundancy of a highly syntax-oriented language. A simple and direct language will suffice for the problem. The eventual users of this language are military depot personnel who cannot be expected to have computer programming skill or significant programming training. For this nonprogramming-oriented user, it was essential to create a language using familiar engineering statements; programming-oriented conventions would have unnecessarily complicated his task.
A nonrecursive method of syntax specification
The use of the Kleene regular expression notation for describing algebraic language syntax, in particular of ALGOL, is described in this paper. A FORTRAN II computer program for carrying out the elimination algorithm of Gorn, similar to Gaussian elimination for linear systems of algebraic equations, is described. This was applied to numerous smaller languages, including some sublanguages of ALGOL. A hand calculation result of the application of the algorithm to all of ALGOL is given, thus expressing the Revised ALGOL 1960 syntax in completely nonrecursive terms, as far as its context-free portion is concerned. This description in many ways is far more intuitively understood than the previous recursive description, it is suggested. The paper also includes results of the machine program, which does not include a simplification algorithm.
Algorithm 279: Chebyshev quadrature
It has always been obvious that the aid to calculation offered by the computer forces a change in the curricula of mathematics, statistics, physics, engineering and other courses. Not so obvious are the many pedagogic aids the computer can offer in teaching the subject matter. The possibilities of giving the student a better technical as well as conceptual understanding of statistics were explored for a number of years at the College of Medicine of the University of Cincinnati and are reported here.
An ALGOL procedure is given for automatically generating formulas for matrix elements arising in the variational solution of the Schrödinger equation for many-electron systems.
A method for finding the least squares estimate of the intersection point of two Helices in space
When the helical trajectories of two charged particles moving away from a common point in a magnetic field are reconstructed from measurements on the tracks, the reconstructed tracks are perturbed by measurement and other errors and do not, in general, intersect. A method is given for adjusting the reconstructed tracks in a least squares manner so that they do intersect.
Methods of numerical integration applied to a system having trivial function evaluations
A study has been made to determine which methods of numerical integration require the least computation time for a given amount of truncation error when applied to a particular system of ordinary differential equations where function evaluations are relatively trivial. Recent methods due to Butcher and Gear are compared with classic Runge-Kutta, Kutta-Nyström and Adams methods. Some of the newer one-step methods due to Butcher are found to be slightly superior, but no one method is found to have any great advantage over the others in the application to this particular problem.
Starting approximations for square root calculation on IBM system /360
Several starting approximations for square root calculation by Newton's method are presented in a form to facilitate their use in IBM System/360 square root routines. These approximations include several for the range [1/16, 1], which is the interval of primary interest on IBM System/360.
Mechanization of the curve fitting process: DATAN
A process for fitting a curve to approximate data and the problem it creates for the engineer-programmer is defined. An approach has also been defined and a system has been written for the SRU 1107 to mechanize a major portion of this process. The techniques developed to accomplish the mechanization are largely empirical, and are dependent for their information only on the actual data points.
A method for locating zeros of complex functions
A method for computing the index, or winding number, is developed and applied to the problem of finding zeros of functions from the plane into the plane.