Programming in Mathematica
- Preface
- About this Book
- Chapter Overview - About the Examples - Notation and Terminology - The Programming in Mathematica Web Site - Teaching Mathematica Programming
- 1 Introduction
- From Calculations to Programs - Basic Ingredients of a Package - A Second Function in the Package - Options - Defaults for Positional Arguments - Parameter Type Checking
- 2 Packages
- Contexts - Packages that Use Other Packages - Protection of Symbols in a Package - Package Framework and Documentation - Loading Packages - Large Projects
- 3 Defaults and Options
- Default Values - Options for Your Functions - Setting Options of Several Commands
- 4 Functional and Procedural Programming
- Procedures and Local Variables - Loops - Structured Iteration - Iterated Function Application - Map and Apply - Application: The Platonic Solids - Operations on Lists and Matrices
- 5 Evaluation
- Evaluation of the Body of a Rule - Pure Functions - Nonstandard Evaluation - Nonlocal Flow of Control - Definitions - Advanced Topic: Scopes of Names
- 6 Transformation Rules
- Simplification Rules and Normal Forms - Application: Trigonometric Simplifications - Globally Defined Rules - Pattern Matching for Rules - Traversing Expressions
- 7 Numerical Computations
- Numbers - Numerical Evaluation - Numeric Quantities - Application: Differential Equations
- 8 Interaction with Built-In Rules
- Modifying the Main Evaluation Loop - User-Defined Rules Take Precedence - Modifying System Function - Advanced Topic: A New Mathematical Function
- 9 Input and Output
- Input and Output Formatting - Input from Files and Programs - Running Mathematica Unattended - Session Logging - Advanced Topic: Typesetting Mathematics
- 10 Graphics Programming
- Graphics Packages - Animated Graphics - The Chapter Pictures
- 11 Notebooks
- Packages and Notebooks - The Structure of Notebooks - Frontend Programming
- 12 Application: Iterated Function Systems
- Affine Maps - Iterated Function Systems - Examples of Invariant Sets - Documentation: Help Notebooks and Manuals
- Appendix A Exercises
- Programming Exercises - Solutions
- Appendix B Bibliography
- Background Information and Further Reading - References
- Index of Programs
- Index