
Introduction to Modern Scientific Programming and Numerical Methods
- 474 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Introduction to Modern Scientific Programming and Numerical Methods
About this book
The ability to use computers to solve mathematical relationships is a fundamental skill for anyone planning for a career in science or engineering. For this reason, numerical analysis is part of the core curriculum for just about every undergraduate physics and engineering department. But for most physics and engineering students, practical programming is a self-taught process.
This book introduces the reader not only to the mathematical foundation but also to the programming paradigms encountered in modern hybrid software-hardware scientific computing. After completing the text, the reader will be well-versed in the use of different numerical techniques, programming languages, and hardware architectures, and will be able to select the appropriate software and hardware tool for their analysis.
It can serve as a textbook for undergraduate courses on numerical analysis and scientific computing courses within engineering and physical sciences departments. It will also be a valuable guidebook for researchers with experimental backgrounds interested in working with numerical simulations, or to any new personnel working in scientific computing or data analysis.
Key Features:
- Includes examples of solving numerical problems in multiple programming languages, including MATLAB, Python, Fortran, C++, Arduino, Javascript, and Verilog
- Provides an introduction to modern high-performance computing technologies including multithreading, distributed computing, GPUs, microcontrollers, FPGAs, and web "cloud computing"
- Contains an overview of numerical techniques not found in other introductory texts including particle methods, finite volume and finite element methods, Vlasov solvers, and molecular dynamics
A video of the author discussing the book can be accessed here: https://www.youtube.com/watch?v=KYn8aDKXlcs
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Table of contents
- Cover Page
- Half-Title Page
- Title Page
- Copyright Page
- Dedication Page
- Contents
- Preface
- Author Bios
- Chapter 1 Scientific Computing Basics
- Chapter 2 Finite Difference and Linear Algebra
- Chapter 3 Numerical Analysis
- Chapter 4 Introduction to C++
- Chapter 5 Kinetic Methods
- Chapter 6 Eulerian Methods
- Chapter 7 Interactive Applications
- Chapter 8 Software Engineering
- Chapter 9 High-Performance Computing
- Chapter 10 Optimization and Machine Learning
- Chapter 11 Embedded Systems
- Appendix A: Fortran 77 Syntax
- References
- Index