# Doc/Algebra An Algorithmic Treatment

## Algebra: An Algorithmic Treatment

by Kenneth E. Iverson

published by Addison-Wesley, 1972

Available as a pdf here.

## Contents

**Chapter 1. The Language of Mathematics**

- 1.1 Introduction
- 1.2 Expressions and Results
- 1.3 Names
- 1.4
*Over*Notation - 1.5 The Positive Integers
- 1.6 Vectors
- 1.7 Repetitions
- 1.8 Summary

**Chapter 2. Function Tables and Maps**

- 2.1 Introduction
- 2.2 Reading Function Tables
- 2.3 Expressions for Producing Function Tables
- 2.4 The Functions Denoted by
`⌈`and`⌊` - 2.5 The Power Function
- 2.6 Maps

**Chapter 3. The Negative Numbers**

- 3.1 Subtraction
- 3.2 Negative Integers
- 3.3 Addition and Subtraction
- 3.4 Expressions for the Integers

**Chapter 4. Function Tables with Negative Integers**

- 4.1 Introduction
- 4.2 Subtraction
- 4.3 Flipping Tables
- 4.4 Indexing Tables
- 4.5 Addition
- 4.6 Multiplication
- 4.7 Maximum and Minimum
- 4.8 Relations
- 4.9 Logical Values
- 4.10 The
*Over*Function on Tables

**Chapter 5. The Rational Numbers**

- 5.1 Introduction
- 5.2 Long Division
- 5.3 Rational Numbers
- 5.4 Addition of Rationals Having the Same Divisor
- 5.5 Multiplication of Rational Numbers
- 5.6 Multiplication of a Rational by an Integer
- 5.7 Multiplication Expressed in Terms of Vectors
- 5.8 Addition of Rationals
- 5.9 Addition of Rationals in Terms of Vectors
- 5.10 The Quotient of Two Rationals
- 5.11 Decimal Fractions
- 5.12 Addition and Subtraction of Decimal Fractions
- 5.13 The Decimal Fraction Representation of a Rational
- 5.14 Decimal Fraction Approximations to Rationals
- 5.15 Multiplication of Decimal Fractions
- 5.16 Division of Decimal Fractions
- 5.17 Exponential Notation
- 5.18 Division with Negative Arguments
- 5.19 Division by Zero

**Chapter 6. Function Tables with Rational Numbers**

- 6.1 Introduction
- 6.2 Catenation
- 6.3 Division Tables
- 6.4 Comparison
- 6.5 The Power Function for Negative and Zero Arguments
- 6.6 The Power Function for Rational Arguments

**Chapter 7. The Residue Function and Factoring**

- 7.1 The Residue Function
- 7.2 Negative Right Arguments
- 7.3 Divisibility
- 7.4 Factors
- 7.5 Compression
- 7.6 Prime Numbers

**Chapter 8. Monadic Functions**

- 8.1 Introduction
- 8.2 Negation
- 8.3 Reciprocal
- 8.4 Magnitude
- 8.5 Floor and Ceiling
- 8.6 Complement
- 8.7 Ravel
- 8.8 Size

**Chapter 9. Function Definition**

- 9.1 Introduction
- 9.2 Definition of Dyadic Functions
- 9.3 A Function to Generate Primes
- 9.4 Temperature Scale Conversion Function
- 9.5 Functions on Rationals
- 9.6 Tracing Function Execution

**Chapter 10. The Analysis of Functions**

- 10.1 Introduction
- 10.2 Maps
- 10.3 Graphs
- 10.4 Interpreting a Linear Graph
- 10.5 The
*Take*and*Drop*Functions - 10.6 Difference Tables
- 10.7 Fitting Functions of the Form
`a+b×x` - 10.8 Factorial Polynomials
- 10.9 Multiplication and Addition of Difference Tables
- 10.10 Difference Tables for the Factorial Polynomials
- 10.11 Expressions for Graphs
- 10.12 Character Vectors

**Chapter 11. Inverse Functions**

- 11.1 Introduction
- 11.2 Inverse of the Function
`a+b×x` - 11.3 Difference Tables
- 11.4 Maps
- 11.5 Graphs
- 11.6 Determining the Inverse for a Specific Argument
- 11.7 The Solution of Equations

**Chapter 12. Iterative Processes**

- 12.1 Introduction
- 12.2 General Root Finder
- 12.3 Greatest Common Divisor
- 12.4 The Binomial Coefficients

**Chapter 13. Inner Product and Polynomials**

- 13.1 Introduction
- 13.2 The Inner Product of Two Vectors
- 13.3 Matrices
- 13.4 Inner Product with Matrix Arguments
- 13.5 Polynomials
- 13.6 Polynomials Expressed as Inner Products

**Chapter 14. Identities**

- 14.1 Introduction
- 14.2 Commutativity
- 14.3 Associativity
- 14.4 Distributivity
- 14.5 Identities Based on Commutativity, Associativity, and Distributivity
- 14.6 Identities on Vectors
- 14.7 The Power Function

**Chapter 15. Identities on Polynomials**

- 15.1 Introduction
- 15.2 The Sum of Polynomials
- 15.3 The Product of Polynomials
- 15.4 The Product
`×/x+v` - 15.5 Binomial Coefficients
- 15.6 The Factorial Polynomials
- 15.7 Mathematical Induction

**Chapter 16. The Representation of Numbers**

- 16.1 Introduction
- 16.2 The Prime Factors System
- 16.3 The Decimal System
- 16.4 The Binary System
- 16.5 Positional Number Systems
- 16.6 Addition and Multiplication Tables
- 16.7 Negative Integers
- 16.8 Rational Numbers

**Chapter 17. Logic and Sets**

- 17.1 Logic
- 17.2 Sets

**Chapter 18. Linear Functions**

- 18.1 Introduction
- 18.2 Mappings
- 18.3 Rotations
- 18.4 Translation
- 18.5 Linear Function on a Set of Points
- 18.6 Rotation and Translation
- 18.7 Stretching
- 18.8 Identities on the Inner Product
`+.×` - 18.9 Linear Functions on 3-Element Vectors
- 18.10 Rotations in Three Dimensions

**Chapter 19. Inverse Linear Functions**

- 19.1 Introduction
- 19.2 Some Inverse Functions
- 19.3 The Solution of Linear Equations
- 19.4 Basic Solutions
- 19.5 Determining Basic Solutions
- 19.6 Simplified Calculations for Basic Solutions
- 19.7 The Determinant Function
- 19.8 Matrix Form of the Basic Solutions
- 19.9 The General Solution from the Basic Solutions
- 19.10 The Inverse Linear Functions
- 19.11 Properties of the Inverse Linear Function
- 19.12 Alternative Derivation of the Inverse
- 19.13 Efficient Solution of a Linear Equation
- 19.14 Inverse Linear Functions in Three Dimensions
- 19.15 The Inverse Function
- 19.16 Curve Fitting

**Exercises**

**Appendix A. Algebra as a Language**

- A.1 Introduction
- A.2 Arithmetic Notation
- A.3 Algebraic Notation
- A.4 Analogies with the Teaching of Natural Language
- A.5 A Program for Elementary Algebra

**Appendix B. The Mechanics of Computer Use**

- B.1 Introduction
- B.2 Getting Started
- B.3 Using APL
- B.4 Error Reports
- B.5 Revising a Function Definition
- B.6 The Active Workspace
- B.7 Terminating a Work Session
- B.8 Use of Libraries

**Appendix C. User of the Computer in Teaching**

- C.1 Introduction
- C.2 Experimentation
- C.3 Checking Solutions to Exercises
- C.4 Use as a Computational Tool
- C.5 Drill
- C.6 Collective Use
- C.7 Remote Use

**Summary of Notation**

**Section 1.1 The Language of Mathematics -- Introduction**

Algebra is the language of mathematics. It is therefore an essential topic for anyone who wishes to continue the study of mathematics. Moreover, enough of the language of algebra has crept into the English language to make a knowledge of some algebra useful to most non-mathematicians as well. This is particularly true for people who do advanced work in any trade or discipline, such as insurance, engineering, accounting, or electrical wiring. For example, instructions for laying out a playing field might include the sentence, "To verify that the corners are square, note that the length of the diagonal must be equal to the square root of the sum of the squares of the length and the width of the field", or alternatively, "The length of the diagonal must be . In either case (whether expressed in algebraic symbols or in the corresponding English words), the comprehension of such a sentence depends on a knowledge of some algebra.

Because algebra is a language, it has many analogies with English.
These analogies can be helpful in learning algebra, and they will
be noted and explained as they occur. For instance,
the integers or counting numbers (1, 2, 3, 4, 5, 6, ...)
in algebra correspond to the concrete nouns in English, since
they are the basic things we discuss, and perform operations upon.
Furthermore, functions in algebra (such
as` + `(plus),` - `(subtract),
and` × `(times)) correspond to the verbs in English,
since they *do* something to the nouns.
Thus,` 2+3 `means "add` 2 `to` 3`"
and` (2+3)×4 `means "add` 2 `to` 3 `and then multiply by` 4`".
In fact, the word "function" (as defined, for example,
in the *American Heritage Dictionary*), is descended from an
older word meaning, "to execute", or "to perform".

When the language of algebra is compared to the language of English,
it is in certain respects much simpler, and in other respects more difficult.
Algebra is simpler in that the basic algebraic sentence is an instruction
to do something, and algebraic sentences (usually called expressions)
therefore correspond to *imperative* English sentences
(such as "Close the door.").
For example,` 2+3 `means "add` 2 `and` 3`", and` year←1970 `means
"assign to the name` year `the value` 1970`", and` y←1970 `means
"assign to the name` y `the value` 1970`".
Since imperative sentences form only a small and relatively
simple part of English, the language of algebra is in this
respect much simpler.

Algebra is also simpler in that it permits less freedom in the ways
you can express a particular function.
For example, "subtract` 2 `from` 4`" would normally be written
in algebra only as` 4-2` ,` `whereas in English it could be
expressed in many ways such as "take the number` 2 `and subtract it from the
number` 4`", or "compute the difference of the integers` 4 `and` 2`".

The most difficult aspect of traditional presentations
of algebra is the early emphasis on *identities*, or the equivalence
of different expressions.
For example, the expressions` (5+7)×(5+7) `and` (5×5)+(2×5×7)+(7×7) `are
*equivalent* in the sense that, although they involve a different
sequence of functions, they each yield the same result.
English also offers equivalent expressions.
For example, "The dog bit the man" is equivalent to
"The man was bitten by the dog".
It is not that the rules for determining equivalence in algebra are
more difficult than in English; on the contrary, they are so much
simpler that their study is more rewarding and therefore more
attention is given to equivalences in algebra than in English.

In the present treatment this aspect of algebra (that is, the study of identities or equivalence of expressions) is delayed until the student has devoted more attention to the reading, writing, and evaluation of algebraic expressions.

This view of algebra as a language is central to the present treatment. It is buttressed and expanded in Appendix A, and this appendix should perhaps be read first by any teacher and by any student who has significant prior experience with traditional treatments of algebra.

The exercises form an important part of the development,
and the point at which the reader should be prepared to
attempt each group of exercises is indicated in the margin.
For example, the first such marginal note appears as` ⌹1-6 `and
indicates that Exercises 1 to 6 of this chapter may
be attempted at that point.

Collections of expressions occurring in certain exercises are broken into groups to provide convenient reference in assigning and discussing exercises. These groups sometimes indicate substantive groupings of the material treated as well.

The exposition and the exercises are organized to encourage experimentation and observation as an essential part of learning. Experimentation and discovery can be further encouraged to a startling degree by the use of an APL computer terminal if one is available. All expressions occurring in the text and exercises can be entered directly on the terminal keyboard without further knowledge of computers. Techniques for the use of the computer in teaching are discussed in Appendix C. Appendix B presents the computer keyboard and other details necessary to putting it in operation.

A student using an APL computer in exploration is sometimes confronted with matters not treated until a later point in the text. For example, a beginning student entering the expression

2000×3000×4000

will receive the response

2.4e10

This result is expressed in exponential notation
(meaning` 2.4 `times` 10 `to the power` 10`) which is not discussed
until Section 5.17. The Index, the Summary of Notation
(appearing inside the covers), and Appendix B can be used
to resolve such difficulties.