1st Edition

APL with a Mathematical Accent

By C.A. Reiter, W.R. Jones Copyright 1990
    224 Pages
    by Chapman & Hall

    224 Pages
    by Chapman & Hall

    Continue Shopping

    This book provides an introduction to the computer language A Programming Language (APL), providing quick access to the powerful computational capabilities of the language for the newcomer to APL. It focuses on the mathematical nature of the language, and complements standard curricula.

    First Steps With APL

    Interacting with APL

    Order of Execution

    Negative Sign, Minus Sign

    Assignment and Variable Names

    Example: Heron’s Formula

    The Equals Function

    Examples: Right Triangle Test, Conditional Incrementing

    Dyadic, Monadic Functions

    Functions with Vector Arguments

    Examples: Some Uses of Vector Arithmetic

    Shape, Reduction Operator

    Examples: Average, Dot Product

    More on the Reduction Operator

    Index Generator

    Examples: A Partial Sum, A Sequence for e

    Number Forms and Print Precision

    Workspaces, System Commands

    Exiting APL


    Fundamentals of Arrays

    Example: Polynomial Evaluation

    Elementwise Arithmetic

    Reshape: Defining Arrays


    Outer Product

    Example: Evaluation of Polynomials at Several Points


    Catenation of Matrices

    Example: Forming a Blockwise Diagonal Matrix

    Catenation of Matrices with Vectors


    Example: Elementary Row Operations on Matrices


    Empty Arrays


    Elementary Function Definition

    Function Definition

    Example: A Function for Polynomial Evaluation

    Example: Approximating Areas Using Right-Hand Endpoints

    Random Integers, Random Reals

    Correcting a Function Line

    Commands for Editing Functions

    Suspended Functions; Interrupts

    System Commands

    Branching: Simple Loops

    Example: Newton’s Method

    Statement Separation, Diamond

    Explicit Output

    Example: Fibonacci Numbers


    Matrix Algebra

    Matrix Product

    Example: Markov Processes

    Solving Linear Systems Matrix Divide

    Example: Some Solutions of Linear Systems

    Outer Product

    Example: Polynomial Interpolation

    Example: Polynomial Evaluation Revisited

    Least-Squares Solutions of Linear Systems

    Example: Least-Squares Polynomial Curve Fitting

    Matrix Inverse

    Matrix Transpose

    Example: A Formula Using Transpose

    Example: Gram-Schmidt Orthogonalization

    Example: Testing for Orthonormality

    The Power Method


    Data Comparison and Logical Functions

    Relational Functions: Comparatives

    Example: Averages on Selected Scores

    Logical Functions

    Example: Frequency Distribution

    Generalized Inner Product: Vectors

    Example: Weighted Average

    Generalized Inner Product: General Arrays

    Example: Paths in Graphs

    Floor, Ceiling

    Example: Rounding to a Decimal Position

    Membership Function

    Comparison Tolerance


    Simulation and More Mathematical Functions

    Roll, Deal, and Random Link

    Example: Matching Partners

    Example: Simulating A Classical Probability Experiment

    Example: Polya’s Urn Scheme

    Factorial and Binomial

    Example: Binomial Distribution

    Example: Polynomial Translation

    Trigonometric Functions

    Example: Monte Carlo Integration


    Statistics and Graphics

    Mean and Standard Deviation

    Maximum and Minimum

    Example: Range

    Grade Up

    Example: Median

    Character Arrays

    Example: Frequencies

    Example: Histograms

    Replicate on Vectors

    Example: Separating Data


    Example: Cumulative Histogram

    Plotting X-Y Points

    Example: Least-Squares Line Fitting


    Example: Sampling from an Exponential Population

    Example: Sampling from a Binomial Distribution

    Example: Sampling from a Normal Population


    More Array Manipulation

    Take and Drop Vectors

    Example: Polynomial Addition

    Take and Drop on Matrices

    Ravel Replicate, Compression, and Expansion

    Example: Constructing Data with a Given Distribution



    Example: Polynomial Multiplication

    Dyadic Transpose

    Transpose on Higher Dimensional Arrays


    Example: Constructing Banded Matrices


    Sorting and Coding

    Grade up, Grade Down

    Grade up, Grade Down on Matrices

    Example: Manipulation of Grade Point Average Statistics

    Index Relative to a Vector

    Example: Alphabetization

    Example: Removing Duplicated and Frequency Revisited

    Index Origin

    Example: Polynomial Evaluation in Both Index Origins

    Residue: Modular Reduction

    Example: Finite Field Tables

    Example: Alphabetization with Mixed-Case Letters


    Base Value

    Example: Polynomial Evaluation, Finis

    Represent and Base Value on Arrays

    Atomic Vector

    Example: Encoding a String into Binary

    Example: Hamming Code for Error Correction

    Example: Hamming Code on Natural Text


    More Function Definition

    Functions for Programming Uses

    Example: Descriptive Statistics


    Line Labels

    Example: Aggregating Preferential Ballots

    Multioption Branches

    Example: The Bisection Method

    Recursive Functions

    Example: Generating Permutations

    Example: Adaptive Integration

    Quad: Input and Output

    Quote-Quad: Input and Output

    Example: Entering a Matrix Name-List

    Example: More Adaptive Integration


    Example: Formatting an Interest Table


    Example: Entering a Matrix Name-List, Revisited

    Example: Matrix to a Power-of-2 Power

    Functions as Arguments of Functions


    Appendix A

    Help, Error Messages, and Debugging

    A.1 Surprises for New Users

    A.2 Error Messages

    A.3 Suspended Functions

    A.4 Example: Debugging with Quad Output

    A.5 Setting Traces and Stops

    Appendix B

    Workspace Environment

    B.1 Workspace Contents: Saving and Loading

    B.2 Workspace Management

    B.3 System Commands

    B.4 System Variables

    B.5 System Reports and System Functions

    Appendix C


    Appendix D

    Answers to Selected Exercises





    Reiter, C.A.