To send content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about sending content to .
To send content items to your Kindle, first ensure email@example.com
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about sending to your Kindle.
Note you can select to send to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be sent to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
The unique feature of this compact student's introduction to Mathematica® and the Wolfram Language™ is that the order of the material closely follows a standard mathematics curriculum. As a result, it provides a brief introduction to those aspects of the Mathematica® software program most useful to students. Used as a supplementary text, it will help bridge the gap between Mathematica® and the mathematics in the course, and will serve as an excellent tutorial for former students. There have been significant changes to Mathematica® since the second edition, and all chapters have now been updated to account for new features in the software, including natural language queries and the vast stores of real-world data that are now integrated through the cloud. This third edition also includes many new exercises and a chapter on 3D printing that showcases the new computational geometry capabilities that will equip readers to print in 3D.
Maple is a powerful symbolic computation system that is widely used in universities around the world. This short introduction gives readers an insight into the rules that control how the system works, and how to understand, fix, and avoid common problems. Topics covered include algebra, calculus, linear algebra, graphics, programming, and procedures. Each chapter contains numerous illustrative examples, using mathematics that does not extend beyond first-year undergraduate material. Maple worksheets containing these examples are available for download from the author's personal website. The book is suitable for new users, but where advanced topics are central to understanding Maple they are tackled head-on. Many concepts which are absent from introductory books and manuals are described in detail. With this book, students, teachers and researchers will gain a solid understanding of Maple and how to use it to solve complex mathematical problems in a simple and efficient way.
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.
The Seismic Analysis Code (SAC) is one of the most widely used analysis packages for regional and teleseismic seismic data. For the first time, this book provides users at introductory and advanced levels with a complete guide to SAC. It leads new users of SAC through the steps of learning basic commands, describes the SAC processing philosophy, and presents its macro language in full, supported throughout with example inputs and outputs from SAC. For more experienced practitioners, the book describes SAC's many hidden features, including advanced graphics aspects, its file structure, how to write independent programs to access and create files, and much more. Tutorial exercises engage users with newly acquired skills, providing data and code to implement the standard methods of teleseismic shear-wave splitting and receiver function analysis. Methodical and authoritative, this is a key resource for researchers and graduate students in global seismology, earthquake seismology and geophysics.
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 www.cambridge.org/wellin.
The Foundations of Computational Mathematics meetings are a platform for cross-fertilisation between numerical analysis, mathematics and computer science. This volume is a collection of articles based on plenary presentations, given at the 2011 meeting, by some of the world's foremost authorities in computational mathematics. The topics covered reflect the breadth of research within the area as well as the richness of interactions between seemingly unrelated branches of pure and applied mathematics. As a result this volume will be of interest to researchers in the field of computational mathematics and also to non-experts who wish to gain some insight into the state of the art in this active and significant field.
The world is awash with digital data from social networks, blogs, business, science and engineering. Data-intensive computing facilitates understanding of complex problems that must process massive amounts of data. Through the development of new classes of software, algorithms and hardware, data-intensive applications can provide timely and meaningful analytical results in response to exponentially growing data complexity and associated analysis requirements. This emerging area brings many challenges that are different from traditional high-performance computing. This reference for computing professionals and researchers describes the dimensions of the field, the key challenges, the state of the art and the characteristics of likely approaches that future data-intensive problems will require. Chapters cover general principles and methods for designing such systems and for managing and analyzing the big data sets of today that live in the cloud and describe example applications in bioinformatics and cybersecurity that illustrate these principles in practice.
From its earliest days, the Fortran programming language has been designed with computing efficiency in mind. The latest standard, Fortran 2008, incorporates a host of modern features, including object-orientation, array operations, user-defined types, and provisions for parallel computing. This tutorial guide shows Fortran programmers how to apply these features in twenty-first-century style: modular, concise, object-oriented, and resource-efficient, using multiple processors. It offers practical real-world examples of interfacing to C, memory management, graphics and GUIs, and parallel computing using MPI, OpenMP, and coarrays. The author also analyzes several numerical algorithms and their implementations and illustrates the use of several open source libraries. Full source code for the examples is available on the book's website.
Fortran is one of the oldest high-level languages and remains the premier language for writing code for science and engineering applications. This book is for anyone who uses Fortran, from the novice learner to the advanced expert. It describes best practices for programmers, scientists, engineers, computer scientists and researchers who want to apply good style and incorporate rigorous usage in their own Fortran code or to establish guidelines for a team project. The presentation concentrates primarily on the characteristics of Fortran 2003, while also describing methods in Fortran 90/95 and valuable new features in Fortran 2008. The authors draw on more than a half century of experience writing production Fortran code to present clear succinct guidelines on formatting, naming, documenting, programming and packaging conventions and various programming paradigms such as parallel processing (including OpenMP, MPI and coarrays), OOP, generic programming and C language interoperability.
The authors analyze how the structure of a package determines its developmental complexity according to such measures as bug search times and documentation information content. The work presents arguments for why these issues impact solution cost and time more than does scalable performance. The final chapter explores the question of scalable execution and shows how scalable design relates to scalable execution. The book's focus is on program organization, which has received considerable attention in the broader software engineering community, where graphical description standards for modeling software structure and behavior have been developed by computer scientists. These discussions might be enriched by engineers who write scientific codes. This book aims to bring such scientific programmers into discussion with computer scientists. The authors do so by introducing object-oriented software design patterns in the context of scientific simulation.
The Elements of MATLAB Style is a guide for both new and experienced MATLAB programmers. It provides a comprehensive collection of standards and guidelines for creating solid MATLAB code that will be easy to understand, enhance, and maintain. It is written for both individuals and those working in teams in which consistency is critical. This is the only book devoted to MATLAB style and best programming practices, focusing on how MATLAB code can be written in order to maximize its effectiveness. Just as Strunk and White's The Elements of Style provides rules for writing in the English language, this book provides conventions for formatting, naming, documentation, programming and testing. It includes many concise examples of correct and incorrect usage, as well as coverage of the latest language features. The author also provides recommendations on use of the integrated development environment features that help produce better, more consistent software.
Advances in scientific computing have made modelling and simulation an important part of the decision-making process in engineering, science, and public policy. This book provides a comprehensive and systematic development of the basic concepts, principles, and procedures for verification and validation of models and simulations. The emphasis is placed on models that are described by partial differential and integral equations and the simulations that result from their numerical solution. The methods described can be applied to a wide range of technical fields, from the physical sciences, engineering and technology and industry, through to environmental regulations and safety, product and plant safety, financial investing, and governmental regulations. This book will be genuinely welcomed by researchers, practitioners, and decision makers in a broad range of fields, who seek to improve the credibility and reliability of simulation results. It will also be appropriate either for university courses or for independent study.
Fundamental arithmetic operations support virtually all of the engineering, scientific, and financial computations required for practical applications, from cryptography, to financial planning, to rocket science. This comprehensive reference provides researchers with the thorough understanding of number representations that is a necessary foundation for designing efficient arithmetic algorithms. Using the elementary foundations of radix number systems as a basis for arithmetic, the authors develop and compare alternative algorithms for the fundamental operations of addition, multiplication, division, and square root with precisely defined roundings. Various finite precision number systems are investigated, with the focus on comparative analysis of practically efficient algorithms for closed arithmetic operations over these systems. Each chapter begins with an introduction to its contents and ends with bibliographic notes and an extensive bibliography. The book may also be used for graduate teaching: problems and exercises are scattered throughout the text and a solutions manual is available for instructors.
The first book to approach high oscillation as a subject of its own, Highly Oscillatory Problems begins a new dialogue and lays the groundwork for future research. It ensues from the six-month programme held at the Newton Institute of Mathematical Sciences, which was the first time that different specialists in highly oscillatory research, from diverse areas of mathematics and applications, had been brought together for a single intellectual agenda. This ground-breaking volume consists of eight review papers by leading experts in subject areas of active research, with an emphasis on computation: numerical Hamiltonian problems, highly oscillatory quadrature, rapid approximation of functions, high frequency wave propagation, numerical homogenization, discretization of the wave equation, high frequency scattering and the solution of elliptic boundary value problems.
This volume is a collection of articles based on the plenary talks presented at the 2008 meeting in Hong Kong of the Society for the Foundations of Computational Mathematics. The talks were given by some of the foremost world authorities in computational mathematics. The topics covered reflect the breadth of research within the area as well as the richness and fertility of interactions between seemingly unrelated branches of pure and applied mathematics. As a result this volume will be of interest to researchers in the field of computational mathematics and also to non-experts who wish to gain some insight into the state of the art in this active and significant field.
The unique feature of this compact student's introduction is that it presents concepts in an order that closely follows a standard mathematics curriculum, rather than structure the book along features of the software. As a result, the book provides a brief introduction to those aspects of the Mathematica software program most useful to students. The second edition of this well loved book is completely rewritten for Mathematica 6 including coverage of the new dynamic interface elements, several hundred exercises and a new chapter on programming. This book can be used in a variety of courses, from precalculus to linear algebra. Used as a supplementary text it will aid in bridging the gap between the mathematics in the course and Mathematica. In addition to its course use, this book will serve as an excellent tutorial for those wishing to learn Mathematica and brush up on their mathematics at the same time.
Where did SARS come from? Have we inherited genes from Neanderthals? How do plants use their internal clock? The genomic revolution in biology enables us to answer such questions. But the revolution would have been impossible without the support of powerful computational and statistical methods that enable us to exploit genomic data. Many universities are introducing courses to train the next generation of bioinformaticians: biologists fluent in mathematics and computer science, and data analysts familiar with biology. This readable and entertaining book, based on successful taught courses, provides a roadmap to navigate entry to this field. It guides the reader through key achievements of bioinformatics, using a hands-on approach. Statistical sequence analysis, sequence alignment, hidden Markov models, gene and motif finding and more, are introduced in a rigorous yet accessible way. A companion website provides the reader with Matlab-related software tools for reproducing the steps demonstrated in the book.
The core of scientific computing is designing, writing, testing, debugging and modifying numerical software for application to a vast range of areas: from graphics, meteorology and chemistry to engineering, biology and finance. Scientists, engineers and computer scientists need to write good code, for speed, clarity, flexibility and ease of re-use. Oliveira and Stewart's style guide for numerical software points out good practices to follow, and pitfalls to avoid. By following their advice, readers will learn how to write efficient software, and how to test it for bugs, accuracy and performance. Techniques are explained with a variety of programming languages, and illustrated with two extensive design examples, one in Fortran 90 and one in C++: other examples in C, C++, Fortran 90 and Java are scattered throughout the book. This manual of scientific computing style will be an essential addition to the bookshelf and lab of everyone who writes numerical software.
In this text, students of applied mathematics, science and engineering are introduced to fundamental ways of thinking about the broad context of parallelism. The authors begin by giving the reader a deeper understanding of the issues through a general examination of timing, data dependencies, and communication. These ideas are implemented with respect to shared memory, parallel and vector processing, and distributed memory cluster computing. Threads, OpenMP, and MPI are covered, along with code examples in Fortran, C, and Java. The principles of parallel computation are applied throughout as the authors cover traditional topics in a first course in scientific computing. Building on the fundamentals of floating point representation and numerical error, a thorough treatment of numerical linear algebra and eigenvector/eigenvalue problems is provided. By studying how these algorithms parallelize, the reader is able to explore parallelism inherent in other computations, such as Monte Carlo methods.
This volume is a collection of articles based on the plenary talks presented at the 2005 meeting in Santander of the Society for the Foundations of Computational Mathematics. The talks were given by some of the foremost world authorities in computational mathematics. The topics covered reflect the breadth of research within the area as well as the richness and fertility of interactions between seemingly unrelated branches of pure and applied mathematics. As a result this volume will be of interest to researchers in the field of computational mathematics and also to non-experts who wish to gain some insight into the state of the art in this active and significant field.