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 throughout the text demonstrate how Mathematica 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 language. Designed to suit users of any ability, it assumes no formal knowledge of programming so it is ideal for self-study. Over 290 exercises are provided to challenge the readers understanding of the material covered and these provide ample opportunity to practice using the language. Mathematica language notebooks containing examples, programs and solutions to exercises are available from www.cambridge.org/wellin.
Author(s): Paul Wellin
Edition: 4th Revised edition
Publisher: Cambridge University Press
Year: 2013
Language: English
Pages: 732
Tags: Библиотека;Компьютерная литература;Mathematica;
Contents......Page 7
Preface......Page 13
1.1 Overview of basic operations......Page 21
1.2 Getting started......Page 34
1.3 Getting help......Page 45
2.1 Expressions......Page 49
2.2 Definitions......Page 60
2.3 Predicates and Boolean operations......Page 68
2.4 Attributes......Page 73
3 Lists......Page 77
3.1 Creating and displaying lists......Page 78
3.2 The structure of lists......Page 87
3.3 Operations on lists......Page 90
4 Patterns and rules......Page 103
4.1 Patterns......Page 105
4.2 Transformation rules......Page 122
4.3 Examples and applications......Page 129
5 Functional programming......Page 135
5.1 Introduction......Page 136
5.2 Functions for manipulating expressions......Page 138
5.3 Iterating functions......Page 152
5.4 Programs as functions......Page 157
5.5 Scoping constructs......Page 166
5.6 Pure functions......Page 173
5.7 Options and messages......Page 184
5.8 Examples and applications......Page 190
6 Procedural programming......Page 209
6.1 Loops and iteration......Page 210
6.2 Flow control......Page 228
6.3 Examples and applications......Page 239
7.1 Fibonacci numbers......Page 251
7.2 Thinking recursively......Page 254
7.3 Dynamic programming......Page 259
7.4 Classical examples ·......Page 264
8.1 Numbers in Mathematica......Page 271
8.2 Numerical computation......Page 285
8.3 Arrays of numbers......Page 302
8.4 Examples and applications......Page 311
9 Strings......Page 329
9.1 Structure and syntax......Page 330
9.2 Operations on strings......Page 336
9.3 String patterns ·......Page 345
9.4 Regular expressions......Page 352
9.5 Examples and applications......Page 363
10 Graphics and visualization......Page 383
10.1 Structure of graphics......Page 385
10.2 Efficient structures......Page 406
10.3 Sound......Page 416
10.4 Examples and applications......Page 422
11.1 Manipulating expressions......Page 469
11.2 The structure of dynamic expressions......Page 490
11.3 Examples and applications......Page 501
12 Optimizing Mathematica programs......Page 513
12.1 Measuring efficiency......Page 514
12.2 Efficient programs......Page 516
12.3 Parallel processing......Page 535
12.4 Compiling......Page 543
13 Applications and packages......Page 553
13.1 Random walk application......Page 554
13.2 Overview of packages......Page 575
13.3 Contexts......Page 578
13.4 Creating packages......Page 583
2 The Mathematica language......Page 595
3 Lists......Page 598
4 Patterns and rules......Page 602
5 Functional programming......Page 608
6 Procedural programming......Page 634
7 Recursion......Page 641
8 Numerics......Page 646
9 Strings......Page 658
10 Graphics and visualization......Page 671
11 Dynamic expressions......Page 686
12 Optimizing Mathematica programs......Page 696
13 Applications and packages......Page 701
Bibliography......Page 707
Index......Page 715