Computational science is a rapidly growing multidisciplinary field concerned with the design, implementation, and use of mathematical models to analyze and solve real-world problems. It is an area of science that spans many disciplines and which involves the development of models and allows the use of computers to perform simulations or numerical analysis to understand problems that are computational and theoretical. Computational Science and its Applications provides an opportunity for readers to develop abilities to pose and solve problems that combine insights from one or more disciplines from the natural sciences with mathematical tools and computational skills. This requires a unique combination of applied and theoretical knowledge and skills. The topics covered in this edited book are applications of wavelet and fractals, modeling by partial differential equations on flat structure as well as on graphs and networks, computational linguistics, prediction of natural calamities and diseases like epilepsy seizure, heart attack, stroke, biometrics, modeling through inverse problems, interdisciplinary topics of physics, mathematics, and medical science, and modeling of terrorist attacks and human behavior. The focus of this book is not to educate computer specialists, but to provide readers with a solid understanding of basic science as well as an integrated knowledge on how to use essential methods from computational science. Features: Modeling of complex systems Cognitive computing systems for real-world problems Presentation of inverse problems in medical science and their numerical solutions Challenging research problems in many areas of computational science This book could be used as a reference book for researchers working in theoretical research as well as those who are doing modeling and simulation in such disciplines as physics, biology, geoscience, and mathematics, and those who have a background in computational science.
This book is concentrated on the synergy between computer science and numerical analysis. It is written to provide a firm understanding of the described approaches to computer scientists, engineers or other experts who have to solve real problems. The meshless solution approach is described in more detail, with a description of the required algorithms and the methods that are needed for the design of an efficient computer program. Most of the details are demonstrated on solutions of practical problems, from basic to more complicated ones. This book will be a useful tool for any reader interested in solving complex problems in real computational domains.
A complete guide for Python programmers to master scientific computing using Python APIs and tools About This Book The basics of scientific computing to advanced concepts involving parallel and large scale computation are all covered. Most of the Python APIs and tools used in scientific computing are discussed in detail The concepts are discussed with suitable example programs Who This Book Is For If you are a Python programmer and want to get your hands on scientific computing, this book is for you. The book expects you to have had exposure to various concepts of Python programming. What You Will Learn Fundamentals and components of scientific computing Scientific computing data management Performing numerical computing using NumPy and SciPy Concepts and programming for symbolic computing using SymPy Using the plotting library matplotlib for data visualization Data analysis and visualization using Pandas, matplotlib, and IPython Performing parallel and high performance computing Real-life case studies and best practices of scientific computing In Detail In today's world, along with theoretical and experimental work, scientific computing has become an important part of scientific disciplines. Numerical calculations, simulations and computer modeling in this day and age form the vast majority of both experimental and theoretical papers. In the scientific method, replication and reproducibility are two important contributing factors. A complete and concrete scientific result should be reproducible and replicable. Python is suitable for scientific computing. A large community of users, plenty of help and documentation, a large collection of scientific libraries and environments, great performance, and good support makes Python a great choice for scientific computing. At present Python is among the top choices for developing scientific workflow and the book targets existing Python developers to master this domain using Python. The main things to learn in the book are the concept of scientific workflow, managing scientific workflow data and performing computation on this data using Python. The book discusses NumPy, SciPy, SymPy, matplotlib, Pandas and IPython with several example programs. Style and approach This book follows a hands-on approach to explain the complex concepts related to scientific computing. It details various APIs using appropriate examples.
Scientific computing has often been called the third approach to scientific discovery, emerging as a peer to experimentation and theory. Historically, the synergy between experimentation and theory has been well understood: experiments give insight into possible theories, theories inspire experiments, experiments reinforce or invalidate theories, and so on. As scientific computing has evolved to produce results that meet or exceed the quality of experimental and theoretical results, it has become indispensable.Parallel processing has been an enabling technology in scientific computing for more than 20 years. This book is the first in-depth discussion of parallel computing in 10 years; it reflects the mix of topics that mathematicians, computer scientists, and computational scientists focus on to make parallel processing effective for scientific problems. Presently, the impact of parallel processing on scientific computing varies greatly across disciplines, but it plays a vital role in most problem domains and is absolutely essential in many of them. Parallel Processing for Scientific Computing is divided into four parts: The first concerns performance modeling, analysis, and optimization; the second focuses on parallel algorithms and software for an array of problems common to many modeling and simulation applications; the third emphasizes tools and environments that can ease and enhance the process of application development; and the fourth provides a sampling of applications that require parallel computing for scaling to solve larger and realistic models that can advance science and engineering. This edited volume serves as an up-to-date reference for researchers and application developers on the state of the art in scientific computing. It also serves as an excellent overview and introduction, especially for graduate and senior-level undergraduate students interested in computational modeling and simulation and related computer science and applied mathematics aspects.Contents List of Figures; List of Tables; Preface; Chapter 1: Frontiers of Scientific Computing: An Overview; Part I: Performance Modeling, Analysis and Optimization. Chapter 2: Performance Analysis: From Art to Science; Chapter 3: Approaches to Architecture-Aware Parallel Scientific Computation; Chapter 4: Achieving High Performance on the BlueGene/L Supercomputer; Chapter 5: Performance Evaluation and Modeling of Ultra-Scale Systems; Part II: Parallel Algorithms and Enabling Technologies. Chapter 6: Partitioning and Load Balancing; Chapter 7: Combinatorial Parallel and Scientific Computing; Chapter 8: Parallel Adaptive Mesh Refinement; Chapter 9: Parallel Sparse Solvers, Preconditioners, and Their Applications; Chapter 10: A Survey of Parallelization Techniques for Multigrid Solvers; Chapter 11: Fault Tolerance in Large-Scale Scientific Computing; Part III: Tools and Frameworks for Parallel Applications. Chapter 12: Parallel Tools and Environments: A Survey; Chapter 13: Parallel Linear Algebra Software; Chapter 14: High-Performance Component Software Systems; Chapter 15: Integrating Component-Based Scientific Computing Software; Part IV: Applications of Parallel Computing. Chapter 16: Parallel Algorithms for PDE-Constrained Optimization; Chapter 17: Massively Parallel Mixed-Integer Programming; Chapter 18: Parallel Methods and Software for Multicomponent Simulations; Chapter 19: Parallel Computational Biology; Chapter 20: Opportunities and Challenges for Parallel Computing in Science and Engineering; Index.
Combinatorial Scientific Computing explores the latest research on creating algorithms and software tools to solve key combinatorial problems on large-scale high-performance computing architectures. It includes contributions from international researchers who are pioneers in designing software and applications for high-performance computing systems
This easy-to-read textbook/reference presents an essential guide to object-oriented C++ programming for scientific computing. With a practical focus on learning by example, the theory is supported by numerous exercises. Features: provides a specific focus on the application of C++ to scientific computing, including parallel computing using MPI; stresses the importance of a clear programming style to minimize the introduction of errors into code; presents a practical introduction to procedural programming in C++, covering variables, flow of control, input and output, pointers, functions, and reference variables; exhibits the efficacy of classes, highlighting the main features of object-orientation; examines more advanced C++ features, such as templates and exceptions; supplies useful tips and examples throughout the text, together with chapter-ending exercises, and code available to download from Springer.
Summary: This work combines selected papers from a July 2008 workshop held in Cetraro, Italy, with invited papers by international contributors. Material is in sections on algorithms and scheduling, architectures, GRID technologies, cloud technologies, information processing and applications, and HPC and GRID infrastructures for e-science. B&w maps, images, and screenshots are used to illustrate topics such as nondeterministic coordination using S-Net, cloud computing for on-demand grid resource provisioning, grid computing for financial applications, and the evolution of research and education networks and their essential role in modern science. There is no subject index. The book's readership includes computer scientists, IT engineers, and managers interested in the future development of grids, clouds, and large-scale computing. Gentzsch is affiliated with the DEISA Project and Open Grid Forum, Germany.
Parallel Scientific Computing and Optimization introduces new developments in the construction, analysis, and implementation of parallel computing algorithms. This book presents 23 self-contained chapters, including survey chapters and surveys, written by distinguished researchers in the field of parallel computing. Each chapter is devoted to some aspects of the subject: parallel algorithms for matrix computations, parallel optimization, management of parallel programming models and data, with the largest focus on parallel scientific computing in industrial applications. This volume is intended for scientists and graduate students specializing in computer science and applied mathematics who are engaged in parallel scientific computing.
The two volume set LNCS 7133 and LNCS 7134 constitutes the thoroughly refereed post-conference proceedings of the 10th International Conference on Applied Parallel and Scientific Computing, PARA 2010, held in Reykjavík, Iceland, in June 2010. These volumes contain three keynote lectures, 29 revised papers and 45 minisymposia presentations arranged on the following topics: cloud computing, HPC algorithms, HPC programming tools, HPC in meteorology, parallel numerical algorithms, parallel computing in physics, scientific computing tools, HPC software engineering, simulations of atomic scale systems, tools and environments for accelerator based computational biomedicine, GPU computing, high performance computing interval methods, real-time access and processing of large data sets, linear algebra algorithms and software for multicore and hybrid architectures in honor of Fred Gustavson on his 75th birthday, memory and multicore issues in scientific computing - theory and praxis, multicore algorithms and implementations for application problems, fast PDE solvers and a posteriori error estimates, and scalable tools for high performance computing.