## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

## Book Description

Starting from first principles, this book covers all of the foundational material needed to develop a clear understanding of the Mathematica language, with a practical emphasis on solving problems. Concrete examples strewn throughout the text demonstrate how the language can be used to solve problems in science, engineering, economics/finance, computational linguistics, geoscience, bioinformatics and a range of other fields. The book will appeal to students, researchers and programmers wishing to further their understanding of Mathematica. Designed to suit users of any ability, it assumes no formal knowledge of programming so it is ideal for self-study. Over 275 exercises are provided to challenge the reader's understanding of the material covered and these provide ample opportunity to practise using the language. Mathematica notebooks containing examples, programs and solutions to exercises are available from www.cambridge.org/9781107009462.

1. Cover
2. Half title
3. Title
5. Contents
6. Preface
7. 1 An introduction to Mathematica
1. 1.1 Overview of basic operations
2. 1.2 Getting started
3. 1.3 Getting help
8. 2 The Mathematica language
1. 2.1 Expressions
2. 2.2 Definitions
3. 2.3 Predicates and Boolean operations
4. 2.4 Attributes
9. 3 Lists
1. 3.1 Creating and displaying lists
2. 3.2 The structure of lists
3. 3.3 Operations on lists
10. 4 Patterns and rules
1. 4.1 Patterns
2. 4.2 Transformation rules
3. 4.3 Examples and applications
11. 5 Functional programming
1. 5.1 Introduction
2. 5.2 Functions for manipulating expressions
3. 5.3 Iterating functions
4. 5.4 Programs as functions
5. 5.5 Scoping constructs
6. 5.6 Pure functions
7. 5.7 Options and messages
8. 5.8 Examples and applications
12. 6 Procedural programming
1. 6.1 Loops and iteration
2. 6.2 Flow control
3. 6.3 Examples and applications
13. 7 Recursion
1. 7.1 Fibonacci numbers
2. 7.2 Thinking recursively
3. 7.3 Dynamic programming
4. 7.4 Classical examples
14. 8 Numerics
1. 8.1 Numbers in Mathematica
2. 8.2 Numerical computation
3. 8.3 Arrays of numbers
4. 8.4 Examples and applications
15. 9 Strings
1. 9.1 Structure and syntax
2. 9.2 Operations on strings
3. 9.3 String patterns
4. 9.4 Regular expressions
5. 9.5 Examples and applications
16. 10 Graphics and visualization
1. 10.1 Structure of graphics
2. 10.2 Efficient structures
3. 10.3 Sound
4. 10.4 Examples and applications
17. 11 Dynamic expressions
1. 11.1 Manipulating expressions
2. 11.2 The structure of dynamic expressions
3. 11.3 Examples and applications
18. 12 Optimizing Mathematica programs
1. 12.1 Measuring efficiency
2. 12.2 Efficient programs
3. 12.3 Parallel processing
4. 12.4 Compiling
19. 13 Applications and packages
1. 13.1 Random walk application
2. 13.2 Overview of packages
3. 13.3 Contexts
4. 13.4 Creating packages
20. Solutions to exercises
21. Bibliography
22. Index