New insight in many scientific and engineering fields is unthinkable without the use of numerical simulations running efficiently on modern computers. The faster we get new results, the bigger and accurate are the problems that we can solve. It is the combination of mathematical ideas plus efficient programming that drives the progress in many disciplines. Future champions in the area thus will have to be qualified in their application domain, they will need a profound understanding of some mathematical ideas, and they need the skills to deliver fast code.

The present textbook targets students which have programming skills already and do not shy away from mathematics, though they might be educated in computer science or an application domain. It introduces the basic concepts and ideas behind applied mathematics and parallel programming that we need to write numerical simulations for today’s multicore workstations. Our intention is not to dive into one particular applicationdomain or to introduce a new programming language – we lay the generic foundations for future courses and projects in the area.

The text is written in an accessible style which is easy to digest for students without years and years of mathematics education. It values clarity and intuition over formalism, and uses a simple N-body simulation setup to illustrate basic ideas that are of relevance in various different subdomains of scientific computing. Its primary goal is to make theoretical and paradigmatic ideas accessible to undergraduate students and to bring the fascination of the field across.

Les mer
1. The Pillars of Science.- 2. Moore Myths.- 3. Our Model Problem.- 4. Floating Point Numbers.- 5. A Simplistic Machine Model.- 6. Round-off Error Propagation.- 7. SIMD Vector Crunching.- 8. Arithmetic Stability of an Implementation.- 9. Vectorisation of the Model Problem.- 10. Conditioning and Well-posedness.- 11. Taylor Expansion.- 12. Ordinary Differential Equations.- 13. Accuracy and Appropriateness of Numerical Schemes.- 14. Writing Parallel Codes.- 15. Upscaling Methods.- 16. OpenMP Primer.- 17. Shared Memory Tasking.- 18. GPGPUs with OpenMP.- 19. Higher Order Methods.- 20. Adaptive Time Stepping.
Les mer

It is the combination of mathematical ideas and efficient programs that drives the progress in many scientific disciplines: The faster results can be generated on a computer, the bigger and the more accurate are the challenges that can be solved.

This textbook targets students who have programming skills and do not shy away from mathematics, though they might be educated in computer science or an application domain and have no primary interest in the maths. The book is for students who want to see some simulations up and running. It introduces the basic concepts and ideas behind applied mathematics and parallel programming that are needed to write numerical simulations for today’s multicore workstations. The intention is not to dive into one particular application domain or to introduce a new programming language; rather it is to lay the generic foundations for future studies and projects in this field. 

Topics and features:

  • Fits into many degrees where students have already been exposed to programming languages
  • Pairs an introduction to mathematical concepts with an introduction to parallel programming
  • Emphasises the paradigms and ideas behind code parallelisation, so students can later on transfer their knowledge and skills
  • Illustrates fundamental numerical concepts, preparing students for more formal textbooks

The easily digestible text prioritises clarity and intuition over formalism, illustrating basic ideas that are of relevance in various subdomains of scientific computing. Its primary goal is to make theoretical and paradigmatic ideas accessible and even fascinating to undergraduate students.

Tobias Weinzierl is professor in the Department of Computer Science at Durham University, Durham, UK. He has worked at the Munich Centre for Advanced Computing (see the Springer edited book, Advanced Computing) before, and holds a PhD and habilitation from the Technical University Munich.

Les mer
Fits into many computer science degrees where students have already been exposed to programming languages Highly accessible, sacrificing mathematical formalism in exchange for trial-and-error and bringing the fundamental ideas across Offers reduced domain-specific jargon, instead introducing fundamental concepts of applied mathematics/numerics and focusing on the large picture approach needed for any application domain later explored Pairs an introduction to mathematical concepts with an introduction to parallel programming Emphasises (avoiding a code orientation) the paradigms and ideas behind parallelisation, so students can later on transfer their knowledge and skills to new technologies
Les mer
GPSR Compliance The European Union's (EU) General Product Safety Regulation (GPSR) is a set of rules that requires consumer products to be safe and our obligations to ensure this. If you have any concerns about our products you can contact us on ProductSafety@springernature.com. In case Publisher is established outside the EU, the EU authorized representative is: Springer Nature Customer Service Center GmbH Europaplatz 3 69115 Heidelberg, Germany ProductSafety@springernature.com
Les mer

Produktdetaljer

ISBN
9783030761936
Publisert
2022-02-10
Utgiver
Vendor
Springer Nature Switzerland AG
Høyde
235 mm
Bredde
155 mm
Aldersnivå
Upper undergraduate, P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet

Forfatter

Biographical note

Tobias Weinzierl is Professor in the Department of Computer Science at Durham University, Durham, UK. He has served at the Munich Centre for Advanced Computing (see the Springer edited book, Advanced Computing) before, and holds a PhD and habilitation from the Technical University Munich.