Maple V Programming Guide
Waterloo Maple Incorporated(Author)
Springer (Publisher)
2nd Edition
Published on 1. February 1996
Book
Paperback/Softback
XII, 379 pages
978-0-387-94537-8 (ISBN)
Article exhausted; check for reprint
Description
As a Maple user, you may fall into any number of categories. You may only have used Maple interactively. You may already have written many of your own programs. Perhaps, even more fundamentally, you mayor may not have programmed in another computer language before attempting your first Maple program. Indeed, you may have used Maple for some time without realizing that the same powerful language you regularly use to enter commands is itself a complete programming language. Writing a Maple program can be very simple. It may only involve putting a proc() and an end around a sequence of commands that you use every day. On the other hand, the limits for writing Maple proce dures with various levels of complexity are dependent only on you. Over eighty percent of the thousands of commands in the Maple language are to examine these programs and themselves Maple programs. You are free modify them to suit your needs, or extend them so that Maple can tackle new types of problems. You should be able to write useful Maple pro grams in a few hours, rather than the few days or weeks that it often takes with other languages. This efficiency is partly due to the fact that Maple is interactive; this interaction makes it easier to test and correct programs. Coding in Maple does not require expert programming skills.
More details
Edition
2nd ed.
Language
English
Place of publication
NY
United States
Target group
Professional and scholarly
Illustrations
79 figures
Dimensions
Height: 25.4 cm
Width: 17.8 cm
Weight
610 gr
ISBN-13
978-0-387-94537-8 (9780387945378)
DOI
10.1007/978-1-4684-0241-4
Schweitzer Classification
Other editions
New editions

Book
12/1997
3rd Edition
Springer
€53.49
Shipment within 5-7 days
Previous edition
Bruce W. Char | et al
Maple V Language Reference Manual
Book
04/1995
2nd Edition
Springer
€23.92
Article exhausted; check for reprint
Persons
Content
1. Introduction.- 1.1 Getting Started.- Locals and Globals.- Inputs, Parameters, Arguments.- 1.2 Basic Programming Constructs.- The Assignment Statement.- The for Loop.- The Conditional Statement.- Returning Unevaluated.- Symbolic Transformations.- Type Checking.- The while Loop.- Modularization.- Recursive Procedures.- The RETURN Command.- Exercise.- 1.3 Basic Data Structures.- Exercise.- Exercise.- A MEMBER Procedure.- Exercise.- Binary Search.- Exercises.- Plotting the Roots of a Polynomial.- 1.4 Computing with Formulae.- The Height of a Polynomial.- Exercise.- The Chebyshev Polynomials, Tn(x).- Exercise.- Integration by Parts.- Exercise.- Computing with Symbolic Parameters.- Exercise.- 2. Fundamentals.- 2.1 Evaluation Rules.- Parameters.- Local Variables.- Global Variables.- Exceptions.- The Ditto Operator.- Environment Variables.- 2.2 Nested Procedures.- Local or Global?.- Passing Variables as Parameters.- Using the unapply Command.- Using Substitution.- The Quick-Sort Algorithm.- Creating a Uniform Random Number Generator.- 2.3 Types.- Types that Modify Evaluation Rules.- Structured Types.- Type Matching.- 2.4 Choosing a Data Structure: Connected Graphs.- Exercises.- 2.5 Remember Tables.- The remember Option.- Adding Entries Explicitly.- Removing Entries from a Remember Table.- 2.6 Conclusion.- 3. Advanced Programming.- 3.1 Procedures Which Return Procedures.- Creating a Newton Iteration.- A Shift Operator.- Exercise.- 3.2 When Local Variables Leave Home.- Creating the Cartesian Product of a Sequence of Sets.- Exercises.- 3.3 Interactive Input.- Reading Strings from the Terminal.- Reading Expressions from the Terminal.- Converting Strings to Expressions.- 3.4 Extending Maple.- Defining New Types.- Exercises.- Formatted Printing and the Alias Facility.- Neutral Operators.- Exercise.- Extending Certain Commands.- 3.5 Writing Your Own Packages.- Package Initialization.- Making Your Own Library.- 3.6 Conclusion.- 4. The Maple Language.- Syntax.- Semantics.- Syntax Errors in Files.- 4.1 Language Elements.- The Character Set.- Tokens.- Reserved Words.- Programming-Language Operators.- Strings.- Integers.- Token Separators.- Blanks, Lines, Comments, and Continuation.- Punctuation Marks.- 4.2 Escape Characters.- 4.3 Statements.- The Assignment Statement.- Names.- Indexed Names.- The Concatenation Operator.- Protected Names.- Unassignment: Clearing a Name.- Related Functions.- The Selection Statement.- The Repetition Statement.- The for-from Loop.- The while Loop.- The for-in Loop.- break and next.- The read and save Statements.- Saving a Maple Session.- Saving Selected Values.- The read Statement.- Reading Text Files.- 4.4 Expressions.- Expression Trees: Internal Representation.- Evaluation and Simplification.- The Types and Operands of Integers, Strings, Indexed.- Names, and Concatenations.- Fractions and Rational Numbers.- Floating-Point (Decimal) Numbers.- Arithmetic with Floating-Point Numbers.- Complex Numerical Constants.- Labels.- Sequences.- The seq Command.- The Dollar Operator.- Sets and Lists.- Selection Operation.- Functions.- The Arithmetic Operators.- Arithmetic.- Automatic Simplifications.- Simplification of Repeated Exponentiation.- Non-Commutative Multiplication.- The Composition Operators.- The Ditto Operators.- The Factorial Operator.- The mod Operator.- The Neutral Operators.- Relations and Logical Operators.- The Logical Operators.- Boolean Expressions.- Arrays and Tables.- Series.- Ranges.- Unevaluated Expressions.- Constants.- Structured Types.- 4.5 Useful Looping Constructs.- The map, select, and remove Commands.- The zip Command.- The seq, add, and mul Commands.- seq, add, and mul Versus $, sum, and product.- 4.6 Substitution.- 4.7 Conclusion.- 5. Procedures.- 5.1 Procedure Definitions.- Mapping Notation.- Unnamed Procedures and Their Combinations.- Procedure Simplification.- 5.2 Parameter Passing.- Declared Parameters.- The Sequence of Arguments.- 5.3 Local and Global Variables.- Evaluation of Local Variables.- 5.4 Procedure Options and the Description Field.- Options.- The remember and system Options.- The operator and arrow Options.- The Copyright Option.- The builtin Option.- The Description Field.- 5.5 The Value Returned by a Procedure.- Assigning Values to Parameters.- Explicit Returns.- Error Returns.- Trapping Errors.- Returning Unevaluated.- Exercise.- 5.6 The Procedure Object.- Last Name Evaluation.- The Type and Operands of a Procedure.- Saving and Retrieving Procedures.- 5.7 Exercises.- 5.8 Conclusion.- 6. Debugging Maple Programs.- 6.1 A Tutorial Example.- 6.2 Invoking the Debugger.- Displaying the Statements of a Procedure.- Breakpoints.- Explicit Breakpoints.- Watchpoints.- Error Watchpoints.- 6.3 Examining and Changing the State of the System.- 6.4 Controlling Execution.- 6.5 Restrictions.- 7. Numerical Programming in Maple.- 7.1 The Basics of evalf.- 7.2 Hardware Floating-Point Numbers.- Newton Iterations.- Computing with Arrays of Numbers.- 7.3 Floating-Point Models in Maple.- Software Floats.- Hardware Floats.- Roundoff Error.- 7.4 Extending the evalf Command.- Defining Your Own Constants.- Defining Your Own Functions.- 7.5 Conclusion.- 8. Programming with Maple Graphics.- 8.1 Basic Plot Functions.- 8.2 Programming with Plotting Library Functions.- Plotting a Loop.- A Ribbon Plot Procedure.- 8.3 Maple's Plotting Data Structures.- The PLOT Data Structure.- A Sum Plot.- The PLOT3D Data Structure.- 8.4 Programming with Plot Data Structures.- Writing Graphic Primitives.- Plotting Gears.- Polygon Meshes.- 8.5 Programming with the plottools Package.- A Pie Chart.- A Dropshadow Procedure.- Creating a Tiling.- A Smith Chart.- Modifying Polygon Meshes.- 8.6 Example: Vector Field Plots.- 8.7 Generating Grids of Points.- 8.8 Animation.- 8.9 Programming with Color.- Generating Color Tables.- Adding Color Information to Plots.- Creating A Chess Board Plot.- 8.10 Conclusion.- 9. Input and Output.- 9.1 A Tutorial Example.- 9.2 File Types and Modes.- Buffered Files versus Unbuffered Files.- Text Files versus Binary Files.- Read Mode versus Write Mode.- The default and terminal Files.- 9.3 File Descriptors versus File Names.- 9.4 File Manipulation Commands.- Opening and Closing Files.- Position Determination and Adjustment.- Detecting the End of a File.- Determining File Status.- Removing Files.- 9.5 Input Commands.- Reading Text Lines from a File.- Reading Arbitrary Bytes from a File.- Formatted Input.- Reading Maple Statements.- Reading Tabular Data.- 9.6 Output Commands.- Configuring Output Parameters using the interface.- Command.- One-Dimensional Expression Output.- Two-Dimensional Expression Output.- Writing Maple Strings to a File.- Writing Arbitrary Bytes to a File.- Formatted Output.- Writing Tabular Data.- Flushing a Buffered File.- Redirecting the default Output Stream.- 9.7 Conversion Commands.- C or FORTRAN Generation.- LATEX or eqn Generation.- Conversion between Strings and Lists of Integers.- Parsing Maple Expressions and Statements.- Formatted Conversion to and from Strings.- 9.8 A Detailed Example.- 9.9 Notes to C Programmers.- 9.10 Conclusion.