A Short Course in Computational Science and Engineering


Book Description

A concise, comprehensive one-stop overview of three key programming languages, C++, Java and Octave, for students, instructors and scientific programmers.




A Short Course in Computational Science and Engineering


Book Description

Building on his highly successful textbook on C++, David Yevick provides a concise yet comprehensive one-stop course in three key programming languages, C++, Java and Octave (a freeware alternative to MATLAB). Employing only public-domain software, this book presents a unique overview of numerical and programming techniques, including object-oriented programming, elementary and advanced topics in numerical analysis, physical system modelling, scientific graphics, software engineering and performance issues. Compact, transparent code in all three programming languages is applied to the fundamental equations of quantum mechanics, electromagnetics, mechanics and statistical mechanics. Uncommented versions of the code that can be immediately modified and adapted are provided online for the more involved programs. This compact, practical text is an invaluable introduction for students in all undergraduate- and graduate-level courses in the physical sciences or engineering that require numerical modelling, and also a key reference for instructors and scientific programmers.




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




A Short Course in Computational Geometry and Topology


Book Description

This monograph presents a short course in computational geometry and topology. In the first part the book covers Voronoi diagrams and Delaunay triangulations, then it presents the theory of alpha complexes which play a crucial role in biology. The central part of the book is the homology theory and their computation, including the theory of persistence which is indispensable for applications, e.g. shape reconstruction. The target audience comprises researchers and practitioners in mathematics, biology, neuroscience and computer science, but the book may also be beneficial to graduate students of these fields.




A Primer on Scientific Programming with Python


Book Description

The book serves as a first introduction to computer programming of scientific applications, using the high-level Python language. The exposition is example and problem-oriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology and finance. The book teaches "Matlab-style" and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and numerical one-variable calculus in parallel with reading this book. Besides learning how to program computers, the reader will also learn how to solve mathematical problems, arising in various branches of science and engineering, with the aid of numerical methods and programming. By blending programming, mathematics and scientific applications, the book lays a solid foundation for practicing computational science. From the reviews: Langtangen ... does an excellent job of introducing programming as a set of skills in problem solving. He guides the reader into thinking properly about producing program logic and data structures for modeling real-world problems using objects and functions and embracing the object-oriented paradigm. ... Summing Up: Highly recommended. F. H. Wild III, Choice, Vol. 47 (8), April 2010 Those of us who have learned scientific programming in Python ‘on the streets’ could be a little jealous of students who have the opportunity to take a course out of Langtangen’s Primer.” John D. Cook, The Mathematical Association of America, September 2011 This book goes through Python in particular, and programming in general, via tasks that scientists will likely perform. It contains valuable information for students new to scientific computing and would be the perfect bridge between an introduction to programming and an advanced course on numerical methods or computational science. Alex Small, IEEE, CiSE Vol. 14 (2), March /April 2012 “This fourth edition is a wonderful, inclusive textbook that covers pretty much everything one needs to know to go from zero to fairly sophisticated scientific programming in Python...” Joan Horvath, Computing Reviews, March 2015




A First Course in Numerical Methods


Book Description

Offers students a practical knowledge of modern techniques in scientific computing.




Elements of Scientific Computing


Book Description

Science used to be experiments and theory, now it is experiments, theory and computations. The computational approach to understanding nature and technology is currently flowering in many fields such as physics, geophysics, astrophysics, chemistry, biology, and most engineering disciplines. This book is a gentle introduction to such computational methods where the techniques are explained through examples. It is our goal to teach principles and ideas that carry over from field to field. You will learn basic methods and how to implement them. In order to gain the most from this text, you will need prior knowledge of calculus, basic linear algebra and elementary programming.




Insight Through Computing


Book Description

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




Computational Science and Engineering


Book Description

Encompasses the full range of computational science and engineering from modelling to solution, both analytical and numerical. It develops a framework for the equations and numerical methods of applied mathematics. Gilbert Strang has taught this material to thousands of engineers and scientists (and many more on MIT's OpenCourseWare 18.085-6). His experience is seen in his clear explanations, wide range of examples, and teaching method. The book is solution-based and not formula-based: it integrates analysis and algorithms and MATLAB codes to explain each topic as effectively as possible. The topics include applied linear algebra and fast solvers, differential equations with finite differences and finite elements, Fourier analysis and optimization. This book also serves as a reference for the whole community of computational scientists and engineers. Supporting resources, including MATLAB codes, problem solutions and video lectures from Gilbert Strang's 18.085 courses at MIT, are provided at math.mit.edu/cse.




Python Scripting for Computational Science


Book Description

Scripting with Python makes you productive and increases the reliability of your scientific work. Here, the author teaches you how to develop tailored, flexible, and efficient working environments built from small programs (scripts) written in Python. The focus is on examples and applications of relevance to computational science: gluing existing applications and tools, e.g. for automating simulation, data analysis, and visualization; steering simulations and computational experiments; equipping programs with graphical user interfaces; making computational Web services; creating interactive interfaces with a Maple/Matlab-like syntax to numerical applications in C/C++ or Fortran; and building flexible object-oriented programming interfaces to existing C/C++ or Fortran libraries.