000 07814cam a22001697a 4500
020 _a9781107009462 (hbk.)
040 _cCUS
082 0 4 _a005.133
_bWEL/P
100 1 _aWellin, Paul R.
_921657
245 1 0 _aProgramming with Mathematica : an introduction /
_cby Paul Wellin.
260 _aCambridge, UK ;
_aNew York :
_bCambridge University Press,
_c2013.
300 _axviii, 711 p. :
_bill. (some col.) ;
_c25 cm.
504 _aIncludes bibliographical references (p. [687]-694) and index.
505 _a1 An introduction to Mathematica 1.1 Overview of basic operations • i Numerical and ^mbolic computation ■ Graphics and visualization ■ Working with data • Dynamic interactivity • Programming 1.2 Getting started • 14 Starting up Mathematica ■ The notebook interface ■ Entering input ■ Mathematical expressions • Syntax of functions ■ Lists ■ Semicolons ■ Alternative input syntax • Comments • Errors • Getting out of trouble ■ Thefront end and the kernel 1.3 Getting help • 25 Function information • The Documentation Center 2 The Mathematica language 2.1 Expressions • 29 Types ofexpressions • Atoms ■ Structure of expressions ■ Evaluation of expressions ■ Exercises 2.2 Definitions • 40 Defining variables and functions • Immediate vs. delayed assignments • Term rewriting • Functions with multiple definitions • Exercises 2.3 Predicates and Boolean operations • 48 Predicates • Relational and logical operators ■ Exercises 2.4 Attributes -53 ; . Exercises . .. Lists 3.1 Creating and displaying lists • 58 List structure and ^ntax • List construction ■ Displaying lists ■ Arrays • Exercises 3.2 The structure of lists • 67 Testing a list ■ Measuring lists ■ Exercises 3.3 Operations on lists • 70 Extracting elements ■ Rearranging lists ■ List component assignment • Multiple lists • Exercises Patterns and rules 4.1 Patterns • 85 Blanks ■ Pattern matching by type • Structured patterns • Sequence pattern matching ■ Conditional pattern matching ■ Alternatives ■ Repeated patterns ■ Functions that use patterns ■ Exercises 4.2 Transformation rules • 102 Creating and using replacement rules ■ Example: counting coins ■ Example: closed paths ■ Example: finding maxima ■ Exercises 4.3 Examples and applications • 109 Finding subsequences ■ Sorting a list • Exercises Functional programming 5.1 Introduction • 116 5.2 Functions for manipulating expressions • 118 Map • Apply • Thread and MapThread • The Listable attribute • Inner and Outer • Select and Pick • Exercises 5.3 Iterating functions • 132 Nest • FixedPoint • NestWhile • Fold ■ Exercises 5.4 Programs as functions • 137 Building up programs • Example: shuffling cards • Compound Junctions • Exercises 5.5 Scoping constructs • 146 Localizing names: Module ■ Localizing values: Block ■ Localizing constants: With ■ Example: matrix manipulation ■ Exercises 5.6 Pure functions -153 Syntax of pure functions • Using pure Junctions ■ Example: searching for attributes and options • Exercises • 57 Options and messages • 164 Options ■ Messages ■ Exercises 5.8 Examples and applications • 170 Hamming distance • The Josephus problem • Regular graphs/polygons ■ Protein interaction networks ■ Palettes for projectfiles ■ Operating on arrays • Exercises 6 Procedural programming 6.1 Loops and iteration * 190 Newton's method • Do loops and For loops ■ Example: random permutations • While loops • NestWhile and NestWhileList • Exercises 6.2 Flow control • 208 Conditional functions • Piecewise-defined Junctions ■ Which and Switch • Argument checking ■ Exercises 6.3 Examples and applications • 219 Classifying points • Sieve of Eratosthenes • Sorting algorithms ■ Exercises 7 Recursion 7.1 Fibonacci numbers • 231 Exercises 7.2 Thinking recursively • 234 Length of a list ■ Recursion with multiple arguments ■ Multiplying pairwise elements • Dealing cards, recursively • Finding maxima • Higher-order functions • Exercises 7.3 Dynamic programming • 239 Exercises 7.4 Classical examples • 244 Merge sort ■ Run-length encoding • Exercises 8 Numerics 8.1 Numbers in Mathematica -251 Types of numbers • Digits and number bases ■ Random numbers • Exercises 8.2 Numerical computation • 265 Precision and accuracy ■ Representation of approximate numbers • Exact vs. approximate numbers • High precision vs. machine precision ■ Computations with mixed number types ■ Working with precision and accuracy • Exercises 8.3 Arrays of numbers • 282 Sparse arrays ■ Packed arrays ■ Exercises 8.4 Examples and applications • 291 Newton's method revisited • Radius ofgyration of a random walk • Statistical tests • Exercises 9 Strings 9.1 Structure and syntax • 310 Character codes ■ Sorting lists of characters ■ Ordered words ■ Exercises 9.2 Operations on strings • 316 Basic string operations • Strings vs. lists • Encoding text • Indexed ^mbols • Anagrams • Exercises 9.3 String patterns • 325 Finding subsequences with strings ■ Alternatives ■ Exercises 9.4 Regular expressions • 332 Word stemming ■ Exercises 9.5 Examples and applications • 343 Random strings ■ Partitioning strings ■ Adler checksum • Search for substrings ■ DNA sequence analysis ■ Displaying DNA sequences ■ Blanagrams • Exercises 10 Graphics and visualization 10.1 Structure of graphics • 365 Graphics primitives ■ Graphics directives ■ Graphics options ■ Combining graphics elements ■ Structure of built- in graphics functions • Example: Bezier curves • Example: hypocycloids • Exercises 10.2 Efficient structures • 386 Multi-objects • GraphicsComplex • Numeric vs. symbolic expressions • Exercises 10.3 Sound • 396 The sound of mathematics ■ Sound primitives and direaives ■ Exercises 10.4 Examples and applications • 402 Spacefilling plots ■ Plotting lines in space ■ Simple closed paths ■ Points in a polygon ■ Visualizing standard deviations ■ Root plotting ■ Trend plots ■ Brownian music ■ Exercises 11 Dynamic expressions II.I Manipulating expressions • 449 Control objects ■ Control wrapper ■ Viewers ■ Animating the hypog'cloid ■ Visualizing logical operators ■ Exercises 11.2 The structure of dynamic expressions • 470 Dynamic ■ DynamicModule ■ Dynamic tips ■ Exercises 11.3 Examples and applications • 481 Creating interfaces for visualizing data ■ File openers • Dynamic random walks • Apollonius' circle • Exercises 12 Optimizing Mathematica programs 12.1 Measuring efficiency • 494 Evaluation time • Memory stoi'age 12.2 Efficient programs • 496 Low-level vs. high-level functions ■ Pattern matching • Reducing size of computation • Symbolic vs. numeric computation ■ Listabili^ • Pure functions • Packed arrays ■ Exercises 12.3 Parallel processing • 515 Basic examples • Distributing definitions across subkemels • Profiling • Exercises 12.4 Compiling • 523 Compile • Compiling to C • Exercises 13 Applications and packages 13.1 Random walk application • 534 Lattice walks ■ Off-lattice walks ■ RandomWalk ■ Error and usage messages ■ Visualization • Animation • Exercises 13.2 Overview of packages -555 Working with packages • Package location 13.3 Contexts • 558 13.4 Creating packages • 563 Package framework • Creating and installing the package ■ RandomWalks package • Running the package • Exercises
650 0 _aMathematica (Computer program language)
_921658
942 _cWB16
999 _c2517
_d2517