Elementary Functions: An Algorithmic Treatment
by Kenneth E. Iverson
published Science Research Associates, Inc., 1966
Chapter 1 Introduction
Chapter 2 Programming Notation
Variable Sequence: Branching
Notation for Numbers
Functions of Vectors
Applications of Vectors
Chapter 3 Functions
Definition of Functions
Some Basic Functions
Fundamental Properties of Functions
Chapter 4 The Polynomial Function
Efficient Evaluation of Polynomials
Degree of a Polynomial
Addition of Polynomials
Multiplication of Polynomials
The Binomial Theorem
Approximation by Polynomials
Chapter 5 The Slope Function
The Secant Slope of a Function
The Slope of the Exponential Function x*n
Notation for Composite Functions
The Slope of the Sum of Two Functions
The Slope of the Product of Two Functions
Some Interesting Functions
Approximating Polynomials of Unlimited Degree
Applications of the Slope Function
Chapter 6 Circular Functions
The Sine and Cosine Functions
Addition Theorems for the Sine and Cosine
The Slope Functions of the Sine and Cosine
Polynomial Approximations for Sine and Cosine
The Tangent Function
Tables of the Circular Functions
Applications of the Circular Functions
Chapter 7 Inverse and Reciprocal Functions
The Slope of the Reciprocal
Reciprocals of the Circular Functions
The Slope of the Inverse
Inverses of the Circular Functions
The Natural Logarithm
Applications of the Inverse Circular Functions
Chapter 8 The Exponential Function and Its Inverse
The Base-b Exponential (b*) x
The Base-b Logarithm (b*)' x
Properties of (b*) and (b*)'
The Natural Logarithm and Natural Exponential
Tables of Logarithm
Applications of the Logarithm and Exponential
The Family of Exponential Functions
Chapter 9 Automatic Program Execution
Definition of Functions
Correction and Display of Programs
Analysis of a Program
Other Basic Functions
Appendix A Conventions Governing Order of Evaluation
Appendix B Table of Circular Functions
Appendix C Tables of Base-10 Logarithms
Appendix D Summary of Notation download (0.2M)
The present text is intended for a one-semester precalculus course at the freshman level. The main topics are those to be expected in an introductory course in elementary function -- polynomials, circular functions, and the logarithmic and exponential functions.
The major distinguishing characteristic of this treatment is the systematic use of formal algorithms or programs in the definition of functions. Programs are expressed in a simple programming language based on a small set of simple primitives: +, -, ×, ÷, specification, branch, selection of a component of a vector, and formal composition of definitions.
The following characteristics of the treatment are also of interest:
- Vectors are introduced early as an effective device for treatment a family of variables and are used throughout the text. For example, the polynomial is treated in terms of its vector of coefficients, yielding simple explicit procedures for addition and multiplication of polynomials, synthetic division, and the generation of Pascal's triangle.
- The slope of a function is also defined early and is developed as a powerful tool for the study of functions. Use of the slope function yields, in particular, simple derivations of the polynomial expansions of all the functions treated.
- Notation is introduced for the reciprocal of a function and the inverse of a function and is used to clarify the relations among the functions treated.
- The mathematical derivations are kept simple. Many are novel -- for example, the derivation of the slope of the reciprocal function in Chapter 7.
- Each step of the development is carefully motivated; spurious rigor (that is, the making of careful distinctions which are never actually needed or used at the particular level of presentation) is avoided.
Programming is learned as a by-product of the constant use of algorithms. The use of a computer (treated in Chapter 9) is helpful but is neither necessary nor central to the development. The exercises are numerous (over 250) and span a wide range of difficulty. A complete booklet of solutions is available from the publisher.
This book grew from my own work in programming languages, and from my conviction that the discipline naturally imposed by the formalism required in programming would prove a boon in the exposition of mathematics from a very early level onward. It was developed in a one-semester course for seniors at the Fox Lane High School.
I am indebted to a number of the faculty of Fox Lane High School -- to Mr. Robert Wallace for initial discussions of course content, to Mr. George Kasunick, Dr. Norman Michaels, and Dr. Neil Atkins for their support and cooperation, and to Messrs. Harold Barrett and James Lott for many helpful discussions. To Dr. Herbert Hellerman of the IBM System Research Institute, I am indebted for the use of his PAT system on the 1620 computer and for the many evenings he gave to coaching students in its use during the first years of the course. For the programming system used in the third year of the course, I am obliged to Mr. Lawrence M. Breed of IBM and Mr. Philip S. Abrams of Stanford University. I am particularly indebted to Mr. Adin D. Falkoff and to Mr. Breed, my colleagues at the Thomas J. Watson Research Center, for many helpful suggestions and discussions. Thanks are also due to the International Business Machines Corporation and, in particular, to Dr. G.L. Tucker, for free time to teach the course. I am also pleased to acknowledge the editorial assistance of Messrs. Peter Saecker and Coley Mills of Science Research Associates. I am indebted to my wife Jean for typing and retyping the manuscript and to my son Eric for preparing solutions for the exercises.
Kenneth E. Iverson, Mount Kisco, New York, March 1, 1966