Modern Software Tools for Scientific Computing

Modern Software Tools for Scientific Computing

Author: A. Bruaset

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 387

ISBN-13: 1461219868

DOWNLOAD EBOOK

Looking back at the years that have passed since the realization of the very first electronic, multi-purpose computers, one observes a tremendous growth in hardware and software performance. Today, researchers and engi neers have access to computing power and software that can solve numerical problems which are not fully understood in terms of existing mathemati cal theory. Thus, computational sciences must in many respects be viewed as experimental disciplines. As a consequence, there is a demand for high quality, flexible software that allows, and even encourages, experimentation with alternative numerical strategies and mathematical models. Extensibil ity is then a key issue; the software must provide an efficient environment for incorporation of new methods and models that will be required in fu ture problem scenarios. The development of such kind of flexible software is a challenging and expensive task. One way to achieve these goals is to in vest much work in the design and implementation of generic software tools which can be used in a wide range of application fields. In order to provide a forum where researchers could present and discuss their contributions to the described development, an International Work shop on Modern Software Tools for Scientific Computing was arranged in Oslo, Norway, September 16-18, 1996. This workshop, informally referred to as Sci Tools '96, was a collaboration between SINTEF Applied Mathe matics and the Departments of Informatics and Mathematics at the Uni versity of Oslo.


Advances in Software Tools for Scientific Computing

Advances in Software Tools for Scientific Computing

Author: Hans P. Langtangen

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 362

ISBN-13: 3642571727

DOWNLOAD EBOOK

To make full use of the ever increasing hardware capabilities of modern com puters, it is necessary to speedily enhance the performance and reliability of the software as well, and often without having a suitable mathematical theory readily available. In the handling of more and more complex real-life numerical problems in all sorts of applications, a modern object-oriented de sign and implementation of software tools has become a crucial component. The considerable challenges posed by the demand for efficient object-oriented software in all areas of scientific computing make it necessary to exchange ideas and experiences from as many different sources as possible. Motivated by the success of the first meeting of this kind in Norway in 1996, we decided to organize another International Workshop on Modern Software Tools for Scientific Computing, often referred to as SciTools'98. This workshop took place in Oslo, Norway, September 14-16, 1998. The ob jective was again to provide an open forum for exchange and discussion of modern, state-of-the-art software techniques applied to challenging numerical problems. The organization was undertaken jointly by the research institute SINTEF Applied Mathematics, the Departments of Mathematics and Infor matics at the University of Oslo, and the company Numerical Objects AS.


Modern Softwaretools For Scientific Computing

Modern Softwaretools For Scientific Computing

Author: Erlend Arge

Publisher:

Published: 2004-01-01

Total Pages: 392

ISBN-13: 9788179921654

DOWNLOAD EBOOK

This book surveys some recent advances in the development of software tools for scientific computing. Presented here are 17 carefully selected and referred chapters originally presented at the SciTools Workshop in Oslo, Norway. The chapters emphasize the design of large software codes, computational efficiency, object-oriented programming in scientific computing.


Modern Software Tools for Scientific Computing

Modern Software Tools for Scientific Computing

Author: Erlend Arge

Publisher:

Published: 1997-01-01

Total Pages: 380

ISBN-13: 9783764339746

DOWNLOAD EBOOK

Surveys some recent advances in 17 selected and refereed papers from an international workshop held in Oslo, Norway in September 1996. In general they cover computational differential equations, computational geometry, and software development. Among the specific topics are object-oriented solvers for initial value problems, the efficient implementation of multilevel adaptive methods, object-oriented scattered data modelling with Siscat, and automating the debugging of large numerical codes. Annotation copyrighted by Book News, Inc., Portland, OR


Introduction to the Tools of Scientific Computing

Introduction to the Tools of Scientific Computing

Author: Einar Smith

Publisher: Springer Nature

Published: 2020-12-02

Total Pages: 344

ISBN-13: 3030608085

DOWNLOAD EBOOK

The book provides an introduction to common programming tools and methods in numerical mathematics and scientific computing. Unlike widely used standard approaches, it does not focus on any particular language but aims to explain the key underlying concepts. In general, new concepts are first introduced in the particularly user-friendly Python language and then transferred and expanded in various scientific programming environments from C / C ++, Julia and MATLAB to Maple. This includes different approaches to distributed computing. The fact that different languages are studied and compared also makes the book useful for mathematicians and practitioners trying to decide which programming language to use for which purposes.


The Architecture of Scientific Software

The Architecture of Scientific Software

Author: Ronald F. Boisvert

Publisher: Springer

Published: 2013-04-17

Total Pages: 369

ISBN-13: 0387354077

DOWNLOAD EBOOK

Scientific applications involve very large computations that strain the resources of whatever computers are available. Such computations implement sophisticated mathematics, require deep scientific knowledge, depend on subtle interplay of different approximations, and may be subject to instabilities and sensitivity to external input. Software able to succeed in this domain invariably embeds significant domain knowledge that should be tapped for future use. Unfortunately, most existing scientific software is designed in an ad hoc way, resulting in monolithic codes understood by only a few developers. Software architecture refers to the way software is structured to promote objectives such as reusability, maintainability, extensibility, and feasibility of independent implementation. Such issues have become increasingly important in the scientific domain, as software gets larger and more complex, constructed by teams of people, and evolved over decades. In the context of scientific computation, the challenge facing mathematical software practitioners is to design, develop, and supply computational components which deliver these objectives when embedded in end-user application codes. The Architecture of Scientific Software addresses emerging methodologies and tools for the rational design of scientific software, including component integration frameworks, network-based computing, formal methods of abstraction, application programmer interface design, and the role of object-oriented languages. This book comprises the proceedings of the International Federation for Information Processing (IFIP) Conference on the Architecture of Scientific Software, which was held in Ottawa, Canada, in October 2000. It will prove invaluable reading for developers of scientific software, as well as for researchers in computational sciences and engineering.


Writing Scientific Software

Writing Scientific Software

Author: Suely Oliveira

Publisher: Cambridge University Press

Published: 2006-09-07

Total Pages: 287

ISBN-13: 1139458620

DOWNLOAD EBOOK

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.


Scientific Computing with Case Studies

Scientific Computing with Case Studies

Author: Dianne P. O'Leary

Publisher: SIAM

Published: 2009-03-19

Total Pages: 376

ISBN-13: 0898716667

DOWNLOAD EBOOK

This book is a practical guide to the numerical solution of linear and nonlinear equations, differential equations, optimization problems, and eigenvalue problems. It treats standard problems and introduces important variants such as sparse systems, differential-algebraic equations, constrained optimization, Monte Carlo simulations, and parametric studies. Stability and error analysis are emphasized, and the Matlab algorithms are grounded in sound principles of software design and understanding of machine arithmetic and memory management. Nineteen case studies provide experience in mathematical modeling and algorithm design, motivated by problems in physics, engineering, epidemiology, chemistry, and biology. The topics included go well beyond the standard first-course syllabus, introducing important problems such as differential-algebraic equations and conic optimization problems, and important solution techniques such as continuation methods. The case studies cover a wide variety of fascinating applications, from modeling the spread of an epidemic to determining truss configurations.


Problems & Solutions in Scientific Computing

Problems & Solutions in Scientific Computing

Author: Willi-Hans Steeb

Publisher: World Scientific

Published: 2004

Total Pages: 436

ISBN-13: 9789812561251

DOWNLOAD EBOOK

Scientific computing is a collection of tools, techniques and theories required to develop and solve mathematical models in science and engineering on a computer. This timely book provides the various skills and techniques needed in scientific computing. The topics range in difficulty from elementary to advanced, and all the latest fields in scientific computing are covered such as matrices, numerical analysis, neural networks, genetic algorithms, etc.Presented in the format of problems and detailed solutions, important concepts and techniques are introduced and developed. Many problems include software simulations. Algorithms have detailed implementations in C++ or Java. This book will prove to be invaluable not only to students and research workers in the fields of scientific computing, but also to teachers of this subject who will find this text useful as a supplement.The topics discussed in this book are part of the e-learning and distance learning courses conducted by the International School of Scientific Computing, South Africa.


Introduction to High Performance Scientific Computing

Introduction to High Performance Scientific Computing

Author: David L. Chopp

Publisher: SIAM

Published: 2019-03-01

Total Pages: 470

ISBN-13: 1611975646

DOWNLOAD EBOOK

Based on a course developed by the author, Introduction to High Performance Scientific Computing introduces methods for adding parallelism to numerical methods for solving differential equations. It contains exercises and programming projects that facilitate learning as well as examples and discussions based on the C programming language, with additional comments for those already familiar with C++. The text provides an overview of concepts and algorithmic techniques for modern scientific computing and is divided into six self-contained parts that can be assembled in any order to create an introductory course using available computer hardware. Part I introduces the C programming language for those not already familiar with programming in a compiled language. Part II describes parallelism on shared memory architectures using OpenMP. Part III details parallelism on computer clusters using MPI for coordinating a computation. Part IV demonstrates the use of graphical programming units (GPUs) to solve problems using the CUDA language for NVIDIA graphics cards. Part V addresses programming on GPUs for non-NVIDIA graphics cards using the OpenCL framework. Finally, Part VI contains a brief discussion of numerical methods and applications, giving the reader an opportunity to test the methods on typical computing problems.