Skip to main content Accessibility help
Programming with <I>Mathematica</I>®
  • Export citation
  • Recommend to librarian
  • Buy the print book

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 throughout the text demonstrate how Mathematica 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 290 exercises are provided to challenge the reader's understanding of the material covered and these provide ample opportunity to practice using the language. Mathematica notebooks containing examples, programs and solutions to exercises are available from

Refine List

Actions for selected content:

Select all | Deselect all
  • View selected items
  • Export citations
  • Download PDF (zip)
  • Send to Kindle
  • Send to Dropbox
  • Send to Google Drive

Save Search

You can save your searches here and later view and run them again in "My saved searches".

Please provide a title, maximum of 40 characters.


Callaway, Duncan S., Mark E.J., Newman, Steven H., Strogatz, and Duncan J., Watts. 2000. Network robustness and fragility: percolation on random graphs. Physical Review Letters, 5, 355–360.
Grimmett, Geoffrey. 1999. Percolation, second edition. Springer.
Moore, Cristopher and Mark E.J., Newman. 2000. Exact solution of bond percolation on small-world networks. Physical Review E, 62, 7059–7064.
National Elevation Dataset. US Geological Survey,
Padmanabhan, Thanu. 1998. After the First Three Minutes: The Story of our Universe. Cambridge University Press.
Stauffer, Dietrich and Ammon, Aharony. 1994. Introduction to Percolation Theory, second edition. Taylor & Francis.
C/C++ Language Interface. Wolfram Mathematica Documentation Center,
Database Connectivity. Wolfram Mathematica Documentation Center,
Entering Two-Dimensional Input. Wolfram Mathematica Documentation Center,
J/Link User Guide. Wolfram Mathematica Documentation Center,
.NET/Link User Guide. Wolfram Mathematica Documentation Center,
Two-Dimensional Expression Input. Wolfram Mathematica Documentation Center,
Using a Notebook Interface. Wolfram Mathematica Documentation Center,
Working with Cells. Wolfram Mathematica Documentation Center,
Enderton, Herbert B. 1972. A Mathematical Introduction to Logic. Academic Press.
Maeder, Roman E. 1992. The design of the Mathematica programming language. Dr. Dobb's Journal, 17(4), 86.
Maeder, Roman E. 1997. Programming in Mathematica, third edition. Addison-Wesley.
Maeder, Roman E. 2000. Computer Science with Mathematica: Theory and Practice for Science, Mathematics, and Engineering. Cambridge University Press.
Attributes. Wolfram Mathematica Documentation Center,
Evaluation of Expressions. Wolfram Mathematica Documentation Center,
Evaluation: The Standard Evaluation Sequence. Wolfram Mathematica Documentation Center,
Operator Input Forms. Wolfram Mathematica Documentation Center,
Davis, Timothy A. and Yifan, Hu. 2011. The University of Florida sparse matrix collection. ACM Transactions on Mathematical Software, 38(1), 1–25.
Duff, Iain S., Roger G., Grimes, and John G., Lewis. 1989. Sparse matrix test problems. ACM Transactions on Mathematical Software, 15(1), 1–14.
Watts, Duncan J. and Steven H., Strogatz. 1998. Collective dynamics of small-world networks. Nature, 393, 440–442.
Lagarias, Jeffrey. 1985. The 3x + 1 problem. American Mathematical Monthly, 92, 3–23.
Maeder, Roman E. 1994. Animated algorithms. The Mathematica Journal, 4(4), 86,
Sedgewick, Robert and Kevin, Wayne. 2011. Algorithms, fourth edition. Addison-Wesley.
Wagon, Stan. 1999. Mathematica in Action, second edition. TELOS/Springer-Verlag.
Brent, Richard P. 1980. An improved Monte Carlo factorization algorithm. BIT, 20(2), 176–184,
Crandall, Richard E. and Carl, Pomerance. 2005. Prime Numbers: A Computational Perspective, second edition. Springer.
Diaconis, Persi and Dave, Bayer. 1992. Trailing the dovetail shuffle to its lair. Annals of Applied Probability, 2(2), 294–313,
Diaconis, Persi, Ron L., Graham, and William M., Kantor. 1983. The mathematics of perfect shuffles. Advances in Applied Mathematics, 4(2), 175–196, 05_shuffles.pdf.
Dijkstra, Edsger W. 1981. Hamming's exercise in SASL. Report EWD792,
Floyd, Robert W. 1962. Algorithm 97: shortest path. Communications of the ACM, 5(6).
Graham, Ronald, Donald E., Knuth, and Oren, Patashnik. 1994. Concrete Mathematics: A Foundation for Computer Science, second edition. Addison-Wesley.
Hamming, Richard W. 1950. Error detecting and error correcting codes. Bell System Technical Journal, 29(2), 147–160.
Herstein, Israel N. and Irving, Kaplansky. 1978. Matters Mathematical. AMS Chelsea Publishing.
Hoffman, Paul. 1998. The Man Who Loved Only Numbers: The Story of Paul Erdös and the Search for Mathematical Truth. Hyperion.
Knuth, Donald E. 1993. The Stanford GraphBase: A Platform for Combinatorial Computing. ACM Press.
Meringer, Markus and Eric W., Weisstein. Regular, graph. MathWorld,
De Las Rivas, J. and C., Fontanillo. 2010. Protein–protein interactions essentials: key concepts to building and analyzing interactome networks. PLoS Computational Biology, 6(6): e1000807. doi:10.1371/journal.pcbi.1000807.
Sedgewick, Robert and Kevin, Wayne. 2011. Algorithms, fourth edition. Addison-Wesley.
Worm interactome database. Center for Cancer Systems Biology,
Knuth, Donald E. 1998. The Art of Computer Programming, Volume 3: Sorting and Searching, second edition. Addison-Wesley.
Lagarias, Jeffrey C., Victor S., Miller, and Andrew M., Odlyzko. 1985. Computing pHxL: the Meissel–Lehmer method. Mathematics of Computation, 44, 537–560.
Lagarias, Jeffrey C. and Andrew M., Odlyzko. 1987. Computing pHxL: an analytic method. Journal of Algorithms, 8, 173–191.
Press, William H., Saul A., Teukolsky, William T., Vetterling, and Brian P., Flannery. 2007. Numerical Recipes: The Art of Scientific Computing, third edition. Cambridge University Press.
Rust, Bert W. and Walter R., Burrus. 1972. Mathematical Programming and the Numerical Solution of Linear Equations. American Elsevier.
Weisstein, Eric W. Lucky number. MathWorld,
Graham, Ronald, Donald E., Knuth, and Oren, Patashnik. 1994. Concrete Mathematics: A Foundation for Computer Science, second edition. Addison-Wesley.
HaskellWiki, . The Fibonacci sequence. The Haskell Programming Language,
Knuth, Donald E. 1997. The Art of Computer Programming Volume 1: Fundamental Algorithms, third edition. Addison-Wesley.
Knuth, Donald E. 2001. Textbook examples of recursion, in Selected Papers on Analysis of Algorithms. Center for the Study of Language and Information,
Pemmaraju, Sriram V. and Steven S., Skiena. 2003. Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Cambridge University Press.
Bailey, David H., Jonathan M., Borwein, Cristian S., Calude, et al. 2012. Normality and the digits of π,
Box, George E.P., Gwilym M., Jenkins, and Gregory C., Reinsel. 2008. Time Series Analysis: Forecasting and Control, fourth edition. John Wiley & Sons.
Burden, Richard L. and J. Douglas, Faires. 2001. Numerical Analysis, seventh edition. Brooks/Cole.
Chatfield, Christopher. 2004. The Analysis of Time Series: An Introduction, fourth edition. Chapman & Hall/CRC Press.
,Costa, Luciano da Fontoura and Roberto Marcondes Cesar. 2001. Shape Analysis and Classification: Theory and Practice. CRC Press.
Cover, Thomas M. and Joy A., Thomas. 2006. Elements of Information Theory, second edition. Wiley Interscience.
Goldberg, David. 1991. What every computer scientist should know about floating-point arithmetic. ACM Computing Surveys, 23(1), 5–47. Reprint available online at
Hayes, Allan. 1992. Sum of cubes of digits, driven to abstraction. Mathematica in Education, 1(4), 3–11.
Kenny, Charmaine. Random number generators: an evaluation and comparison of and some commonly used generators. Management Science and Information Systems Studies, Trinity College Dublin,
Knapp, Rob. 2001. Numerical Mathematica. 2001 International Mathematica Symposium,
Knuth, Donald E. 1997. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, third edition. Addison-Wesley.
Manning, Christopher D. and Hinrich, Schütze. 1999. Foundations of Statistical Natural Language Processing. The MIT Press.
Muller, Jean-Michel, Nicolas, Brisebarre, Florent, de Dinechin, et al. 2010. Handbook of Floating-Point Arithmetic. Birkhäuser.
National Institute of Standards and Technology. Nist/Sematech e-handbook of statistical methods,
,National Institute of Standards and Technology. Sparse matrix collection,
Rudnick, Joseph and George, Gaspari. 2004. Elements of the Random Walk: An Introduction for Advanced Students and Researchers. Cambridge University Press.
Rukhin, Andrew, Juan, Soto, James, Nechvatal, et al. 2010. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. National Institute of Standards and Technology. Special publication 800–22, Rev. 1a.
Shannon, Claude E. 1948. A mathematical theory of computation. Bell System Technical Journal, 27, 379–423 and 623–656. Reprint available online at
Skeel, Robert D. and Jerry B., Keiper. 1993. Elementary Numerical Computing with Mathematica. McGraw-Hill.
Soto, Juan. Statistical testing of random number generators. National Institute of Standards and Technology,
Borges, Jorge Luis. 1983. The Library of Babel, in Labyrinths: Selected Short Stories & Other Writings. Modern Library.
British Academic Spoken English (Base) and Base Plus Collections. Centre for Applied Linguistics, University of Warwick.
Chomsky, Noam. 2002. Syntactic Structures, second edition. Mouton de Gruyter.
Cristianini, Nello and Matthew W., Hahn. 2007. Introduction to Computational Genomics: A Case Studies Approach. Cambridge University Press.
DNA Data Bank of Japan. Center for Information Biology, National Institute of Genetics,
Friedl, Jeffrey E.F. 2006. Mastering Regular Expressions, third edition. O'Reilly Media.
Genome Composition Database. Research Organization of Information and Systems, National Institute of Genetics,
Joyce, James. 1939. Finnegans Wake. Viking Penguin Inc.
Jurafsky, Daniel and James H., Martin. 2009. Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, second edition. Pearson Prentice Hall.
Manning, Christopher D. and Hinrich, Schütze. 1999. Foundations of Statistical Natural Language Processing. The MIT Press.
Manning, Christopher D., Prabhakar, Raghavan, and Hinrich, Schütze. 2008. Introduction to Information Retrieval. Cambridge University Press.
Nucleotide Database. National Center for Biotechnology Information,
Paar, Christof and Jan, Pelzl. 2010. Understanding Cryptography: A Textbook for Students and Practitioners. Springer.
Project, Gutenberg.
Schwartz, Randal L., Brian d, foy, and Tom, Phoenix. 2011. Learning Perl, sixth edition. O'Reilly & Associates.
Sinkov, Abraham. 1966. Elementary Cryptanalysis: A Mathematical Approach. The Mathematical Association of America.
Teetor, Paul. 2011. R Cookbook. O'Reilly Media.
Unicode 6.1 Character Code Charts. The Unicode Consortium.
,University of Chicago Press. 2010. The Chicago Manual of Style, sixteenth edition. University of Chicago Press.
Wall, Larry, Tom, Christiansen, and Jon, Orwant. 2000. Programming Perl, third edition. O'Reilly Media.
,Wikibooks. Python programming/strings,
Regular Expressions. Wolfram Mathematica Documentation Center,
Working with String Patterns. Wolfram Mathematica Documentation Center,
Abbott, Paul. 1998. Finding roots in an interval. The Mathematica Journal, 7(2), 108–112.
Bailey, David H., Jonathan M., Borwein, Cristian S., Calude, et al. 2012. Normality and the digits of π,
Bowerman, Bruce L., Richard T., O'Connell, and Anne B., Koehler. 2005. Forecasting, Time Series, and Regression: An Applied Approach. Thomson Brooks/Cole.
Casti, John L. 1992. Reality Rules I, Picturing the World in Mathematics – The Fundamentals. John Wiley & Sons.
Cook, Stephen A. 2000. The P versus NP Problem. Manuscript prepared for the Clay Mathematics Institute for the Millennium Prize Problems,
Gardner, Martin. 1992. Fractal Music, Hypercards, and More… Mathematical Recreations from Scientific American Magazine. W.H. Freeman.
Goldreich, Oded. 2010. P, NP, and NP-Completeness: The Basics of Computational Complexity. Cambridge University Press.
Golin, Mordecai and Robert, Sedgewick. 1988. Analysis of a simple yet efficient convex hull algorithm. Proceedings of the Fourth Annual Symposium on Computational Geometry, 153–163, ACM.
Graham, Ronald. 1994. An efficient algorithm for determining the convex hull of a finite planar set. Information Processing Letters, 1, 1972.
Heckbert, Paul S., ed. 1994. Graphics Gems IV. Academic Press.
Jarvis, Ray A. 1973. On the identification of the convex hull of a finite set of points in the plane. Information Processing Letters, 2, 18–21.
Lawler, Eugene L., Jan Karel Lenstra, A.H.G.Rinnooy, Kan, and D.B., Shmoys. 1985. The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization. John Wiley & Sons.
Lima, Manuel. 2011. Visual Complexity: Mapping Patterns of Information. Princeton Architectural Press.
Lin, Shen 1965. Computer solutions of the traveling salesman problem. Bell System Technical Journal, 44, 2245–2269.
Mandelbrot, Benoît. 1982. The Fractal Geometry of Nature. W.H. Freeman.
Maor, Eli. 1998. Trigonometric Delights. Princeton University Press.
Mathews, Max V., Joan E., Miller, F. Richard, Moore, et al. 1969. The Technology of Computer Music. The MIT Press.
O'Rourke, Joseph. 1998. Computational Geometry in C, second edition. Cambridge University Press.
Pemmaraju, Sriram V. and Steven S., Skiena. 2003. Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Cambridge University Press.
Pierce, John R. 1983. The Science of Musical Sound. W.H. Freeman.
Platzman, Loren K. and John J., Bartholdi III. 1989. Spacefilling curves and the planar traveling salesman problem. Journal of the ACM, 36, 719–737.
Porta, Horacio, William, Davis, and Jerry, Uhl. 1994. Calculus&Mathematica. Addison-Wesley.
Preparata, Franco P. and Michael Ian, Shamos. 1985. Computational Geometry: An Introduction. Springer-Verlag.
Rosenkrantz, Daniel J., Richard E., Stearns, and Philip M., Lewis. 1977. An analysis of several heuristics for the traveling salesman problem. SIAM Journal of Computing, 6(3), 563–581,
Rossing, Thomas D. 1990. The Science of Sound, second edition. Addison-Wesley.
Shamos, Michael I. and Dan, Hoey. 1975. Closest-point problems. In 16th Annual Symposium on Foundations of Computer Science. IEEE.
Shepard, Roger. 1962. The analysis of proximities: multidimensional scaling with an unknown distance factor. Psychometrika, 27, 125–140.
Thomsen, Dietrich E. 1980. Making music – fractally. Science News, 117, 187.
Voss, Richard F. and John, Clarke. 1978. 1/f noise in music and speech. Journal of the Acoustical Society of America, 63, 258–263.
Weisstein, Eric W. Hypocycloid. MathWorld,
Three-Dimensional Graphics Directives (tutorial). Wolfram Mathematica Documentation Center,
Three-Dimensional Graphics Primitives (tutorial). Wolfram Mathematica Documentation Center,
Boyer, Carl B. 1985. A History of Mathematics. Princeton University Press.
Davis Joseph, H. 2004. An annual index of US industrial production, 1790–1915. Quarterly Journal of Economics, 119(4): 1177–1215. Data available online at
Duchamp, Marcel. 1926. Anémic Cinéma. Video available online at
Grünbaum, Branko. 1984. On Venn diagrams and the counting of regions. The College Mathematics Journal, 15, 433–435.
Lawler, Eugene L., Jan Karel Lenstra, A.H.G.Rinnooy, Kan, and D.B., Shmoys. 1985. The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization. John Wiley & Sons.
Ruskey, Frank and Mark, Weston. 2005. A survey of Venn diagrams. The Electronic Journal of Combinatorics, DDS5,
Advanced Dynamic Functionality. Wolfram Mathematica Documentation Center,
Control Objects. Wolfram Mathematica Documentation Center,
Introduction to Dynamic. Wolfram Mathematica Documentation Center,
Bourke, Paul. 2001. Julia Set Fractal (2D),
Knuth, Donald E. 1992. Literate Programming. Center for the Study of Language and Information.
Peitgen, Heinz-Otto, Hartmut, Jürgens, and Dietmar, Saupe. 1992. Chaos and Fractals: New Frontiers of Science. Springer-Verlag.
Barber, Michael N. and Barry W., Ninham. 1970. Random and Restricted Walks: Theory and Applications. Gordon and Breach.
Feller, William. 1968. An Introduction to Probability Theory and its Applications, Volume 1, third edition. John Wiley & Sons.
Gaylord, Richard J. and Paul R., Wellin. 1995. Computer Simulations with Mathematica, Explorations in Complex Physical and Biological Systems. TELOS/Springer-Verlag.
Madras, Neal and Gordon, Slade. 1996. The Self-Avoiding Walk. Birkhäuser.
Pearson, Karl. 1905. The problem of the random walk, Nature, 72, 294.
Weiss, George H. 1983. Random walks and their applications. American Scientist, 71, 65–71.
Weiss, George H. 1994. Aspects and Applications of the Random Walk. North-Holland.
Weisstein, Eric W. Sphere point picking. MathWorld,
Wolfram, Workbench. Mathematica development user guide,
Crandall, Richard E. 1994. Projects in Scientific Computation. TELOS/Springer-Verlag.
Crandall, Richard E. 1996. Topics in Advanced Scientific Computation. TELOS/Springer-Verlag.
Floyd, Robert W. 1979. The paradigms of programming. Communications of the ACM, 22(8).
Mangano, Salvatore. 2010. Mathematica Cookbook. O'Reilly Media.
The Mathematica Journal. Wolfram Media,
Trott, Michael. 2004. The Mathematica Guidebook for Programming. Springer-Verlag.
Trott, Michael. 2004. The Mathematica Guidebook for Graphics. Springer-Verlag.
Wickham-Jones, Tom. 1994. Computer Graphics with Mathematica. TELOS/Springer-Verlag.


Altmetric attention score

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Book summary page views

Total views: 0 *
Loading metrics...

* Views captured on Cambridge Core between #date#. This data will be updated every 24 hours.

Usage data cannot currently be displayed.