UID:
almafu_9960117277402883
Format:
1 online resource (xvi, 422 pages) :
,
digital, PDF file(s).
ISBN:
1-316-55760-X
,
1-316-56033-3
,
1-316-33773-1
Content:
Essentials of Programming in Mathematica provides an introduction suitable for readers with little or no background in the language as well as for those with some experience using programs such as C, Java, or Perl. The author, an established authority on Mathematica programming, has written an example-driven text that covers the language from first principles, as well as including material from natural language processing, bioinformatics, graphs and networks, signal analysis, geometry, computer science, and many other applied areas. The book is appropriate for self-study or as a text for a course in programming in computational science. Readers will benefit from the author's tips, which provide insight and suggestions on small and large points. He also provides more than 350 exercises from novice through to advanced level with all of the solutions available online.
Note:
Title from publisher's bibliographic system (viewed on 10 Dec 2015).
,
Cover -- Half-title page -- Title page -- Copyright page -- Dedication page -- Contents -- Preface -- 1 Programming with Mathematica -- 1.1 Introduction to programming -- Your first Mathematica program -- Programming paradigms -- Creating programs -- 1.2 Getting started -- Starting and running Mathematica -- Mathematical expressions -- Functions -- Lists -- Semicolons -- Alternative input syntax -- Comments -- Exercises -- 1.3 Getting help -- Errors -- Getting out of trouble -- Function information -- Documentation -- 1.4 Notes and further reading -- 2 The Mathematica language -- 2.1 Expressions -- Atoms -- Normal expressions -- Display of expressions -- Evaluation of expressions -- Compound expressions -- Nesting expressions -- Exercises -- 2.2 Numbers -- Types of numbers -- Digits and number bases -- Random numbers -- Exercises -- 2.3 Definitions -- Defining variables and functions -- Immediate vs. delayed assignments -- Compound functions -- Functions with multiple definitions -- Exercises -- 2.4 Predicates and Boolean operations -- Predicates -- Relational and logical operators -- Exercises -- 2.5 Attributes -- Listable -- Hold attributes -- Protected -- Exercises -- 2.6 Notes and further reading -- 3 Lists and associations -- 3.1 Creating and displaying lists -- List structure and syntax -- List construction -- Displaying lists -- Arrays -- Exercises -- 3.2 Testing and measuring lists -- Testing a list -- Measuring lists -- Exercises -- 3.3 Operations on lists -- Extracting elements -- Applying functions to lists -- Rearranging lists -- List component assignment -- Multiple lists -- Exercises -- 3.4 Associations -- Creating and displaying associations -- Operations on associations -- Creating a bibliography -- Exercises -- 3.5 Differences from other languages -- 3.6 Notes and further reading -- 4 Patterns and rules -- 4.1 Patterns -- Blanks.
,
Pattern matching by type -- Explicit pattern matching -- Structured patterns -- Sequence pattern matching -- Conditional pattern matching -- Shorthand notation -- Alternatives -- Repeated patterns -- Functions that use patterns -- Exercises -- 4.2 Transformation rules -- Creating and using replacement rules -- Applying transformation rules -- Exercises -- 4.3 Examples -- Counting coins -- Filtering and extracting data -- Perimeter -- Triangle area -- Finding parts of expressions -- Sorting a list -- Sunspot activity -- Exercises -- 4.4 Notes and further reading -- 5 Functions -- 5.1 Functions for manipulating expressions -- Map -- Apply -- Thread and MapThread -- Listability -- Inner and Outer -- Select and Pick -- Exercises -- 5.2 Iterating functions -- Nest -- FixedPoint -- NestWhile -- Fold -- Exercises -- 5.3 Recursive functions -- Fibonacci numbers -- Thinking recursively -- Dynamic programming -- Exercises -- 5.4 Loops and flow control -- Conditional functions -- Piecewise-defined functions -- Which and Switch -- Argument checking -- Do and For loops -- While loops -- Exercises -- 5.5 Pure functions -- Syntax of pure functions -- Multiple arguments -- Pure predicate functions -- Indexing with pure functions -- Newton revisited -- Example: searching for attributes -- Exercises -- 5.6 Examples -- Hamming distance -- The Josephus problem -- Protein interaction networks -- Operating on arrays -- Enumerating binary matrices -- Clustering data -- Exercises -- 5.7 Notes and further reading -- 6 Programs -- 6.1 Scoping constructs -- Localizing names: Module -- Localizing values: Block -- Localizing constants: With -- Matrix manipulation -- Exercises -- 6.2 Options and messages -- Options -- Messages -- Exercises -- 6.3 Examples -- Sieve of Eratosthenes -- Radius of gyration -- Lag plots -- Random walks -- Exercises -- 6.4 Notes and further reading.
,
7 Strings -- 7.1 Structure and syntax -- Display of strings -- Testing strings -- Measuring strings -- Character codes -- Exercises -- 7.2 Operations on strings -- Basic string operations -- Strings vs. lists -- Encoding text -- Anagrams -- Exercises -- 7.3 String patterns -- Finding subsequences with strings -- Alternatives -- Exercises -- 7.4 Regular expressions -- Contractions -- Exercises -- 7.5 Examples -- Abecedarian words -- Random strings -- Partitioning strings -- DNA sequence analysis -- Displaying DNA sequences -- Blanagrams -- Exercises -- 7.6 Notes and further reading -- 8 Graphics and visualization -- 8.1 The graphics language -- Primitives -- Directives -- Options -- Three-dimensional graphics -- Structure of built-in graphics functions -- Exercises -- 8.2 Dynamic graphics -- Manipulate and locators -- Dynamic building blocks -- Exercises -- 8.3 Efficient structures -- Multi-objects -- GraphicsComplex -- Numeric vs. symbolic expressions -- Exercises -- 8.4 Examples -- Root plots -- Venn diagrams -- Dot plots -- Hypocycloids -- Space-filling plots -- Simple closed paths -- Points in a polygon -- Triangle centers -- Exercises -- 8.5 Notes and further reading -- 9 Program optimization -- 9.1 Efficient programs -- Low-level vs. high-level functions -- Pattern matching -- Reducing size of computation -- Symbolic vs. numeric computation -- Listability -- Packed arrays -- Pure functions -- Built-in pure functions -- Exercises -- 9.2 Parallel processing -- Basic examples -- Profiling -- Exercises -- 9.3 Compiling -- Compile -- Compiling to C -- Exercises -- 9.4 Notes and further reading -- 10 Packages -- 10.1 Working with packages -- Loading and using packages -- Package location -- 10.2 Creating packages -- Contexts -- Package framework -- Creation and deployment -- 10.3 RandomWalks package -- Package source code -- Running the package.
,
Exercises -- 10.4 Notes and further reading -- Bibliography -- Index.
Additional Edition:
ISBN 1-107-11666-X
Language:
English
Subjects:
Computer Science
URL:
https://doi.org/10.1017/CBO9781316337738
Bookmarklink