Introduction to Computational Science


Book Description

The essential introduction to computational science—now fully updated and expanded Computational science is an exciting new field at the intersection of the sciences, computer science, and mathematics because much scientific investigation now involves computing as well as theory and experiment. This textbook provides students with a versatile and accessible introduction to the subject. It assumes only a background in high school algebra, enables instructors to follow tailored pathways through the material, and is the only textbook of its kind designed specifically for an introductory course in the computational science and engineering curriculum. While the text itself is generic, an accompanying website offers tutorials and files in a variety of software packages. This fully updated and expanded edition features two new chapters on agent-based simulations and modeling with matrices, ten new project modules, and an additional module on diffusion. Besides increased treatment of high-performance computing and its applications, the book also includes additional quick review questions with answers, exercises, and individual and team projects. The only introductory textbook of its kind—now fully updated and expanded Features two new chapters on agent-based simulations and modeling with matrices Increased coverage of high-performance computing and its applications Includes additional modules, review questions, exercises, and projects An online instructor's manual with exercise answers, selected project solutions, and a test bank and solutions (available only to professors) An online illustration package is available to professors




An Introduction to Computational Science


Book Description

This textbook provides an introduction to the growing interdisciplinary field of computational science. It combines a foundational development of numerical methods with a variety of illustrative applications spread across numerous areas of science and engineering. The intended audience is the undergraduate who has completed introductory coursework in mathematics and computer science. Students gain computational acuity by authoring their own numerical routines and by practicing with numerical methods as they solve computational models. This education encourages students to learn the importance of answering: How expensive is a calculation, how trustworthy is a calculation, and how might we model a problem to apply a desired numerical method? The text is written in two parts. Part I provides a succinct, one-term inauguration into the primary routines on which a further study of computational science rests. The material is organized so that the transition to computational science from coursework in calculus, differential equations, and linear algebra is natural. Beyond the mathematical and computational content of Part I, students gain proficiency with elemental programming constructs and visualization, which are presented in MATLAB syntax. The focus of Part II is modeling, wherein students build computational models, compute solutions, and report their findings. The models purposely intersect numerous areas of science and engineering to demonstrate the pervasive role played by computational science.




Insight Through Computing


Book Description

An introduction to computer-based problem-solving using the MATLAB® environment for undergraduates.




Introduction to Computational Social Science


Book Description

This textbook provides a comprehensive and reader-friendly introduction to the field of computational social science (CSS). Presenting a unified treatment, the text examines in detail the four key methodological approaches of automated social information extraction, social network analysis, social complexity theory, and social simulation modeling. This updated new edition has been enhanced with numerous review questions and exercises to test what has been learned, deepen understanding through problem-solving, and to practice writing code to implement ideas. Topics and features: contains more than a thousand questions and exercises, together with a list of acronyms and a glossary; examines the similarities and differences between computers and social systems; presents a focus on automated information extraction; discusses the measurement, scientific laws, and generative theories of social complexity in CSS; reviews the methodology of social simulations, covering both variable- and object-oriented models.




Computational Materials Science


Book Description

This book covers the essentials of Computational Science and gives tools and techniques to solve materials science problems using molecular dynamics (MD) and first-principles methods. The new edition expands upon the density functional theory (DFT) and how the original DFT has advanced to a more accurate level by GGA+U and hybrid-functional methods. It offers 14 new worked examples in the LAMMPS, Quantum Espresso, VASP and MedeA-VASP programs, including computation of stress-strain behavior of Si-CNT composite, mean-squared displacement (MSD) of ZrO2-Y2O3, band structure and phonon spectra of silicon, and Mo-S battery system. It discusses methods once considered too expensive but that are now cost-effective. New examples also include various post-processed results using VESTA, VMD, VTST, and MedeA.




Introduction to Computation and Programming Using Python, second edition


Book Description

The new edition of an introductory text that teaches students the art of computational problem solving, covering topics ranging from simple algorithms to information visualization. This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (MOOC). This new edition has been updated for Python 3, reorganized to make it easier to use for courses that cover only a subset of the material, and offers additional material including five new chapters. Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. This edition offers expanded material on statistics and machine learning and new chapters on Frequentist and Bayesian statistics.




Fundamentals of Scientific Computing


Book Description

The book of nature is written in the language of mathematics -- Galileo Galilei How is it possible to predict weather patterns for tomorrow, with access solely to today’s weather data? And how is it possible to predict the aerodynamic behavior of an aircraft that has yet to be built? The answer is computer simulations based on mathematical models – sets of equations – that describe the underlying physical properties. However, these equations are usually much too complicated to solve, either by the smartest mathematician or the largest supercomputer. This problem is overcome by constructing an approximation: a numerical model with a simpler structure can be translated into a program that tells the computer how to carry out the simulation. This book conveys the fundamentals of mathematical models, numerical methods and algorithms. Opening with a tutorial on mathematical models and analysis, it proceeds to introduce the most important classes of numerical methods, with finite element, finite difference and spectral methods as central tools. The concluding section describes applications in physics and engineering, including wave propagation, heat conduction and fluid dynamics. Also covered are the principles of computers and programming, including MATLAB®.




A Survey of Computational Physics


Book Description

Computational physics is a rapidly growing subfield of computational science, in large part because computers can solve previously intractable problems or simulate natural processes that do not have analytic solutions. The next step beyond Landau's First Course in Scientific Computing and a follow-up to Landau and Páez's Computational Physics, this text presents a broad survey of key topics in computational physics for advanced undergraduates and beginning graduate students, including new discussions of visualization tools, wavelet analysis, molecular dynamics, and computational fluid dynamics. By treating science, applied mathematics, and computer science together, the book reveals how this knowledge base can be applied to a wider range of real-world problems than computational physics texts normally address. Designed for a one- or two-semester course, A Survey of Computational Physics will also interest anyone who wants a reference on or practical experience in the basics of computational physics. Accessible to advanced undergraduates Real-world problem-solving approach Java codes and applets integrated with text Companion Web site includes videos of lectures




Introduction to Computational Models with Python


Book Description

Introduction to Computational Models with Python explains how to implement computational models using the flexible and easy-to-use Python programming language. The book uses the Python programming language interpreter and several packages from the huge Python Library that improve the performance of numerical computing, such as the Numpy and Scipy m




An Introduction to Computational Learning Theory


Book Description

Emphasizing issues of computational efficiency, Michael Kearns and Umesh Vazirani introduce a number of central topics in computational learning theory for researchers and students in artificial intelligence, neural networks, theoretical computer science, and statistics. Emphasizing issues of computational efficiency, Michael Kearns and Umesh Vazirani introduce a number of central topics in computational learning theory for researchers and students in artificial intelligence, neural networks, theoretical computer science, and statistics. Computational learning theory is a new and rapidly expanding area of research that examines formal models of induction with the goals of discovering the common methods underlying efficient learning algorithms and identifying the computational impediments to learning. Each topic in the book has been chosen to elucidate a general principle, which is explored in a precise formal setting. Intuition has been emphasized in the presentation to make the material accessible to the nontheoretician while still providing precise arguments for the specialist. This balance is the result of new proofs of established theorems, and new presentations of the standard proofs. The topics covered include the motivation, definitions, and fundamental results, both positive and negative, for the widely studied L. G. Valiant model of Probably Approximately Correct Learning; Occam's Razor, which formalizes a relationship between learning and data compression; the Vapnik-Chervonenkis dimension; the equivalence of weak and strong learning; efficient learning in the presence of noise by the method of statistical queries; relationships between learning and cryptography, and the resulting computational limitations on efficient learning; reducibility between learning problems; and algorithms for learning finite automata from active experimentation.