1st Edition

Computing with Maple

By Francis Wright Copyright 2001
    550 Pages 100 B/W Illustrations
    by Chapman & Hall

    Powerful, flexible, easy to use-small wonder that the use of MAPLE® continues to increase, particularly since the latest releases of MAPLE. The built-in nature of its numerical and graphical facilities gives MAPLE a distinct advantage over traditional programming languages, yet to date, no textbook has used that advantage to introduce programming concepts. Moreover, few books based on MAPLE's latest versions even exist.

    Computing with MAPLE presents general programming principles using MAPLE as a concrete example of a programming language. The author first addresses the basic MAPLE functions accessible for interactive use then moves to actual programming, discussing all of the programming facilities that MAPLE provides, including control structures, data types, graphics, spreadsheets, text processing, and object oriented programming. Reflecting MAPLE's primary function as a computational tool, the book's emphasis is on mathematical examples, and it includes a full chapter devoted to algebraic programming.

    Classroom tested since 1995, the material in Computing with MAPLE is particularly appropriate for an intermediate-level introductory course in programming for both mathematics and computing students. It includes numerous exercises and test questions, with MAPLE worksheets, contact information, and supplementary material available on the Internet.

    INTRODUCTION
    Learning Computing
    Background References
    Fundamental Terminology
    MAPLE Interfaces
    The MAPLE Worksheet Interface
    Exercises: The Worksheet Interface
    REVIEW OF BASICS
    MAPLE Syntax: Special Symbols
    Assignment, Evaluation, Substitution, and Simplification
    Common Errors
    Sequences, Lists, and Sets
    Characters and Strings
    Exercises
    TWO-DIMENSIONAL PLOTTING
    Simple Plotting
    The plots Package and Animation
    A Graphical Investigation of the Cardioid
    Exporting Plots (and Worksheets)
    Exercises: The Cycloid
    Appendix: Code to plot the Figures
    THREE-DIMENSIONAL PLOTTING
    The plot3d Function
    Three-Dimensional Plotting Options
    Interacting with Three-Dimensional Plots
    Three-Dimensional Plotting Options
    Using the plots Package
    Three-Dimensional Bouncing Ball Animation
    Exporting Three-Dimensional Plots
    Exercises
    Appendix: Code to Plot the Figures
    NUMERICAL AND SEMI-NUMERICAL COMPUTATION
    Number Systems
    Floating-Point Computation in MAPLE
    Multiple Roots
    Aliases and Algebraic Numbers
    Computing with Modular Integers
    Exercises
    Appendix: Code to Plot the Figures
    NUMERICAL LINEAR ALGEBRA
    Linear Algebra in MAPLE
    Numerical Linear Algebra
    Interaction: Linear Algebra
    Viewing Large Matrices and Vectors
    Using the LinearAlgebra Package
    Solving Systems of Linear Equations
    Special Matrices
    Eigenvalue Problems
    Ill-Conditioned Problems
    Under- and Over-Determined Problems
    Exercises
    LOGIC AND CONTROL STRUCTURES
    Relational Operators
    Boolean Algebra
    Boolean Operators in MAPLE: and, or, not
    Conditional Execution: if
    Piecewise-Defined Functions
    Loops: do, while, for
    Exercises
    PROCEDURES AND RECURSION
    Defining and Using Procedures
    General Procedure Definition Syntax
    Variable Scope
    Procedure Arguments
    Special Identifiers in Procedures
    Terminating Procedure Execution
    Examples: Integer Factorization
    Displaying MAPLE Procedures
    Procedure Options and Remember Tables
    More About Variable Scope
    Recursion
    Procedures that Output Plots
    Recursive Plotting
    Animating the Koch Snowflake Fractal
    Program Design
    Exercises
    OPERATORS AND FUNCTIONS
    Operators
    Converting Between Expressions and Mappings
    Composition of Mappings and Functions
    The Derivative Operator D
    Set Operations
    Example of Recursive Integer and Polynomial Functions
    Exercises
    DATA TYPES
    Primitive Types: whattype
    Use of Type Information: Error Checking, Polymorphism
    Alternative Types: {type1, type2, …}
    The Main MAPLE Data Types
    Type Testing: type and ::
    Boolean Combination of Types: And, Or, Not
    Structured or Nested Data Types
    Special Procedure-Argument Types
    Examples of Polymorphic Procedures
    Defining New Types
    Exercises
    CONVENTIONAL PROGRAMMING
    Operations on Structures
    Implementing Vector and Matrix Algebra
    Data Processing in MAPLE
    Interactive Programs in MAPLE
    Error Handling: try, catch
    Debugging
    Exercises
    ALGEBRAIC PROGRAMMING
    Univariate Polynomial Algorithms
    Multivariate Polynomial Algorithms
    Exercises
    SPREADSHEETS
    Introduction
    Copying and Moving Cells
    Working with Sequences
    Tabulating Data
    Programming Spreadsheets
    Case Study: The Simple Pendulum
    Exercises
    TEXT PROCESSING
    Text Files
    Counting Lines, Words, and Characters
    Text Formatting
    A Markov Chain Algorithm
    Exercises
    OBJECT ORIENTATION AND MODULES
    Introduction to Object Orientation
    Block Matrices
    Modules as Records
    Modules in More Detail
    Module Constructors
    Modules as Objects
    Data Encapsulation
    Accessing Block Matrix Elements
    Square and Inverse Block Matrices
    Modules and Types
    Block Matrix Multiplication
    Limitations of Modules as Objects
    Operator Overloading
    Using a Private MAPLE Library
    Modules as Packages
    Adding Online Help
    Exercises
    BIBLIOGRAPHY

    Biography

    Francis Wright